@@ -210,6 +210,7 @@ async def test_listing_task_uuids_contains_submitted_task(
210210
211211async def test_filtering_listing_tasks (
212212 celery_task_manager : CeleryTaskManager ,
213+ with_celery_worker : WorkController ,
213214):
214215 class MyFilter (TaskFilter ):
215216 user_id : int
@@ -218,39 +219,46 @@ class MyFilter(TaskFilter):
218219
219220 user_id = 42
220221 expected_task_uuids : set [TaskUUID ] = set ()
222+ all_tasks : list [tuple [TaskUUID , MyFilter ]] = []
223+
224+ try :
225+ for _ in range (5 ):
226+ task_filter = MyFilter (
227+ user_id = user_id ,
228+ product_name = _faker .word (),
229+ client_app = _faker .word (),
230+ )
231+ task_uuid = await celery_task_manager .submit_task (
232+ TaskMetadata (
233+ name = dreamer_task .__name__ ,
234+ ),
235+ task_filter = task_filter ,
236+ )
237+ expected_task_uuids .add (task_uuid )
238+ all_tasks .append ((task_uuid , task_filter ))
239+
240+ for _ in range (3 ):
241+ task_filter = MyFilter (
242+ user_id = _faker .pyint (min_value = 100 , max_value = 200 ),
243+ product_name = _faker .word (),
244+ client_app = _faker .word (),
245+ )
246+ task_uuid = await celery_task_manager .submit_task (
247+ TaskMetadata (
248+ name = dreamer_task .__name__ ,
249+ ),
250+ task_filter = task_filter ,
251+ )
252+ all_tasks .append ((task_uuid , task_filter ))
221253
222- for _ in range (5 ):
223- task_filter = MyFilter (
254+ search_filter = MyFilter (
224255 user_id = user_id ,
225- product_name = _faker .word (),
226- client_app = _faker .word (),
227- )
228- task_uuid = await celery_task_manager .submit_task (
229- TaskMetadata (
230- name = dreamer_task .__name__ ,
231- ),
232- task_filter = task_filter ,
256+ product_name = Wildcard (),
257+ client_app = Wildcard (),
233258 )
234- expected_task_uuids .add (task_uuid )
235-
236- for _ in range (3 ):
237- task_filter = MyFilter (
238- user_id = _faker .pyint (min_value = 100 , max_value = 200 ),
239- product_name = _faker .word (),
240- client_app = _faker .word (),
241- )
242- await celery_task_manager .submit_task (
243- TaskMetadata (
244- name = dreamer_task .__name__ ,
245- ),
246- task_filter = task_filter ,
247- )
248-
249- search_filter = MyFilter (
250- user_id = user_id ,
251- product_name = Wildcard (),
252- client_app = Wildcard (),
253- )
254- tasks = await celery_task_manager .list_tasks (search_filter )
255- assert expected_task_uuids == {task .uuid for task in tasks }
256- await asyncio .sleep (5 * 60 )
259+ tasks = await celery_task_manager .list_tasks (search_filter )
260+ assert expected_task_uuids == {task .uuid for task in tasks }
261+ finally :
262+ # clean up all tasks. this should ideally be done in the fixture
263+ for task_uuid , task_filter in all_tasks :
264+ await celery_task_manager .cancel_task (task_filter , task_uuid )
0 commit comments