@@ -41,17 +41,20 @@ async def _contained_client(
4141 ],
4242 lock_name : str ,
4343 task_duration : float ,
44+ faker : Faker ,
4445) -> None :
4546 async with get_redis_client_sdk (RedisDatabase .RESOURCES ) as redis_client_sdk :
4647 assert not await _is_locked (redis_client_sdk , lock_name )
4748
4849 @exclusive (redis_client_sdk , lock_key = lock_name )
49- async def _some_task () -> None :
50+ async def _some_task (some_int : int , * , some_str : str ) -> None :
5051 assert await _is_locked (redis_client_sdk , lock_name )
52+ assert some_int
53+ assert some_str is not None
5154 await asyncio .sleep (task_duration )
5255 assert await _is_locked (redis_client_sdk , lock_name )
5356
54- await _some_task ()
57+ await _some_task (faker . random_int (), some_str = faker . pystr () )
5558
5659 assert not await _is_locked (redis_client_sdk , lock_name )
5760
@@ -63,20 +66,24 @@ async def test_exclusive_sequentially(
6366 ],
6467 lock_name : str ,
6568 task_duration : float ,
69+ faker : Faker ,
6670):
67- await _contained_client (get_redis_client_sdk , lock_name , task_duration )
71+ await _contained_client (get_redis_client_sdk , lock_name , task_duration , faker )
6872
6973
7074async def test_exclusive_parallel_lock_is_released_and_reacquired (
7175 get_redis_client_sdk : Callable [
7276 [RedisDatabase ], AbstractAsyncContextManager [RedisClientSDK ]
7377 ],
7478 lock_name : str ,
79+ faker : Faker ,
7580):
7681 parallel_tasks = 10
7782 results = await logged_gather (
7883 * [
79- _contained_client (get_redis_client_sdk , lock_name , task_duration = 0.1 )
84+ _contained_client (
85+ get_redis_client_sdk , lock_name , task_duration = 0.1 , faker = faker
86+ )
8087 for _ in range (parallel_tasks )
8188 ],
8289 reraise = False
0 commit comments