from unittest.mock import AsyncMock, patch, ANY from pytest import fixture, mark from scouter.workflow.scouter import Scouter from scouter.activities.activities import Activities @fixture def scouter(): return Scouter() @mark.asyncio @patch('scouter.workflow.scouter.workflow', new_callable=AsyncMock) async def test_scouter_workflow(mock_workflow, scouter): mock_workflow.execute_activity_method.return_value = 'test_data' await scouter.run( input_data={ 'topic': 'test_topic' } ) mock_workflow.execute_activity_method.assert_called_once_with( Activities.load_from_kafka, { 'topic': 'test_topic' }, retry_policy=ANY, start_to_close_timeout=ANY ) mock_workflow.execute_child_workflow.assert_called_once_with( 'core_scouter', { 'topic': 'test_topic', 'data': 'test_data' } )