@@ -27,6 +27,8 @@ async def client_store_interface(
2727 client = ClientStoreInterface (redis_service , long_running_namespace )
2828 await client .setup ()
2929
30+ await client .redis_sdk .redis .flushdb ()
31+
3032 yield client
3133
3234 await client .teardown ()
@@ -45,7 +47,7 @@ async def test_get_set_delete(
4547):
4648 assert await client_store_interface .get (unique_id ) is None
4749
48- await client_store_interface .set (unique_id , schedule_model , timeout = job_timeout )
50+ await client_store_interface .set (unique_id , schedule_model , expire = job_timeout )
4951 assert await client_store_interface .get (unique_id ) == schedule_model
5052
5153 await client_store_interface .remove (unique_id )
@@ -62,7 +64,7 @@ async def test_auto_save_get(
6264 schedule_model : ScheduleModel ,
6365 job_timeout : timedelta ,
6466):
65- await client_store_interface .set (unique_id , schedule_model , timeout = job_timeout )
67+ await client_store_interface .set (unique_id , schedule_model , expire = job_timeout )
6668
6769 assert await client_store_interface .get (unique_id ) == schedule_model
6870 async with client_store_interface .auto_save_get (unique_id ) as auto_saved :
@@ -71,26 +73,45 @@ async def test_auto_save_get(
7173 assert await client_store_interface .get (unique_id ) == auto_saved
7274
7375
74- async def test_expired_key (
76+ async def test_key_does_not_expire (
7577 client_store_interface : ClientStoreInterface ,
7678 unique_id : JobUniqueId ,
7779 schedule_model : ScheduleModel ,
7880 job_timeout : timedelta ,
7981):
80- await client_store_interface .set (unique_id , schedule_model , timeout = job_timeout )
82+ # check key does not expire
83+ await client_store_interface .set (unique_id , schedule_model , expire = None )
84+ assert await client_store_interface .get (unique_id ) is not None
85+ assert await client_store_interface .get_existing (unique_id )
86+
87+ # wait a bit and key shoult still be there
88+ await asyncio .sleep (job_timeout .total_seconds ())
89+
90+ assert await client_store_interface .get (unique_id ) is not None
91+ assert await client_store_interface .get_existing (unique_id )
8192
93+
94+ async def test_key_actually_expires (
95+ client_store_interface : ClientStoreInterface ,
96+ unique_id : JobUniqueId ,
97+ schedule_model : ScheduleModel ,
98+ job_timeout : timedelta ,
99+ ):
100+ await client_store_interface .set (unique_id , schedule_model , expire = job_timeout )
82101 assert await client_store_interface .get (unique_id ) is not None
83102 assert await client_store_interface .get_existing (unique_id )
84103
104+ # check that key actially expires
85105 await asyncio .sleep (job_timeout .total_seconds ())
86106
87107 assert await client_store_interface .get (unique_id ) is None
88108 with pytest .raises (UnexpectedJobNotFoundError ):
89109 await client_store_interface .get_existing (unique_id )
90110
91111
92- async def test_update_timeout_not_existing (
93- client_store_interface : ClientStoreInterface ,
94- job_timeout : timedelta ,
112+ async def test_update_entry_expiry_not_existing (
113+ client_store_interface : ClientStoreInterface , job_timeout : timedelta
95114):
96- await client_store_interface .update_timeout ("missing" , timeout = job_timeout )
115+ await client_store_interface .update_entry_expiry (
116+ "missing_asdads" , expire = job_timeout
117+ )
0 commit comments