2
2
import json
3
3
import time
4
4
import uuid
5
- from typing import Any , Callable , Dict , MutableMapping , Optional , Tuple , cast
5
+ from typing import Any , Callable , Dict , MutableMapping , Optional , cast
6
6
7
7
import aioredis
8
8
import pytest
18
18
19
19
def create_app (
20
20
handler : _Handler ,
21
- redis : aioredis .commands . Redis ,
21
+ redis : aioredis .Redis ,
22
22
max_age : Optional [int ] = None ,
23
23
key_factory : Callable [[], str ] = lambda : uuid .uuid4 ().hex
24
24
) -> web .Application :
@@ -31,7 +31,7 @@ def create_app(
31
31
32
32
async def make_cookie (
33
33
client : TestClient ,
34
- redis : aioredis .commands . Redis ,
34
+ redis : aioredis .Redis ,
35
35
data : Dict [Any , Any ]
36
36
) -> None :
37
37
session_data = {
@@ -49,7 +49,7 @@ async def make_cookie(
49
49
50
50
async def make_cookie_with_bad_value (
51
51
client : TestClient ,
52
- redis : aioredis .commands . Redis
52
+ redis : aioredis .Redis
53
53
) -> None :
54
54
key = uuid .uuid4 ().hex
55
55
await redis .set ('AIOHTTP_SESSION_' + key , '' )
@@ -61,7 +61,7 @@ async def make_cookie_with_bad_value(
61
61
62
62
async def load_cookie (
63
63
client : TestClient ,
64
- redis : aioredis .commands . Redis
64
+ redis : aioredis .Redis
65
65
) -> Any :
66
66
cookies = client .session .cookie_jar .filter_cookies (client .make_url ('/' ))
67
67
key = cookies ['AIOHTTP_SESSION' ]
@@ -73,7 +73,7 @@ async def load_cookie(
73
73
74
74
async def test_create_new_session (
75
75
aiohttp_client : AiohttpClient ,
76
- redis : aioredis .commands . Redis
76
+ redis : aioredis .Redis
77
77
) -> None :
78
78
79
79
async def handler (request : web .Request ) -> web .StreamResponse :
@@ -91,7 +91,7 @@ async def handler(request: web.Request) -> web.StreamResponse:
91
91
92
92
async def test_load_existing_session (
93
93
aiohttp_client : AiohttpClient ,
94
- redis : aioredis .commands . Redis
94
+ redis : aioredis .Redis
95
95
) -> None :
96
96
97
97
async def handler (request : web .Request ) -> web .StreamResponse :
@@ -110,7 +110,7 @@ async def handler(request: web.Request) -> web.StreamResponse:
110
110
111
111
async def test_load_bad_session (
112
112
aiohttp_client : AiohttpClient ,
113
- redis : aioredis .commands . Redis
113
+ redis : aioredis .Redis
114
114
) -> None :
115
115
116
116
async def handler (request : web .Request ) -> web .StreamResponse :
@@ -129,7 +129,7 @@ async def handler(request: web.Request) -> web.StreamResponse:
129
129
130
130
async def test_change_session (
131
131
aiohttp_client : AiohttpClient ,
132
- redis : aioredis .commands . Redis
132
+ redis : aioredis .Redis
133
133
) -> None :
134
134
135
135
async def handler (request : web .Request ) -> web .StreamResponse :
@@ -158,7 +158,7 @@ async def handler(request: web.Request) -> web.StreamResponse:
158
158
159
159
async def test_clear_cookie_on_session_invalidation (
160
160
aiohttp_client : AiohttpClient ,
161
- redis : aioredis .commands . Redis
161
+ redis : aioredis .Redis
162
162
) -> None :
163
163
164
164
async def handler (request : web .Request ) -> web .StreamResponse :
@@ -181,7 +181,7 @@ async def handler(request: web.Request) -> web.StreamResponse:
181
181
182
182
async def test_create_cookie_in_handler (
183
183
aiohttp_client : AiohttpClient ,
184
- redis : aioredis .commands . Redis
184
+ redis : aioredis .Redis
185
185
) -> None :
186
186
187
187
async def handler (request : web .Request ) -> web .StreamResponse :
@@ -210,7 +210,7 @@ async def handler(request: web.Request) -> web.StreamResponse:
210
210
211
211
async def test_set_ttl_on_session_saving (
212
212
aiohttp_client : AiohttpClient ,
213
- redis : aioredis .commands . Redis
213
+ redis : aioredis .Redis
214
214
) -> None :
215
215
216
216
async def handler (request : web .Request ) -> web .StreamResponse :
@@ -232,7 +232,7 @@ async def handler(request: web.Request) -> web.StreamResponse:
232
232
233
233
async def test_set_ttl_manually_set (
234
234
aiohttp_client : AiohttpClient ,
235
- redis : aioredis .commands . Redis
235
+ redis : aioredis .Redis
236
236
) -> None :
237
237
238
238
async def handler (request : web .Request ) -> web .StreamResponse :
@@ -255,7 +255,7 @@ async def handler(request: web.Request) -> web.StreamResponse:
255
255
256
256
async def test_create_new_session_if_key_doesnt_exists_in_redis (
257
257
aiohttp_client : AiohttpClient ,
258
- redis : aioredis .commands . Redis
258
+ redis : aioredis .Redis
259
259
) -> None :
260
260
261
261
async def handler (request : web .Request ) -> web .StreamResponse :
@@ -274,7 +274,7 @@ async def handler(request: web.Request) -> web.StreamResponse:
274
274
275
275
async def test_create_storage_with_custom_key_factory (
276
276
aiohttp_client : AiohttpClient ,
277
- redis : aioredis .commands . Redis
277
+ redis : aioredis .Redis
278
278
) -> None :
279
279
280
280
async def handler (request : web .Request ) -> web .StreamResponse :
@@ -299,7 +299,7 @@ def key_factory() -> str:
299
299
300
300
async def test_redis_session_fixation (
301
301
aiohttp_client : AiohttpClient ,
302
- redis : aioredis .commands . Redis
302
+ redis : aioredis .Redis
303
303
) -> None :
304
304
305
305
async def login (request : web .Request ) -> web .StreamResponse :
@@ -328,14 +328,12 @@ async def logout(request: web.Request) -> web.StreamResponse:
328
328
assert resp .cookies ['AIOHTTP_SESSION' ].value != evil_cookie
329
329
330
330
331
- async def test_redis_from_create_pool (
332
- redis_params : Dict [str , Tuple [str , int ]]
333
- ) -> None :
331
+ async def test_redis_from_create_pool (redis_url : str ) -> None :
334
332
335
333
async def handler (request : web .Request ) -> web .StreamResponse :
336
334
pass
337
335
338
- redis = await aioredis .create_redis ( ** redis_params )
336
+ redis = aioredis .from_url ( redis_url ) # type: ignore[no-untyped-call]
339
337
create_app (handler = handler , redis = redis )
340
338
341
339
@@ -345,7 +343,7 @@ async def handler(request: web.Request) -> web.StreamResponse:
345
343
pass
346
344
347
345
with pytest .raises (TypeError ):
348
- create_app (handler = handler , redis = None )
346
+ create_app (handler = handler , redis = None ) # type: ignore[arg-type]
349
347
350
348
351
349
async def test_no_aioredis_installed (mocker : MockFixture ) -> None :
@@ -355,7 +353,7 @@ async def handler(request: web.Request) -> web.StreamResponse:
355
353
356
354
mocker .patch ('aiohttp_session.redis_storage.aioredis' , None )
357
355
with pytest .raises (RuntimeError ):
358
- create_app (handler = handler , redis = None )
356
+ create_app (handler = handler , redis = None ) # type: ignore[arg-type]
359
357
360
358
361
359
async def test_old_aioredis_version (mocker : MockFixture ) -> None :
@@ -369,12 +367,12 @@ def __init__(self, *args: object, **kwargs: object) -> None:
369
367
370
368
mocker .patch ('aiohttp_session.redis_storage.StrictVersion' , Dummy )
371
369
with pytest .raises (RuntimeError ):
372
- create_app (handler = handler , redis = None )
370
+ create_app (handler = handler , redis = None ) # type: ignore[arg-type]
373
371
374
372
375
373
async def test_load_session_dont_load_expired_session (
376
374
aiohttp_client : AiohttpClient ,
377
- redis : aioredis .commands . Redis
375
+ redis : aioredis .Redis
378
376
) -> None :
379
377
380
378
async def handler (request : web .Request ) -> web .StreamResponse :
0 commit comments