def test_key_not_found(self): victim = [{"first": 3}, {"first": 2}, {"first": 1}] sortby = parse_sortby("second", self.allowed) try: apply_sortby(sortby, victim) except Exception, e: self.fail("Unexpected exception: %s", e)
def test_key_not_found(self): victim = [{'first': 3}, {'first': 2}, {'first': 1}] sortby = parse_sortby('second', self.allowed) try: apply_sortby(sortby, victim) except Exception, e: self.fail('Unexpected exception: %s', e)
def make_collection_response(name, elements, parent_href=None): """Return a collection to client""" if getattr(g, 'filters', None): g.unused_args.difference_update( (arg for arg in request.args.iterkeys() if ':' in arg)) elements = apply_filters(elements, g.filters, g.collection_schema) # NOTE(imelnikov): size is number of element matching given # criteria -- calculated after filtering size = len(elements) if 'sortby' in g.unused_args: g.unused_args.discard('sortby') elements = apply_sortby(g.sortby, elements) elements = _apply_pagination(elements) result = { u'collection': { u'name': name, u'size': size }, name: elements } if parent_href is not None: result[u'collection'][u'parent-href'] = parent_href return make_json_response(result)
def make_collection_response(name, elements, parent_href=None): """Return a collection to client""" if getattr(g, 'filters', None): g.unused_args.difference_update( (arg for arg in request.args.iterkeys() if ':' in arg)) elements = apply_filters(elements, g.filters, g.collection_schema) # NOTE(imelnikov): size is number of element matching given # criteria -- calculated after filtering size = len(elements) if 'sortby' in g.unused_args: g.unused_args.discard('sortby') elements = apply_sortby(g.sortby, elements) elements = _apply_pagination(elements) result = {u'collection': {u'name': name, u'size': size}, name: elements} if parent_href is not None: result[u'collection'][u'parent-href'] = parent_href return make_json_response(result)
def test_sort_two_different(self): victim = [{ 'first': 2, 'second': 2 }, { 'first': 2, 'second': 1 }, { 'first': 1, 'second': 0 }] result = [{ 'first': 1, 'second': 0 }, { 'first': 2, 'second': 2 }, { 'first': 2, 'second': 1 }] sortby = parse_sortby('first,second:desc', self.allowed) self.assertEquals(result, apply_sortby(sortby, victim))
def test_sort_by_two(self): victim = [{ 'first': 2, 'second': 2 }, { 'first': 2, 'second': 1 }, { 'first': 1, 'second': 99 }] result = [{ 'first': 1, 'second': 99 }, { 'first': 2, 'second': 1 }, { 'first': 2, 'second': 2 }] sortby = parse_sortby('first,second', self.allowed) self.assertEquals(result, apply_sortby(sortby, victim))
def test_sort_one_desc(self): victim = [{'first': 1}, {'first': 2}, {'first': 3}] result = [{'first': 3}, {'first': 2}, {'first': 1}] sortby = parse_sortby('first:desc', self.allowed) self.assertEquals(result, apply_sortby(sortby, victim))
def test_applies_none_is_ok_desc(self): d = datetime(2012, 1, 12, 11, 12, 45, 0) victim = [{'time': None}, {'time': d}] result = [{'time': d}, {'time': None}] sortby = parse_sortby('time:desc', ('time', )) self.assertEquals(result, apply_sortby(sortby, victim))
def test_applies_nothing(self): victim = [{'first': 3}, {'first': 2}, {'first': 1}] self.assertEquals(victim, apply_sortby(None, victim))
def test_sort_two_different(self): victim = [{"first": 2, "second": 2}, {"first": 2, "second": 1}, {"first": 1, "second": 0}] result = [{"first": 1, "second": 0}, {"first": 2, "second": 2}, {"first": 2, "second": 1}] sortby = parse_sortby("first,second:desc", self.allowed) self.assertEquals(result, apply_sortby(sortby, victim))
def test_sort_one_desc(self): victim = [{"first": 1}, {"first": 2}, {"first": 3}] result = [{"first": 3}, {"first": 2}, {"first": 1}] sortby = parse_sortby("first:desc", self.allowed) self.assertEquals(result, apply_sortby(sortby, victim))
def test_sort_by_two(self): victim = [{"first": 2, "second": 2}, {"first": 2, "second": 1}, {"first": 1, "second": 99}] result = [{"first": 1, "second": 99}, {"first": 2, "second": 1}, {"first": 2, "second": 2}] sortby = parse_sortby("first,second", self.allowed) self.assertEquals(result, apply_sortby(sortby, victim))
def test_applies_none_is_ok_desc(self): d = datetime(2012, 1, 12, 11, 12, 45, 0) victim = [{"time": None}, {"time": d}] result = [{"time": d}, {"time": None}] sortby = parse_sortby("time:desc", ("time",)) self.assertEquals(result, apply_sortby(sortby, victim))
def test_applies_nothing(self): victim = [{"first": 3}, {"first": 2}, {"first": 1}] self.assertEquals(victim, apply_sortby(None, victim))