"""Tests for the Sentry Connector.""" from unittest import mock from owsresponse import response from notifications.connectors import sentry @mock.patch( 'sentry_sdk.new_scope', return_value=mock.MagicMock(__enter__=mock.Mock(return_value=mock.Mock(set_extra=mock.Mock()))), ) @mock.patch('sentry_sdk.capture_message') def test_send_response_to_sentry(mock_capture_message, mock_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_scope.return_value.__enter__.assert_called_once() mock_scope.return_value.__enter__.return_value.set_extra.assert_has_calls( [ mock.call('message', error_response.message), mock.call('errors', error_response.errors), mock.call('status', error_response.status), ] ) mock_capture_message.assert_called_once_with(message=sentry_message)