test: migrate restore archived workflow run tests to testcontainers (#34083)

This commit is contained in:
YBoy 2026-03-25 14:31:53 +02:00 committed by GitHub
parent 59639ca9b2
commit b7b9b003c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 27 additions and 38 deletions

View File

@ -2,17 +2,43 @@
Testcontainers integration tests for workflow run restore functionality. Testcontainers integration tests for workflow run restore functionality.
""" """
from __future__ import annotations
from datetime import datetime
from uuid import uuid4 from uuid import uuid4
from sqlalchemy import select 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 from services.retention.workflow_run.restore_archived_workflow_run import WorkflowRunRestore
class TestWorkflowRunRestore: class TestWorkflowRunRestore:
"""Tests for the WorkflowRunRestore class.""" """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): def test_restore_table_records_returns_rowcount(self, db_session_with_containers):
"""Restore should return inserted rowcount.""" """Restore should return inserted rowcount."""
restore = WorkflowRunRestore() restore = WorkflowRunRestore()

View File

@ -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"