Beispiel #1
0
class ApiPlainKeySchema(Schema):
    id = fields.Integer()
    role = fields.Embed(schema=RoleSchema)
    domains = fields.Embed(schema=DomainSchema, many=True)
    accounts = fields.Embed(schema=AccountSummarySchema, many=True)
    description = fields.String()
    plain_key = fields.String()
Beispiel #2
0
class UserDetailedSchema(Schema):
    id = fields.Integer()
    username = fields.String()
    firstname = fields.String()
    lastname = fields.String()
    email = fields.String()
    role = fields.Embed(schema=RoleSchema)
    accounts = fields.Embed(schema=AccountSummarySchema)
Beispiel #3
0
class AccountSchema(Schema):
    id = fields.Integer()
    name = fields.String()
    description = fields.String()
    contact = fields.String()
    mail = fields.String()
    domains = fields.Embed(schema=DomainSchema, many=True)
    apikeys = fields.Embed(schema=ApiKeySummarySchema, many=True)
Beispiel #4
0
class UserSchema(Schema):
    id = fields.Integer()
    username = fields.String()
    firstname = fields.String()
    lastname = fields.String()
    email = fields.String()
    role = fields.Embed(schema=RoleSchema)
Beispiel #5
0
class TestEmbed:
    '''Tests for Embed, a class for embedding linked objects.'''
    @pytest.mark.parametrize(
        'schema_arg', [SomeSchema(), SomeSchema, __name__ + '.SomeSchema'])
    def test_pack(self, schema_arg):
        field = fields.Embed(schema=schema_arg)
        result = field.pack(SomeClass('one', 1))
        expected = {'name': 'one', 'number': 1}
        assert result == expected

    @pytest.mark.parametrize('field', [
        fields.Embed(schema=SomeSchema(many=True, only='number')),
        fields.Embed(schema=SomeSchema, many=True, only='number'),
        fields.Embed(schema=__name__ + '.SomeSchema', many=True, only='number')
    ])
    def test_pack_with_kwargs(self, field):
        result = field.pack([SomeClass('one', 1), SomeClass('two', 2)])
        expected = [{'number': 1}, {'number': 2}]
        assert result == expected
Beispiel #6
0
class KingSchemaEmbedSelf(KnightSchema):
    boss = fields.Embed(schema=__name__ + '.KingSchemaEmbedSelf',
                        exclude='boss')
Beispiel #7
0
class KingWithEmbeddedSubjectsStrSchema(KnightSchema):
    subjects = fields.Embed(schema=__name__ + '.KnightSchema', many=True)
Beispiel #8
0
class KingWithEmbeddedSubjectsClassSchema(KnightSchema):
    subjects = fields.Embed(schema=KnightSchema, many=True)
Beispiel #9
0
 class EmbeddingSchema(schema.Schema):
     another_field = fields.String()
     # here we provide a schema _instance_. the kwarg "many" is unnecessary
     incorrect_embed_field = fields.Embed(schema=embed_schema, many=True)
Beispiel #10
0
class ApiKeySchema(Schema):
    id = fields.Integer()
    role = fields.Embed(schema=RoleSchema)
    domains = fields.Embed(schema=DomainSchema, many=True)
    description = fields.String()
    key = fields.String()
Beispiel #11
0
class AccountSummarySchema(Schema):
    id = fields.Integer()
    name = fields.String()
    domains = fields.Embed(schema=DomainSchema, many=True)
Beispiel #12
0
class CoveragesSchema(Schema):
    coverages = fields.Embed(schema=CoverageSchema, many=True)
Beispiel #13
0
 def test_pack(self, schema_arg):
     field = fields.Embed(schema=schema_arg)
     result = field.pack(SomeClass('one', 1))
     expected = {'name': 'one', 'number': 1}
     assert result == expected