1010import pytest
1111from models_library .api_schemas_long_running_tasks .base import TaskProgress
1212from pydantic import NonNegativeInt
13+ from pytest_simcore .helpers .long_running_tasks import assert_task_is_no_longer_present
1314from servicelib .long_running_tasks import lrt_api
14- from servicelib .long_running_tasks .errors import TaskNotFoundError
15- from servicelib .long_running_tasks .manager import (
16- LongRunningManager ,
17- )
15+ from servicelib .long_running_tasks .manager import LongRunningManager
1816from servicelib .long_running_tasks .models import LRTNamespace , TaskContext
1917from servicelib .long_running_tasks .task import TaskId , TaskRegistry
2018from servicelib .rabbitmq ._client_rpc import RabbitMQRPCClient
@@ -161,22 +159,6 @@ async def _assert_list_tasks_from_all_managers(
161159 assert len (tasks ) == task_count
162160
163161
164- async def _assert_task_is_no_longer_present (
165- long_running_managers : list [LongRunningManager ],
166- task_context : TaskContext ,
167- task_id : TaskId ,
168- ) -> None :
169- manager = _get_long_running_manager (long_running_managers )
170- async for attempt in AsyncRetrying (** _RETRY_PARAMS ):
171- with attempt : # noqa: SIM117
172- with pytest .raises (TaskNotFoundError ): # noqa: PT012
173- # use internals to detirmine when it's no longer here
174- await manager ._tasks_manager ._get_tracked_task ( # noqa: SLF001
175- task_id , task_context
176- )
177- raise TryAgain
178-
179-
180162_TASK_CONTEXT : Final [list [TaskContext | None ]] = [{"a" : "context" }, None ]
181163_IS_UNIQUE : Final [list [bool ]] = [False , True ]
182164_TASK_COUNT : Final [list [int ]] = [5 ]
@@ -188,6 +170,7 @@ async def _assert_task_is_no_longer_present(
188170@pytest .mark .parametrize ("to_return" , [{"key" : "value" }])
189171async def test_workflow_with_result (
190172 disable_stale_tasks_monitor : None ,
173+ fast_long_running_tasks_cancellation : None ,
191174 long_running_managers : list [LongRunningManager ],
192175 rabbitmq_rpc_client : RabbitMQRPCClient ,
193176 task_count : int ,
@@ -235,8 +218,8 @@ async def test_workflow_with_result(
235218 )
236219 assert result == to_return
237220
238- await _assert_task_is_no_longer_present (
239- long_running_managers , saved_context , task_id
221+ await assert_task_is_no_longer_present (
222+ _get_long_running_manager ( long_running_managers ), task_id , saved_context
240223 )
241224
242225
@@ -245,6 +228,7 @@ async def test_workflow_with_result(
245228@pytest .mark .parametrize ("is_unique" , _IS_UNIQUE )
246229async def test_workflow_raises_error (
247230 disable_stale_tasks_monitor : None ,
231+ fast_long_running_tasks_cancellation : None ,
248232 long_running_managers : list [LongRunningManager ],
249233 rabbitmq_rpc_client : RabbitMQRPCClient ,
250234 task_count : int ,
@@ -290,15 +274,16 @@ async def test_workflow_raises_error(
290274 task_id ,
291275 )
292276
293- await _assert_task_is_no_longer_present (
294- long_running_managers , saved_context , task_id
277+ await assert_task_is_no_longer_present (
278+ _get_long_running_manager ( long_running_managers ), task_id , saved_context
295279 )
296280
297281
298282@pytest .mark .parametrize ("task_context" , _TASK_CONTEXT )
299283@pytest .mark .parametrize ("is_unique" , _IS_UNIQUE )
300284async def test_remove_task (
301285 disable_stale_tasks_monitor : None ,
286+ fast_long_running_tasks_cancellation : None ,
302287 long_running_managers : list [LongRunningManager ],
303288 rabbitmq_rpc_client : RabbitMQRPCClient ,
304289 is_unique : bool ,
@@ -326,6 +311,6 @@ async def test_remove_task(
326311 task_id ,
327312 )
328313
329- await _assert_task_is_no_longer_present (
330- long_running_managers , saved_context , task_id
314+ await assert_task_is_no_longer_present (
315+ _get_long_running_manager ( long_running_managers ), task_id , saved_context
331316 )
0 commit comments