4
4
from datetime import datetime
5
5
6
6
from app .types import DecodedValidToken
7
- from handlers .websockets_access_guardian import WebSocketsAccessGuardian
7
+ from handlers .session_expiration_checker import SessionExpirationChecker
8
8
from storage .storage_updaters import StorageUserSubscriber , StorageWebSocketRegister
9
9
10
10
pytestmark = [
@@ -18,19 +18,19 @@ def mock_broadcast(mocker):
18
18
19
19
20
20
@pytest .fixture
21
- def get_guardian_enough_time_to_do_its_job ():
21
+ def give_expiration_checker_enough_time ():
22
22
return lambda : asyncio .sleep (0.4 )
23
23
24
24
25
25
@pytest .fixture
26
- def guardian (storage ):
27
- return WebSocketsAccessGuardian (storage = storage , check_interval = 0.1 )
26
+ def expiration_checker (storage ):
27
+ return SessionExpirationChecker (storage = storage , check_interval = 0.1 )
28
28
29
29
30
30
@pytest .fixture (autouse = True )
31
- async def guardian_as_task ( guardian ):
31
+ async def expiration_checker_as_task ( expiration_checker ):
32
32
stop_signal = asyncio .get_event_loop ().create_future ()
33
- runner_task = asyncio .create_task (guardian .run (stop_signal ))
33
+ runner_task = asyncio .create_task (expiration_checker .run (stop_signal ))
34
34
35
35
yield runner_task
36
36
@@ -49,24 +49,24 @@ def ws_subscribed(ws, storage, event):
49
49
return ws
50
50
51
51
52
- def test_guardian_monitor_and_manage_access_remove_expired_websockets ( guardian , storage , ws_subscribed ):
53
- guardian .monitor_and_manage_access ()
52
+ def test_expiration_checker_monitor_and_manage_access_remove_expired_websockets ( expiration_checker , storage , ws_subscribed ):
53
+ expiration_checker .monitor_and_manage_access ()
54
54
55
55
registered_websockets = storage .get_registered_websockets ()
56
56
assert registered_websockets == []
57
57
58
58
59
- async def test_remove_expired_websockets_from_storage (get_guardian_enough_time_to_do_its_job , storage , mock_broadcast , ws_subscribed , mocker ):
60
- await get_guardian_enough_time_to_do_its_job ()
59
+ async def test_remove_expired_websockets_from_storage (give_expiration_checker_enough_time , storage , mock_broadcast , ws_subscribed , mocker ):
60
+ await give_expiration_checker_enough_time ()
61
61
62
62
registered_websockets = storage .get_registered_websockets ()
63
63
assert registered_websockets == []
64
64
assert ws_subscribed .closed is False , "Do not close connection when token expired, just remove from storage"
65
65
mock_broadcast .assert_called_once_with (websockets = [ws_subscribed ], message = mocker .ANY )
66
66
67
67
68
- async def test_broadcasted_message ( get_guardian_enough_time_to_do_its_job , mock_broadcast ):
69
- await get_guardian_enough_time_to_do_its_job ()
68
+ async def test_expiration_checker_broadcasted_message ( give_expiration_checker_enough_time , mock_broadcast ):
69
+ await give_expiration_checker_enough_time ()
70
70
71
71
broadcasted_message_as_json = json .loads (mock_broadcast .call_args .kwargs ["message" ])
72
72
assert len (broadcasted_message_as_json ) == 2
@@ -75,8 +75,8 @@ async def test_broadcasted_message(get_guardian_enough_time_to_do_its_job, mock_
75
75
76
76
77
77
@pytest .mark .freeze_time ("2023-01-01 12:22:55Z" , tick = True ) # 5 seconds before expiration
78
- async def test_do_not_remove_not_expired_connections ( get_guardian_enough_time_to_do_its_job , storage , ws_subscribed , mock_broadcast ):
79
- await get_guardian_enough_time_to_do_its_job ()
78
+ async def test_expiration_checker_not_remove_active_connections ( give_expiration_checker_enough_time , storage , ws_subscribed , mock_broadcast ):
79
+ await give_expiration_checker_enough_time ()
80
80
81
81
registered_websockets = storage .get_registered_websockets ()
82
82
assert registered_websockets == [ws_subscribed ]
0 commit comments