Refactor and enhance the laborious workflow and utilities - Removed outdated test file `test_predictions_batch.py` from workflows. - Added `input_sample.json` for standardized input configuration. - Introduced `connectors_config.py` to manage database and service configurations. - Implemented a logging utility in `logger.py` for consistent logging across the application. - Created `policies.py` to define retry policies for workflows. - Developed comprehensive tests for `MLFlowRepository` in `test_model_repository.py`. - Added extensive tests for `OpcRepository` in `test_opc_repository.py`. - Updated `test_predictions_batch.py` to reflect new workflow structure and testing methodology.
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
from unittest.mock import MagicMock
|
|
from laborious.activities.base import BaseActivity
|
|
from pytest import fixture, mark
|
|
from sientia_do.notifications.models import Notification
|
|
|
|
|
|
@fixture
|
|
def base_activity():
|
|
return BaseActivity(
|
|
logger=MagicMock(),
|
|
notification_handler=MagicMock(),
|
|
)
|
|
|
|
|
|
@mark.asyncio
|
|
async def test_prepare_activity(base_activity):
|
|
base_activity.notification_handler.base_notification = Notification(
|
|
project="project",
|
|
pipeline="pipeline",
|
|
trigger="-",
|
|
model_name="-",
|
|
model_id="-",
|
|
)
|
|
|
|
await base_activity.prepare_activity({
|
|
'workflow_name': 'test_workflow',
|
|
'schedule_name': 'test_schedule',
|
|
'model_name': 'test_model',
|
|
'model_id': 'test_model_id'
|
|
})
|
|
|
|
assert base_activity.notification_handler.base_notification.schedule_name == "test_schedule"
|
|
assert base_activity.notification_handler.base_notification.model_name == "test_model"
|
|
assert base_activity.notification_handler.base_notification.model_id == "test_model_id"
|
|
assert base_activity.notification_handler.base_notification.pipeline_name == "test_workflow"
|