def wrapper(*args, **kwargs): validator = Validator(schema) data = request.get_json() validator.validate(data) if validator.isvalid == False: response_body = { 'message': 'Invalid payload' } return make_response(jsonify(response_body), 400) g.validated_data = data return f(*args, **kwargs)
class ValidatorTestCase(unittest.TestCase): def setUp(self): self.data = {} self.schema_mock = mock.MagicMock(spec=colander.MappingSchema) self.validator = Validator(self.schema_mock) def test_validate(self): self.validator.validate(self.data) self.schema_mock.deserialize.assert_called_once_with(self.data) self.assertTrue(self.validator.isvalid) def test_validate_invalid(self): schema_mock = mock.MagicMock(spec=colander.SchemaNode) self.schema_mock.deserialize.side_effect = mock.MagicMock( side_effect=colander.Invalid(schema_mock)) self.validator.validate(self.data) self.assertFalse(self.validator.isvalid)