def test_deserialize_errors(self): with self.assertRaises(ValidationError) as ctx: compat.load(IntegerList(), {"foos": "1,two"}) self.assertEqual( ctx.exception.messages, {"foos": {1: ["Not a valid integer."]}} )
def test_deserialize(self): data = compat.load(StringList(), {"foos": "bar"}) self.assertEqual(data["foos"], ["bar"]) data = compat.load(StringList(), {"foos": "bar,baz"}) self.assertEqual(data["foos"], ["bar", "baz"]) data = compat.load(IntegerList(), {"foos": "1,2"}) self.assertEqual(data["foos"], [1, 2])
def test_deserialize_errors(self): query = MultiDict([("foos", 1), ("foos", "two")]) with self.assertRaises(ValidationError) as ctx: compat.load(IntegerQuery(), query) self.assertEqual( ctx.exception.messages, {"foos": {1: ["Not a valid integer."]}} )
def test_deserialize(self): query = MultiDict([("foos", "bar")]) data = compat.load(StringQuery(), query) self.assertEqual(data["foos"], ["bar"]) query = MultiDict([("foos", "bar"), ("foos", "baz")]) data = compat.load(StringQuery(), query) self.assertEqual(data["foos"], ["bar", "baz"]) query = MultiDict([("foos", 1), ("foos", 2)]) data = compat.load(IntegerQuery(), query) self.assertEqual(data["foos"], [1, 2])
def _get_data_or_400(schema, data, message): schema = normalize_schema(schema) try: return compat.load(schema=schema, data=data) except marshmallow.ValidationError as e: raise_400_for_marshmallow_errors(errs=e.messages, msg=message)