def test_returns_textual_response_if_message_is_a_string(self): error = factory.make_string() exception = MAASAPIValidationError(error) response = exception.make_http_response() self.assertEqual( "text/plain; charset=%s" % settings.DEFAULT_CHARSET, response.get("Content-Type"))
def test_returns_http_response(self): error = factory.make_string() exception = MAASAPIValidationError(error) response = exception.make_http_response() self.assertEqual( (http.client.BAD_REQUEST, error), (response.status_code, response.content.decode(settings.DEFAULT_CHARSET)))
def test_if_message_is_single_item_list_returns_only_first_message(self): errors = [factory.make_string()] exception = MAASAPIValidationError(errors) response = exception.make_http_response() self.expectThat( response.get("Content-Type"), Equals("text/plain; charset=%s" % settings.DEFAULT_CHARSET)) self.expectThat( response.content.decode(settings.DEFAULT_CHARSET), Equals(errors[0]))
def test_returns_json_response_if_message_is_a_list(self): errors = [factory.make_string(), factory.make_string()] exception = MAASAPIValidationError(errors) response = exception.make_http_response() self.expectThat( response.get("Content-Type"), Equals("application/json; charset=%s" % settings.DEFAULT_CHARSET), ) self.expectThat( response.content.decode(settings.DEFAULT_CHARSET), Equals(json.dumps(errors)), )