"""Tests for Handlers.""" import json from unittest.mock import MagicMock from unittest.mock import patch import application from oto import response from marketing import handlers from marketing.logic import highlights as marketing_highlights @patch('marketing.handlers.g') def test_exception_handler(mock_g, app_context): """Verify exception_Handler returns 500 status code and json payload.""" message = ( 'The server encountered an internal error ' 'and was unable to complete your request.') mock_error = MagicMock() server_response = handlers.exception_handler(mock_error) mock_g.log.exception.assert_called_with(mock_error) # assert status code is 500 assert server_response.status_code == 500 # assert json payload response_message = json.loads(server_response.data.decode()) assert response_message['message'] == message assert response_message['code'] == response.error.ERROR_CODE_INTERNAL_ERROR def test_handler_delete_highlights_by_entity_success(monkeypatch,): """Test ownership fails if product not found.""" entity_id = '123' entity_type = 'release' monkeypatch.setattr( marketing_highlights, 'delete_highlights_by_entity', value=MagicMock( return_value=response.Response(status=200))) with application.app.test_request_context( '/highlights/release>/123>', method='DELETE' ): marketing_highlights_response = handlers.delete_highlights_by_entity( entity_type, entity_id) assert marketing_highlights_response.status_code