test__field.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:guillotina 作者: plone 项目源码 文件源码
def test__validate_w_value_providing_schema_but_invalid_fields(self):
        from zope.interface import implementer
        from guillotina.schema.exceptions import WrongContainedType
        from guillotina.schema.exceptions import RequiredMissing
        from guillotina.schema.exceptions import WrongType
        from guillotina.schema._bootstrapfields import Text
        schema = self._makeSchema(foo=Text(), bar=Text())

        @implementer(schema)
        class Broken(object):
            foo = None
            bar = 1

        objf = self._makeOne(schema)
        self.assertRaises(WrongContainedType, objf.validate, Broken())
        errors = self._getErrors(objf.validate, Broken())
        self.assertEqual(len(errors), 2)
        errors = sorted(errors, key=lambda x: type(x).__name__)
        err = errors[0]
        self.assertTrue(isinstance(err, RequiredMissing))
        self.assertEqual(err.args, ('foo',))
        err = errors[1]
        self.assertTrue(isinstance(err, WrongType))
        self.assertEqual(err.args, (1, str, 'bar'))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号