예제 #1
0
    def test_inheriting_fields(self):
        class ExampleFiltersSchema(filters_schema.FilterSchema):
            title = filters_schema.FilterField()

        class ExampleFiltersSchemaDerived(ExampleFiltersSchema):
            content = filters_schema.FilterField()

        assert ExampleFiltersSchemaDerived.base_filters == {
            'title': filters_schema.FilterField(),
            'content': filters_schema.FilterField(),
        }
예제 #2
0
    class ExampleListView(resources.ResourceList):
        schema = example_schema
        filter_schema = filters_schema.FilterSchema({
            'basic':
            filters_schema.FilterField(),
            'listed':
            filters_schema.ListFilterField(),
            'renamed':
            filters_schema.FilterField(field_name='dumb-name'),
            'integer':
            filters_schema.FilterField(parse_value=int),
            'skipped_filter':
            filters_schema.FilterField(),
        })

        applied_filters = []

        def read_many(self, filters):
            self.applied_filters.append(filters)
            return []
예제 #3
0
    def test_creation_using_schema(self):
        class ExampleSchema(marshmallow_jsonapi.Schema):
            id = fields.UUID(required=True)
            body = fields.Str()
            is_active = fields.Boolean(attribute='active')

            class Meta:
                type_ = 'example'

        class ExampleFiltersSchema(filters_schema.FilterSchema):
            class Meta:
                schema = ExampleSchema
                fields = ['id', 'body', 'is_active']

        assert ExampleFiltersSchema.base_filters == {
            'id':
            filters_schema.FilterField(attribute='id', type_=fields.UUID),
            'body':
            filters_schema.FilterField(attribute='body'),
            'is_active':
            filters_schema.FilterField(attribute='active',
                                       type_=fields.Boolean),
        }
예제 #4
0
 class ExampleFiltersSchema(filters_schema.FilterSchema):
     basic = filters_schema.FilterField()
     listed = filters_schema.ListFilterField()
     dumb_name = filters_schema.FilterField(attribute='renamed')
     integer = filters_schema.FilterField(type_=fields.Int)
     skipped_filter = filters_schema.FilterField()
예제 #5
0
 class ExampleFiltersSchema(filters_schema.FilterSchema):
     identifier = filters_schema.FilterField(type_=fields.UUID)
예제 #6
0
 class ExampleFiltersSchema(filters_schema.FilterSchema):
     valid = filters_schema.FilterField()
예제 #7
0
 class ExampleFiltersSchemaDerived(ExampleFiltersSchema):
     content = filters_schema.FilterField()
예제 #8
0
 class ExampleFiltersSchema(filters_schema.FilterSchema):
     title = filters_schema.FilterField()
예제 #9
0
 class SecondFiltersSchema(filters_schema.FilterSchema):
     attribute = filters_schema.FilterField()
     other_relationship = filters_schema.RelationshipFilterField(
         FirstFiltersSchema, attribute='renamed_relationship')
예제 #10
0
 class FirstFiltersSchema(filters_schema.FilterSchema):
     id = filters_schema.FilterField()
예제 #11
0
 class ExampleFiltersSchema(filters_schema.FilterSchema):
     basic = filters_schema.FilterField(
         operators=[filters_schema.Operators.NE])
예제 #12
0
 class ExampleFiltersSchema(filters_schema.FilterSchema):
     basic = filters_schema.FilterField(default_operator='like')