def test_it_should_get_multiple_nested_values(self):
        class CustomSchema(ma.Schema):
            works = fields.List(
                fields.Nested({
                    "author": fields.Str(),
                    "workname": fields.Str()
                }))

        custom_schema = CustomSchema()

        query = {
            "works": [
                {
                    "author": "Euripides",
                    "workname": "Hecuba"
                },
                {
                    "author": "Aristophanes",
                    "workname": "The Birds"
                },
            ]
        }
        request = make_json_request(query)
        result = parser.load_json(request, custom_schema)
        assert result["works"] == [
            {
                "author": "Euripides",
                "workname": "Hecuba"
            },
            {
                "author": "Aristophanes",
                "workname": "The Birds"
            },
        ]
 def test_it_should_handle_type_error_on_load_json(self):
     # but this is different from the test above where the payload was valid
     # and empty -- missing vs {}
     request = make_request(
         body=tornado.concurrent.Future(),
         headers={"Content-Type": "application/json"},
     )
     result = parser.load_json(request, author_schema)
     assert result is missing
Exemple #3
0
 def test_it_should_handle_type_error_on_load_json(self, loop):
     # but this is different from the test above where the payload was valid
     # and empty -- missing vs {}
     # NOTE: `loop` is the pytest-aiohttp event loop fixture, but it's
     # important to get an event loop here so that we can construct a future
     request = make_request(
         body=tornado.concurrent.Future(),
         headers={"Content-Type": "application/json"},
     )
     result = parser.load_json(request, author_schema)
     assert result is missing
 def test_it_should_get_single_values(self):
     query = {"name": "Euripides"}
     request = make_json_request(query)
     result = parser.load_json(request, author_schema)
     assert result["name"] == "Euripides"
 def test_it_should_handle_value_error_on_parse_json(self):
     request = make_request("this is json not")
     result = parser.load_json(request, author_schema)
     assert result is missing
 def test_it_should_not_include_fieldnames_if_not_present(self):
     query = {}
     request = make_json_request(query)
     result = parser.load_json(request, author_schema)
     assert result == {}
 def test_it_should_get_multiple_values(self):
     query = {"works": ["Medea", "Electra"]}
     request = make_json_request(query)
     result = parser.load_json(request, author_schema)
     assert result["works"] == ["Medea", "Electra"]
 def test_parsing_request_with_vendor_content_type(self):
     query = {"name": "Euripides"}
     request = make_json_request(
         query, content_type="application/vnd.api+json; charset=UTF-8")
     result = parser.load_json(request, author_schema)
     assert result["name"] == "Euripides"