Skip to content

Commit e499f68

Browse files
fix: make scheduled trigger test self-contained
- Remove dependency on permanent_workflow_for_triggers fixture - Create and clean up our own temporary workflow and version - Same pattern as pause/resume test to avoid 'workflow or version not found' errors - Fixes test_create_update_scheduled_trigger failure
1 parent b7efbc9 commit e499f68

File tree

1 file changed

+35
-9
lines changed

1 file changed

+35
-9
lines changed

tests/tests_integration/test_api/test_workflows.py

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -633,17 +633,35 @@ def test_trigger_cancel_retry_workflow(
633633

634634

635635
class 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

Comments
 (0)