"""Tests for the Sentry Connector.""" from unittest.mock import MagicMock, Mock, call, patch from oto import response from notifications_delivery.connectors import sentry @patch('sentry_sdk.new_scope', return_value=MagicMock( __enter__=Mock( return_value=Mock( set_extra=Mock() ) ) )) @patch('sentry_sdk.capture_message') def test_send_response_to_sentry(mock_capture_message, mock_push_scope): """Test sending an error message to Sentry.""" error_response = response.Response( message='response message', errors={'error_code': 'error_message'}, status=204) sentry_message = 'sentry message' sentry.send_response_to_sentry(error_response, sentry_message) mock_push_scope.return_value.__enter__.assert_called_once() mock_push_scope.return_value.__enter__.return_value.set_extra.assert_has_calls([ call('message', error_response.message), call('errors', error_response.errors), call('status', error_response.status), ]) mock_capture_message.assert_called_once_with(message=sentry_message)