Files
sientia-dataops-model-manager/tests/workflows/test_cleanup_files.py
vitor-aignosi d1f9394879 feat: enhance E2E testing setup and model reporting
- Added a new fixture to manage runtime report artifacts in a writable temp directory during E2E tests, addressing permission issues in local CI/dev environments.
- Updated `conftest.py` to include a requirements.txt file in the model packaging path for training activities.
- Refactored existing fixtures to use `pytest.fixture` instead of `pytest_asyncio.fixture` for better compatibility.
- Enhanced the `Reports` class to include a target alias for report metrics, ensuring compatibility with Evidently's reporting requirements.
- Introduced new test scenarios to validate the handling of missing and whitespace-only `date_column` inputs in the training workflow.

These changes improve the robustness of the E2E testing framework and enhance the clarity of model reporting metrics.
2026-05-05 10:59:51 -03:00

31 lines
1.0 KiB
Python

"""Unit tests for the CleanupFiles workflow."""
from unittest.mock import AsyncMock, patch
import pytest
@pytest.mark.asyncio
@patch('model_manager.workflows.cleanup_files.workflow')
async def test_cleanup_files_workflow(mock_workflow_module):
"""Test the CleanupFiles workflow."""
from model_manager.runtime_paths import REPORTS_TEMP_DIR
from model_manager.workflows.cleanup_files import CleanupFiles
# Mock execute_activity_method
mock_workflow_module.execute_activity_method = AsyncMock()
# Instantiate and run the workflow
workflow_instance = CleanupFiles()
await workflow_instance.run({})
# Verify that the activities were called with the correct parameters
calls = mock_workflow_module.execute_activity_method.call_args_list
assert len(calls) == 1
# Check cleanup_temp_directories call
local_call_args = calls[0][0][1]
assert local_call_args['temp_path'] == REPORTS_TEMP_DIR
assert local_call_args['metadata']['workflow_name'] == 'cleanup_files'
assert 'pod_id' in local_call_args['metadata']