async def test_services_execute_args(story, async_mock): handler = async_mock(return_value='output') Services.register_internal('my_service', 'my_command', {'arg1': {'type': 'string'}}, 'any', handler) assert Services.is_internal('my_service', 'my_command') is True line = { Line.service: 'my_service', Line.command: 'my_command', Line.method: 'execute', 'args': [ { '$OBJECT': 'argument', 'name': 'arg1', 'argument': { '$OBJECT': 'string', 'string': 'Hello world!' } } ] } assert await Services.execute(story, line) == 'output' handler.mock.assert_called_with(story=story, line=line, resolved_args={'arg1': 'Hello world!'})
async def test_services_execute_execute_internal(story, async_mock): handler = async_mock(return_value='output') Services.register_internal('my_service', 'my_command', {}, 'any', handler) assert Services.is_internal('my_service', 'my_command') is True line = { Line.service: 'my_service', Line.command: 'my_command', Line.method: 'execute' } assert await Services.execute(story, line) == 'output'
def test_services_log_registry(logger): Services.init(logger) Services.register_internal('my_service', 'my_command', {}, 'any', None) Services.log_internal() logger.log_raw.assert_called_with( 'info', 'Discovered internal service my_service - [\'my_command\']')