def test_poly_sub_serialization_invalid(): class Poly(Schema): type = fields.String(required=True) __poly_on__ = type class PolyA(Poly): class Meta: poly_id = 'a' foo = fields.String(required=True) class Sub(StandardSchema): poly = fields.Schema(Poly) errors = {'poly': {'msg': fields.Schema(Poly).message.invalid_polykey}} schema = Sub(poly={'a': 'b'}) with pytest.raises(ValidationError): schema.serialize({}) assert schema.errors == errors
class TestSchema1(Schema): type = fields.String(required=True) __poly_on__ = type sub_schema = fields.Schema(TestSchema2, required=True)
class Dealership(StandardSchema): info = fields.Schema(DealershipCarBrands, required=True)
class Sub(StandardSchema): poly = fields.Schema(Poly)
class Sub(StandardSchema): poly = fields.Schema(Poly, allow_none=True)
class Root(Schema): node = fields.Schema(Node, required=True)
class PolyList(StandardSchema): polys = fields.List(fields.Schema(Poly, exclude=['footest', 'bartest']))
class PolyA(Poly): class Meta: poly_id = 'a' foo = fields.Schema(NestedNode, required=True) footest = fields.String(required=True)
class Node(Schema): label = fields.String(required=True) sub = fields.Schema(S, required=True)
class Parent(Schema): sub_ = fields.Schema(S, load='sub', name='sub')
class S(Schema): age = fields.Integer(allow_none=True) other = fields.Schema(A, allow_none=True)
class Parent(Schema): sub = fields.Schema(S)
class Parent(Person): child = fields.Schema(Person)
class S(Schema): name = fields.String(required=True) active = fields.Boolean() sub = fields.Schema(Sub, whitelist=['hello'])
class S(Schema): name = fields.String(required=True) active = fields.Boolean() sub = fields.Schema(Sub)
class Parent(Person): name = fields.String(allow_empty=False) child = fields.Schema(Person)