def parse_collection_request(schema): """Parse request arguments and save them into flask.g for farther use""" g.limit = _parse_int_request_argument('limit') g.offset = _parse_int_request_argument('offset') g.collection_schema = schema g.sortby = parse_sortby(request.args.get('sortby'), schema.sortby_names) g.filters = parse_filters(request.args.iteritems(multi=True), schema)
def test_parses_several(self): params = { 'name:eq': 'test', 'size:gt': '28', 'size:lt': '32' } expected = { 'name': { 'eq': 'test' }, 'size': { 'gt': 28, 'lt': 32 } } real = parse_filters(params.iteritems(), self.schema) self.assertEquals(expected, real)
def test_parses_exists(self): params = {'size:exists': 'true'} expected = {'size': {'exists': True}} real = parse_filters(params.iteritems(), self.schema) self.assertEquals(expected, real)
def test_parses_in(self): params = {'size:in': '42|44'} expected = {'size': {'in': [42, 44]}} real = parse_filters(params.iteritems(), self.schema) self.assertEquals(expected, real)
def test_parses_several(self): params = {'name:eq': 'test', 'size:gt': '28', 'size:lt': '32'} expected = {'name': {'eq': 'test'}, 'size': {'gt': 28, 'lt': 32}} real = parse_filters(params.iteritems(), self.schema) self.assertEquals(expected, real)
def test_parses_empty(self): self.assertEquals({}, parse_filters({}, self.schema))
def test_parses_exists(self): params = { 'size:exists': 'true' } expected = { 'size': {'exists': True} } real = parse_filters(params.iteritems(), self.schema) self.assertEquals(expected, real)
def test_parses_in(self): params = { 'size:in': '42|44' } expected = { 'size': { 'in': [42, 44] } } real = parse_filters(params.iteritems(), self.schema) self.assertEquals(expected, real)