77
88import distributed
99import pytest
10- from dask_task_models_library .models import TASK_LIFE_CYCLE_EVENT
10+ from dask_task_models_library .models import TASK_LIFE_CYCLE_EVENT , TaskLifeCycleState
11+ from models_library .projects_state import RunningState
1112
1213pytest_simcore_core_services_selection = [
1314 "rabbit" ,
@@ -28,18 +29,20 @@ def _some_failing_task() -> None:
2829 assert future .result (timeout = 10 ) == 2
2930
3031 events = dask_client .get_events (TASK_LIFE_CYCLE_EVENT .format (key = future .key ))
31- print ("XXXX received events:" )
32- assert events
3332 assert isinstance (events , tuple )
34- for event in events :
35- print (f"\t { event } " )
33+ parsed_events = [TaskLifeCycleState .model_validate (event [1 ]) for event in events ]
34+ assert parsed_events [0 ].state is RunningState .PENDING
35+ assert RunningState .STARTED in {event .state for event in parsed_events }
36+ assert RunningState .FAILED not in {event .state for event in parsed_events }
37+ assert parsed_events [- 1 ].state is RunningState .SUCCESS
3638
3739 future = dask_client .submit (_some_failing_task )
3840 with pytest .raises (RuntimeError ):
3941 future .result (timeout = 10 )
4042 events = dask_client .get_events (TASK_LIFE_CYCLE_EVENT .format (key = future .key ))
41- print ("XXXX received events:" )
42- assert events
43- assert isinstance (events , tuple )
44- for event in events :
45- print (f"\t { event } " )
43+ parsed_events = [TaskLifeCycleState .model_validate (event [1 ]) for event in events ]
44+ assert parsed_events [0 ].state is RunningState .PENDING
45+ assert RunningState .STARTED in {event .state for event in parsed_events }
46+ assert RunningState .FAILED in {event .state for event in parsed_events }
47+ assert RunningState .SUCCESS not in {event .state for event in parsed_events }
48+ assert parsed_events [- 1 ].state is RunningState .FAILED
0 commit comments