Skip to content

Commit c93a8a7

Browse files
committed
rename isessionservice to isessionstrategy
1 parent e34bc00 commit c93a8a7

File tree

8 files changed

+30
-30
lines changed

8 files changed

+30
-30
lines changed

ellar/auth/session/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
import typing as t
22

33
from .cookie_dict import SessionCookieObject
4-
from .interface import ISessionService
4+
from .interface import ISessionStrategy
55
from .options import SessionCookieOption
66

77
__all__ = [
88
"SessionCookieObject",
99
"SessionCookieOption",
10-
"ISessionService",
10+
"ISessionStrategy",
1111
"SessionServiceNullStrategy",
1212
]
1313

1414

15-
class SessionServiceNullStrategy(ISessionService):
15+
class SessionServiceNullStrategy(ISessionStrategy):
1616
"""
1717
A Null implementation ISessionService. This is used as a placeholder for ISSessionService when there is no
1818
ISSessionService implementation registered.

ellar/auth/session/interface.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from .options import SessionCookieOption
66

77

8-
class ISessionService(ABC):
8+
class ISessionStrategy(ABC):
99
@property
1010
@abstractmethod
1111
def session_cookie_options(self) -> SessionCookieOption:

ellar/auth/session/strategy.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
from ellar.di import injectable
1717

1818
from .cookie_dict import SessionCookieObject
19-
from .interface import ISessionService
19+
from .interface import ISessionStrategy
2020
from .options import SessionCookieOption
2121

2222

2323
@injectable
24-
class SessionClientStrategy(ISessionService):
24+
class SessionClientStrategy(ISessionStrategy):
2525
def __init__(self, config: Config) -> None:
2626
self._signer = itsdangerous.TimestampSigner(str(config.SECRET_KEY))
2727
self.config = config

ellar/core/core_services.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import typing as t
22

33
from ellar.auth import AppIdentitySchemes, IIdentitySchemes
4-
from ellar.auth.session import ISessionService, SessionServiceNullStrategy
4+
from ellar.auth.session import ISessionStrategy, SessionServiceNullStrategy
55
from ellar.common import (
66
IExceptionMiddlewareService,
77
IExecutionContextFactory,
@@ -58,5 +58,5 @@ def register_core_services(self) -> None:
5858
self.injector.container.register_singleton(IGuardsConsumer, GuardConsumer)
5959
self.injector.container.register_singleton(IIdentitySchemes, AppIdentitySchemes)
6060
self.injector.container.register_singleton(
61-
ISessionService, SessionServiceNullStrategy
61+
ISessionStrategy, SessionServiceNullStrategy
6262
)

ellar/core/middleware/sessions.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22
from starlette.requests import HTTPConnection
33
from starlette.types import ASGIApp, Message, Receive, Scope, Send
44

5-
from ellar.auth.session import ISessionService, SessionServiceNullStrategy
5+
from ellar.auth.session import ISessionStrategy, SessionServiceNullStrategy
66
from ellar.core.conf import Config
77

88

99
class SessionMiddleware:
1010
def __init__(
11-
self, app: ASGIApp, session_service: ISessionService, config: Config
11+
self, app: ASGIApp, session_strategy: ISessionStrategy, config: Config
1212
) -> None:
1313
config.setdefault("SESSION_DISABLED", False)
1414
self.app = app
15-
self._session_service = session_service
16-
self._is_active = not isinstance(session_service, SessionServiceNullStrategy)
15+
self._session_strategy = session_strategy
16+
self._is_active = not isinstance(session_strategy, SessionServiceNullStrategy)
1717
self._is_disabled = config.SESSION_DISABLED
1818

1919
async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
@@ -26,13 +26,13 @@ async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
2626
return
2727

2828
connection = HTTPConnection(scope)
29-
session_service_config = self._session_service.session_cookie_options
29+
session_service_config = self._session_strategy.session_cookie_options
3030

3131
if session_service_config.NAME in connection.cookies:
3232
data = connection.cookies[session_service_config.NAME]
33-
scope["session"] = self._session_service.deserialize_session(data)
33+
scope["session"] = self._session_strategy.deserialize_session(data)
3434
else:
35-
scope["session"] = self._session_service.deserialize_session(None)
35+
scope["session"] = self._session_strategy.deserialize_session(None)
3636

3737
async def _send_wrapper(message: Message) -> None:
3838
if message["type"] == "http.response.start":
@@ -41,13 +41,13 @@ async def _send_wrapper(message: Message) -> None:
4141
headers = MutableHeaders(scope=message)
4242
headers.append(
4343
"Set-Cookie",
44-
self._session_service.serialize_session(scope["session"]),
44+
self._session_strategy.serialize_session(scope["session"]),
4545
)
4646
else:
4747
# The session has been cleared.
4848
headers = MutableHeaders(scope=message)
4949
headers.append(
50-
"Set-Cookie", self._session_service.serialize_session("null")
50+
"Set-Cookie", self._session_strategy.serialize_session("null")
5151
)
5252

5353
await send(message)

tests/test_auth/test_session/test_session_basic.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import pytest
22

3-
from ellar.auth.session import ISessionService, SessionServiceNullStrategy
3+
from ellar.auth.session import ISessionStrategy, SessionServiceNullStrategy
44
from ellar.auth.session.strategy import SessionClientStrategy
55
from ellar.common import Req, get
66
from ellar.testing import Test
@@ -16,7 +16,7 @@ def homepage(req=Req()):
1616

1717

1818
def test_session_object_raise_an_exception():
19-
session_service = tm.get(ISessionService)
19+
session_service = tm.get(ISessionStrategy)
2020
assert isinstance(session_service, SessionServiceNullStrategy)
2121

2222
with pytest.raises(AssertionError):
@@ -26,9 +26,9 @@ def test_session_object_raise_an_exception():
2626

2727
def test_session_object_raise_an_exception_case_2():
2828
tm_case_2 = Test.create_test_module(config_module=dict(SESSION_DISABLED=True))
29-
tm_case_2.override_provider(ISessionService, use_class=SessionClientStrategy)
29+
tm_case_2.override_provider(ISessionStrategy, use_class=SessionClientStrategy)
3030
tm_case_2.create_application().router.append(homepage)
31-
session_service = tm_case_2.get(ISessionService)
31+
session_service = tm_case_2.get(ISessionStrategy)
3232
assert isinstance(session_service, SessionClientStrategy)
3333

3434
with pytest.raises(AssertionError):

tests/test_auth/test_session/test_session_client_strategy.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from starlette.routing import Mount
44

5-
from ellar.auth.session import ISessionService
5+
from ellar.auth.session import ISessionStrategy
66
from ellar.auth.session.strategy import SessionClientStrategy
77
from ellar.common import Controller, delete, get, post
88
from ellar.core import Request
@@ -32,7 +32,7 @@ def test_session():
3232
test_module = Test.create_test_module(
3333
controllers=[SessionSampleController], config_module=dict(SECRET_KEY="secret")
3434
)
35-
test_module.override_provider(ISessionService, use_class=SessionClientStrategy)
35+
test_module.override_provider(ISessionStrategy, use_class=SessionClientStrategy)
3636
client = test_module.get_test_client()
3737

3838
response = client.get("/")
@@ -62,7 +62,7 @@ def test_session_expires():
6262
controllers=[SessionSampleController],
6363
config_module=dict(SECRET_KEY="secret", SESSION_COOKIE_MAX_AGE=-1),
6464
)
65-
test_module.override_provider(ISessionService, use_class=SessionClientStrategy)
65+
test_module.override_provider(ISessionStrategy, use_class=SessionClientStrategy)
6666
client = test_module.get_test_client()
6767

6868
response = client.post("/", json={"some": "data"})
@@ -84,7 +84,7 @@ def test_secure_session():
8484
controllers=[SessionSampleController],
8585
config_module=dict(SECRET_KEY="secret", SESSION_COOKIE_SECURE=True),
8686
)
87-
test_module.override_provider(ISessionService, use_class=SessionClientStrategy)
87+
test_module.override_provider(ISessionStrategy, use_class=SessionClientStrategy)
8888
secure_client = test_module.get_test_client(base_url="https://testserver")
8989
unsecure_client = test_module.get_test_client(base_url="http://testserver")
9090

@@ -124,7 +124,7 @@ def test_session_cookie_sub_path():
124124
],
125125
config_module=dict(SECRET_KEY="secret", SESSION_COOKIE_PATH="/second_app"),
126126
)
127-
test_module.override_provider(ISessionService, use_class=SessionClientStrategy)
127+
test_module.override_provider(ISessionStrategy, use_class=SessionClientStrategy)
128128

129129
client_second_app = test_module.get_test_client(
130130
base_url="http://testserver/second_app"
@@ -156,7 +156,7 @@ def test_invalid_session_cookie():
156156
test_module = Test.create_test_module(
157157
controllers=[SessionSampleController], config_module=dict(SECRET_KEY="secret")
158158
)
159-
test_module.override_provider(ISessionService, use_class=SessionClientStrategy)
159+
test_module.override_provider(ISessionStrategy, use_class=SessionClientStrategy)
160160
client = test_module.get_test_client()
161161

162162
response = client.post("/", json={"some": "data"})
@@ -173,7 +173,7 @@ def test_session_cookie():
173173
controllers=[SessionSampleController],
174174
config_module=dict(SECRET_KEY="secret", SESSION_COOKIE_MAX_AGE=None),
175175
)
176-
test_module.override_provider(ISessionService, use_class=SessionClientStrategy)
176+
test_module.override_provider(ISessionStrategy, use_class=SessionClientStrategy)
177177
client = test_module.get_test_client()
178178

179179
response = client.post("/", json={"some": "data"})

tests/test_routing/test_route_endpoint_params.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from starlette.responses import Response as StarletteResponse
66
from starlette.websockets import WebSocket as StarletteWebSocket
77

8-
from ellar.auth.session import ISessionService
8+
from ellar.auth.session import ISessionStrategy
99
from ellar.auth.session.strategy import SessionClientStrategy
1010
from ellar.common import (
1111
Context,
@@ -80,7 +80,7 @@ async def get_websockets(websocket: StarletteWebSocket, ws=Ws()):
8080
config_module=dict(
8181
SECRET_KEY=SECRET_KEY,
8282
),
83-
).override_provider(ISessionService, use_class=SessionClientStrategy)
83+
).override_provider(ISessionStrategy, use_class=SessionClientStrategy)
8484
client = tm.get_test_client()
8585

8686

0 commit comments

Comments
 (0)