import unittest from unittest.mock import patch, Mock import marshmallow_dataclass from tests.utils import response_token_object, load_fixture from um_events_processor import lambda_handler from um_events_processor.schemas import Event get_access_token_mock = response_token_object() class LambdaHandlerTest(unittest.TestCase): def setUp(self): self.event = load_fixture("fixtures/event_fixture.json") @patch("um_events_processor.services.AtlasApiService.get_access_token", get_access_token_mock) @patch("um_events_processor.services.DecibelApiService.event_processing") def test_lambda_handler(self, mocked_event_processing): event_request_schema = marshmallow_dataclass.class_schema(Event)(many=False) data = event_request_schema.load(self.event) context_mock = Mock() context_mock.aws_request_id.return_value = "123456789" lambda_handler(event=self.event, context=context_mock) get_access_token_mock.assert_called() mocked_event_processing.assert_called_with(data)