@@ -633,17 +633,35 @@ def test_trigger_cancel_retry_workflow(
633633
634634
635635class TestWorkflowTriggers :
636- def test_create_update_scheduled_trigger (
637- self ,
638- cognite_client : CogniteClient ,
639- permanent_workflow_for_triggers : WorkflowVersion ,
640- ) -> None :
641- version = permanent_workflow_for_triggers
636+ def test_create_update_scheduled_trigger (self , cognite_client : CogniteClient ) -> None :
637+ # Create a temporary workflow for this test
638+ workflow_external_id = f"integration_test-scheduled_trigger_workflow-{ int (time .time ())} "
639+ workflow = WorkflowUpsert (external_id = workflow_external_id )
640+ created_workflow = cognite_client .workflows .upsert (workflow )
641+
642+ # Create a workflow version with definition
643+ version = WorkflowVersionUpsert (
644+ workflow_external_id = created_workflow .external_id ,
645+ version = "1" ,
646+ workflow_definition = WorkflowDefinitionUpsert (
647+ tasks = [
648+ WorkflowTask (
649+ external_id = f"{ created_workflow .external_id } -task1" ,
650+ parameters = CDFTaskParameters (
651+ resource_path = "/timeseries" ,
652+ method = "GET" ,
653+ ),
654+ ),
655+ ],
656+ ),
657+ )
658+ cognite_client .workflows .versions .upsert (version )
659+
642660 existing = WorkflowTriggerUpsert (
643661 external_id = f"test_create_update_scheduled_trigger_{ random_string (5 )} " ,
644662 trigger_rule = WorkflowScheduledTriggerRule (cron_expression = "* * * * *" ),
645- workflow_external_id = version . workflow_external_id ,
646- workflow_version = version . version ,
663+ workflow_external_id = created_workflow . external_id ,
664+ workflow_version = "1" ,
647665 input = {"a" : 1 , "b" : 2 },
648666 metadata = {"test" : "integration_schedule" },
649667 )
@@ -658,8 +676,16 @@ def test_create_update_scheduled_trigger(
658676 updated = cognite_client .workflows .triggers .upsert (update )
659677 assert updated .trigger_rule .dump () == new_rule .dump ()
660678 finally :
679+ # Clean up trigger and workflow
661680 if created is not None :
662- cognite_client .workflows .triggers .delete (created .external_id )
681+ try :
682+ cognite_client .workflows .triggers .delete (created .external_id )
683+ except Exception :
684+ pass
685+ try :
686+ cognite_client .workflows .delete (workflow_external_id )
687+ except Exception :
688+ pass
663689
664690 @pytest .mark .skip ("This test is temp. disabled, flaky, awaiting a more robust long-term solution. Task: DOGE-100" )
665691 def test_create_update_delete_data_modeling_trigger (
0 commit comments