"""Lambda test module.""" from unittest.mock import patch import pytest from index import handler from payments_generate.error_handling import OwsServiceException @patch('index.PaymentGenerationProcessor') def test_handler(mock_processor, mock_event): """Test handler function.""" result = handler(mock_event, None) assert result == {'status': 'OK'} mock_processor.assert_called_once_with(mock_event) @patch('index.capture_exception') @patch('index.app_logger') @patch('index.PaymentGenerationProcessor.process') def test_handler_ows_service_exception( mock_processor, mock_logger, mock_capture_exception, mock_event): """Test handler catches custom OwsServiceException.""" mock_capture_exception.return_value = True data = {} error_msg = f'ows-service failure: {data}' mock_processor.side_effect = OwsServiceException(error_msg) with pytest.raises(OwsServiceException) as e: handler(mock_event, None) mock_capture_exception.assert_called_once_with(e) mock_logger.error.assert_called_once_with(error_msg) @patch('index.capture_exception') @patch('index.PaymentGenerationProcessor.process') def test_handler_exception(mock_processor, mock_capture_exception, mock_event): """Test handler catches Exception.""" mock_capture_exception.return_value = True mock_processor.side_effect = Exception('key error') with pytest.raises(Exception) as e: handler(mock_event, None) mock_capture_exception.assert_called_once_with(e)