def test_json_or_error_raises_404(self): """ JsonApiRequest.json_or_error should raise an error on HTTP status 404 """ response_mock = Mock() response_mock.url = 'http://nowhere.example.com' response_mock.status_code = 404 with self.assertRaisesMessage( JsonApiError, 'API request to http://nowhere.example.com failed with HTTP status 404'): JsonApiRequest.json_or_error(response_mock)
def test_json_or_error_raises_500(self): """ JsonApiRequest.json_or_error should raise an error on HTTP status 500 """ response_mock = Mock() response_mock.url = 'http://broken.example.com' response_mock.status_code = 500 response_mock.text = 'Oops!' with self.assertRaisesMessage( JsonApiError, 'API request to http://broken.example.com failed with HTTP status 500: Oops!'): JsonApiRequest.json_or_error(response_mock)
def test_json_or_error_raises_500(self): """ JsonApiRequest.json_or_error should raise an error on HTTP status 500 """ response_mock = Mock() response_mock.url = 'http://broken.example.com' response_mock.status_code = 500 response_mock.text = 'Oops!' with self.assertRaisesMessage( JsonApiError, 'API request to http://broken.example.com failed with HTTP status 500: Oops!' ): JsonApiRequest.json_or_error(response_mock)
def test_json_or_error_raises_404(self): """ JsonApiRequest.json_or_error should raise an error on HTTP status 404 """ response_mock = Mock() response_mock.url = 'http://nowhere.example.com' response_mock.status_code = 404 response_mock.text = 'Where?' with self.assertRaisesMessage( JsonApiError, 'API request to http://nowhere.example.com failed with HTTP status 404: Where?' ): JsonApiRequest.json_or_error(response_mock)
def test_json_or_error_returns(self): """ JsonApiRequest.json_or_error should return a status code and JSON on success """ with response_context() as response_mock: data = JsonApiRequest.json_or_error(response_mock) self.assertEqual(data, {'spam': True})