From 613cac58a9031aefa71154291acdbf8d894d925c Mon Sep 17 00:00:00 2001 From: kjohnson3 Date: Tue, 28 Mar 2017 09:26:16 -0700 Subject: [PATCH] Add test to verify that an invalid json payload results in a BadRequestError. --- .../unittests/test_serializer_post_collection.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sqlalchemy_jsonapi/unittests/test_serializer_post_collection.py b/sqlalchemy_jsonapi/unittests/test_serializer_post_collection.py index 7b9ecee..57d3c01 100644 --- a/sqlalchemy_jsonapi/unittests/test_serializer_post_collection.py +++ b/sqlalchemy_jsonapi/unittests/test_serializer_post_collection.py @@ -503,3 +503,18 @@ def test_add_resource_with_missing_one_to_many_relationship_type(self): self.assertEqual( error.exception.detail, 'posts must have type and id keys') self.assertEqual(error.exception.status_code, 400) + + def test_add_resource_with_invalid_json_payload(self): + """Create resource with invalid json payload returns 400. + + A BadRequestError is raised. + """ + payload = {'foo'} + + with self.assertRaises(errors.BadRequestError) as error: + models.serializer.post_collection( + self.session, payload, 'users') + + self.assertEqual( + error.exception.detail, 'Request body should be a JSON hash') + self.assertEqual(error.exception.status_code, 400)