From b7b9b003c9ea12847aa8424ec2cdced0aa52af24 Mon Sep 17 00:00:00 2001 From: YBoy Date: Wed, 25 Mar 2026 14:31:53 +0200 Subject: [PATCH] test: migrate restore archived workflow run tests to testcontainers (#34083) --- .../test_restore_archived_workflow_run.py | 28 +++++++++++++- .../test_restore_archived_workflow_run.py | 37 ------------------- 2 files changed, 27 insertions(+), 38 deletions(-) delete mode 100644 api/tests/unit_tests/services/test_restore_archived_workflow_run.py diff --git a/api/tests/test_containers_integration_tests/services/test_restore_archived_workflow_run.py b/api/tests/test_containers_integration_tests/services/test_restore_archived_workflow_run.py index ba4310e22e..7036524918 100644 --- a/api/tests/test_containers_integration_tests/services/test_restore_archived_workflow_run.py +++ b/api/tests/test_containers_integration_tests/services/test_restore_archived_workflow_run.py @@ -2,17 +2,43 @@ Testcontainers integration tests for workflow run restore functionality. """ +from __future__ import annotations + +from datetime import datetime from uuid import uuid4 from sqlalchemy import select -from models.workflow import WorkflowPause +from models.workflow import WorkflowPause, WorkflowRun from services.retention.workflow_run.restore_archived_workflow_run import WorkflowRunRestore class TestWorkflowRunRestore: """Tests for the WorkflowRunRestore class.""" + def test_restore_initialization(self): + """Restore service should respect dry_run flag.""" + restore = WorkflowRunRestore(dry_run=True) + + assert restore.dry_run is True + + def test_convert_datetime_fields(self): + """ISO datetime strings should be converted to datetime objects.""" + record = { + "id": "test-id", + "created_at": "2024-01-01T12:00:00", + "finished_at": "2024-01-01T12:05:00", + "name": "test", + } + + restore = WorkflowRunRestore() + result = restore._convert_datetime_fields(record, WorkflowRun) + + assert isinstance(result["created_at"], datetime) + assert result["created_at"].year == 2024 + assert result["created_at"].month == 1 + assert result["name"] == "test" + def test_restore_table_records_returns_rowcount(self, db_session_with_containers): """Restore should return inserted rowcount.""" restore = WorkflowRunRestore() diff --git a/api/tests/unit_tests/services/test_restore_archived_workflow_run.py b/api/tests/unit_tests/services/test_restore_archived_workflow_run.py deleted file mode 100644 index a214ecf728..0000000000 --- a/api/tests/unit_tests/services/test_restore_archived_workflow_run.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -Unit tests for workflow run restore functionality. -""" - -from datetime import datetime - - -class TestWorkflowRunRestore: - """Tests for the WorkflowRunRestore class.""" - - def test_restore_initialization(self): - """Restore service should respect dry_run flag.""" - from services.retention.workflow_run.restore_archived_workflow_run import WorkflowRunRestore - - restore = WorkflowRunRestore(dry_run=True) - - assert restore.dry_run is True - - def test_convert_datetime_fields(self): - """ISO datetime strings should be converted to datetime objects.""" - from models.workflow import WorkflowRun - from services.retention.workflow_run.restore_archived_workflow_run import WorkflowRunRestore - - record = { - "id": "test-id", - "created_at": "2024-01-01T12:00:00", - "finished_at": "2024-01-01T12:05:00", - "name": "test", - } - - restore = WorkflowRunRestore() - result = restore._convert_datetime_fields(record, WorkflowRun) - - assert isinstance(result["created_at"], datetime) - assert result["created_at"].year == 2024 - assert result["created_at"].month == 1 - assert result["name"] == "test"