1313import pytest
1414from celery import Celery , Task
1515from celery .contrib .abortable import AbortableTask
16- from celery .contrib .testing .worker import TestWorkController
1716from celery_library .errors import TransferrableCeleryError
1817from celery_library .models import (
1918 TaskContext ,
2827from celery_library .task_manager import CeleryTaskManager
2928from celery_library .utils import get_app_server , get_task_manager
3029from common_library .errors_classes import OsparcErrorMixin
31- from fastapi import FastAPI
3230from models_library .progress_bar import ProgressReport
3331from servicelib .logging_utils import log_context
34- from simcore_service_storage .modules .celery import get_task_manager_from_app
3532from tenacity import Retrying , retry_if_exception_type , stop_after_delay , wait_fixed
3633
3734_logger = logging .getLogger (__name__ )
3835
39- pytest_simcore_core_services_selection = ["postgres" , "rabbit" ]
40- pytest_simcore_ops_services_selection = []
41-
42-
43- @pytest .fixture
44- def celery_client (
45- initialized_app : FastAPI ,
46- with_storage_celery_worker : TestWorkController ,
47- ) -> CeleryTaskManager :
48- return get_task_manager_from_app (initialized_app )
49-
5036
5137async def _fake_file_processor (
5238 celery_app : Celery , task_name : str , task_id : str , files : list [str ]
@@ -110,11 +96,11 @@ def _(celery_app: Celery) -> None:
11096
11197
11298async def test_submitting_task_calling_async_function_results_with_success_state (
113- celery_client : CeleryTaskManager ,
99+ celery_task_manager : CeleryTaskManager ,
114100):
115101 task_context = TaskContext (user_id = 42 )
116102
117- task_uuid = await celery_client .submit_task (
103+ task_uuid = await celery_task_manager .submit_task (
118104 TaskMetadata (
119105 name = fake_file_processor .__name__ ,
120106 ),
@@ -128,23 +114,23 @@ async def test_submitting_task_calling_async_function_results_with_success_state
128114 stop = stop_after_delay (30 ),
129115 ):
130116 with attempt :
131- status = await celery_client .get_task_status (task_context , task_uuid )
117+ status = await celery_task_manager .get_task_status (task_context , task_uuid )
132118 assert status .task_state == TaskState .SUCCESS
133119
134120 assert (
135- await celery_client .get_task_status (task_context , task_uuid )
121+ await celery_task_manager .get_task_status (task_context , task_uuid )
136122 ).task_state == TaskState .SUCCESS
137123 assert (
138- await celery_client .get_task_result (task_context , task_uuid )
124+ await celery_task_manager .get_task_result (task_context , task_uuid )
139125 ) == "archive.zip"
140126
141127
142128async def test_submitting_task_with_failure_results_with_error (
143- celery_client : CeleryTaskManager ,
129+ celery_task_manager : CeleryTaskManager ,
144130):
145131 task_context = TaskContext (user_id = 42 )
146132
147- task_uuid = await celery_client .submit_task (
133+ task_uuid = await celery_task_manager .submit_task (
148134 TaskMetadata (
149135 name = failure_task .__name__ ,
150136 ),
@@ -158,49 +144,53 @@ async def test_submitting_task_with_failure_results_with_error(
158144 ):
159145
160146 with attempt :
161- raw_result = await celery_client .get_task_result (task_context , task_uuid )
147+ raw_result = await celery_task_manager .get_task_result (
148+ task_context , task_uuid
149+ )
162150 assert isinstance (raw_result , TransferrableCeleryError )
163151
164- raw_result = await celery_client .get_task_result (task_context , task_uuid )
152+ raw_result = await celery_task_manager .get_task_result (task_context , task_uuid )
165153 assert f"{ raw_result } " == "Something strange happened: BOOM!"
166154
167155
168156async def test_cancelling_a_running_task_aborts_and_deletes (
169- celery_client : CeleryTaskManager ,
157+ celery_task_manager : CeleryTaskManager ,
170158):
171159 task_context = TaskContext (user_id = 42 )
172160
173- task_uuid = await celery_client .submit_task (
161+ task_uuid = await celery_task_manager .submit_task (
174162 TaskMetadata (
175163 name = dreamer_task .__name__ ,
176164 ),
177165 task_context = task_context ,
178166 )
179167
180- await celery_client .cancel_task (task_context , task_uuid )
168+ await celery_task_manager .cancel_task (task_context , task_uuid )
181169
182170 for attempt in Retrying (
183171 retry = retry_if_exception_type (AssertionError ),
184172 wait = wait_fixed (1 ),
185173 stop = stop_after_delay (30 ),
186174 ):
187175 with attempt :
188- progress = await celery_client .get_task_status (task_context , task_uuid )
176+ progress = await celery_task_manager .get_task_status (
177+ task_context , task_uuid
178+ )
189179 assert progress .task_state == TaskState .ABORTED
190180
191181 assert (
192- await celery_client .get_task_status (task_context , task_uuid )
182+ await celery_task_manager .get_task_status (task_context , task_uuid )
193183 ).task_state == TaskState .ABORTED
194184
195- assert task_uuid not in await celery_client .list_tasks (task_context )
185+ assert task_uuid not in await celery_task_manager .list_tasks (task_context )
196186
197187
198188async def test_listing_task_uuids_contains_submitted_task (
199- celery_client : CeleryTaskManager ,
189+ celery_task_manager : CeleryTaskManager ,
200190):
201191 task_context = TaskContext (user_id = 42 )
202192
203- task_uuid = await celery_client .submit_task (
193+ task_uuid = await celery_task_manager .submit_task (
204194 TaskMetadata (
205195 name = dreamer_task .__name__ ,
206196 ),
@@ -213,10 +203,10 @@ async def test_listing_task_uuids_contains_submitted_task(
213203 stop = stop_after_delay (10 ),
214204 ):
215205 with attempt :
216- tasks = await celery_client .list_tasks (task_context )
206+ tasks = await celery_task_manager .list_tasks (task_context )
217207 assert len (tasks ) == 1
218208 assert task_uuid == tasks [0 ].uuid
219209
220- tasks = await celery_client .list_tasks (task_context )
210+ tasks = await celery_task_manager .list_tasks (task_context )
221211 assert len (tasks ) == 1
222212 assert task_uuid == tasks [0 ].uuid
0 commit comments