@@ -51,25 +51,45 @@ def workflow_simint_routine(cognite_client: CogniteClient) -> str:
5151 return ensure_workflow_simint_routine (cognite_client )
5252
5353
54+ @pytest .fixture (scope = "session" )
55+ def permanent_wf_ext_id_prefix (os_and_py_version : str ) -> str :
56+ return f"integ_test_wf_trigger_{ os_and_py_version } "
57+
58+
59+ @pytest .fixture (scope = "session" )
60+ def permanent_wf_ext_id (permanent_wf_ext_id_prefix : str , sdk_version : tuple [str , str , str ]) -> str :
61+ return f"{ permanent_wf_ext_id_prefix } _{ sdk_version [0 ]} "
62+
63+
5464@pytest .fixture (autouse = True , scope = "module" )
55- def wf_setup_module (cognite_client : CogniteClient ) -> None :
65+ def wf_setup_module (cognite_client : CogniteClient , permanent_wf_ext_id_prefix : str ) -> None :
5666 """setup any state specific to the execution of the given module."""
5767 resource_age = timestamp_to_ms ("30m-ago" )
5868
5969 wf_triggers = cognite_client .workflows .triggers .list (limit = None )
60- wf_triggers_to_delete = [wf .external_id for wf in wf_triggers if wf .last_updated_time < resource_age ]
70+ wf_triggers_to_delete = [
71+ wft .external_id
72+ for wft in wf_triggers
73+ if wft .last_updated_time < resource_age and not wft .workflow_external_id .startswith (permanent_wf_ext_id_prefix )
74+ ]
6175 if wf_triggers_to_delete :
6276 cognite_client .workflows .triggers .delete (wf_triggers_to_delete )
6377
6478 wf_versions = cognite_client .workflows .versions .list (limit = None )
6579 wf_versions_to_delete = [
66- (wf .workflow_external_id , wf .version ) for wf in wf_versions if wf .last_updated_time < resource_age
80+ (wf .workflow_external_id , wf .version )
81+ for wf in wf_versions
82+ if wf .last_updated_time < resource_age and not wf .workflow_external_id .startswith (permanent_wf_ext_id_prefix )
6783 ]
6884 if wf_versions_to_delete :
6985 cognite_client .workflows .versions .delete (wf_versions_to_delete )
7086
7187 wfs = cognite_client .workflows .list (limit = None )
72- wfs_to_delete = [wf .external_id for wf in wfs if wf .last_updated_time < resource_age ]
88+ wfs_to_delete = [
89+ wf .external_id
90+ for wf in wfs
91+ if wf .last_updated_time < resource_age and not wf .external_id .startswith (permanent_wf_ext_id_prefix )
92+ ]
7393 if wfs_to_delete :
7494 cognite_client .workflows .delete (wfs_to_delete )
7595
@@ -325,10 +345,8 @@ def workflow_execution_list_test_scoped(
325345
326346
327347@pytest .fixture (scope = "session" )
328- def permanent_workflow_for_triggers (cognite_client : CogniteClient ):
329- workflow = WorkflowUpsert (
330- external_id = "integration_test-workflow_for_triggers" ,
331- )
348+ def permanent_workflow_for_triggers (cognite_client : CogniteClient , permanent_wf_ext_id : str ):
349+ workflow = WorkflowUpsert (external_id = permanent_wf_ext_id )
332350 cognite_client .workflows .upsert (workflow )
333351 version = WorkflowVersionUpsert (
334352 workflow_external_id = workflow .external_id ,
@@ -365,9 +383,8 @@ def permanent_scheduled_trigger(
365383 cognite_client : CogniteClient , permanent_workflow_for_triggers : WorkflowVersion
366384) -> Iterator [WorkflowTrigger ]:
367385 version = permanent_workflow_for_triggers
368- every_minute_expression = "* * * * *"
369-
370- on_the_minute = _create_scheduled_trigger (version , every_minute_expression )
386+ every_15min = "*/15 * * * *"
387+ on_the_minute = _create_scheduled_trigger (version , every_15min )
371388
372389 yield cognite_client .workflows .triggers .upsert (on_the_minute )
373390
@@ -680,9 +697,12 @@ def test_create_update_delete_data_modeling_trigger(
680697 self ,
681698 cognite_client : CogniteClient ,
682699 permanent_data_modeling_trigger : WorkflowTrigger ,
700+ permanent_wf_ext_id_prefix : str ,
683701 ) -> None :
684702 assert permanent_data_modeling_trigger is not None
685- assert permanent_data_modeling_trigger .external_id .startswith ("data-modeling-trigger_integration_test-workflow" )
703+ assert permanent_data_modeling_trigger .external_id .startswith (
704+ f"data-modeling-trigger_{ permanent_wf_ext_id_prefix } "
705+ )
686706 actual = permanent_data_modeling_trigger .trigger_rule
687707 expected = WorkflowDataModelingTriggerRule (
688708 data_modeling_query = WorkflowTriggerDataModelingQuery (
@@ -697,7 +717,7 @@ def test_create_update_delete_data_modeling_trigger(
697717 batch_timeout = 300 ,
698718 )
699719 assert actual .dump () == expected .dump ()
700- assert permanent_data_modeling_trigger .workflow_external_id .startswith ("integration_test-workflow_" )
720+ assert permanent_data_modeling_trigger .workflow_external_id .startswith (permanent_wf_ext_id_prefix )
701721 assert permanent_data_modeling_trigger .workflow_version == "v1"
702722 assert permanent_data_modeling_trigger .created_time is not None
703723 assert permanent_data_modeling_trigger .last_updated_time is not None
0 commit comments