import json import unittest.mock from slz_meta_manager import handler @unittest.mock.patch('boto3.client') def test_handler(mocked_client, test_config): mocks = { 'stepfunctions': unittest.mock.Mock(), 'rds': unittest.mock.Mock(), 'secretsmanager': unittest.mock.Mock(), } mocked_client.side_effect = lambda res: mocks[res] opt_cfg = {"RDS_SECRET_KEY": "test/key"} event = { 'UoWID': 'amazonmusicunlimited-20191216-theorchard-activity-v1', 'unit_of_work_id': 123, 'ContentName': 'content-name', 'Context': 'context', 'CompressedPath': 'path', 'DecompressedPaths': 'path1,path2', 'OptionalConfig': opt_cfg } payload = {'messageId': 'sqs-message-id', 'body': json.dumps(event)} handler({}, unittest.mock.Mock(), test_config, payload, unittest.mock.Mock(), opt_cfg) mocks['stepfunctions'].start_execution.assert_called_once()