def test_limiter_limit_medium(self): """ Test limit of 10. """ req = Request.blank("/?limit=10") self.assertEqual(common.limited(self.tiny, req), self.tiny) self.assertEqual(common.limited(self.small, req), self.small) self.assertEqual(common.limited(self.medium, req), self.medium[:10]) self.assertEqual(common.limited(self.large, req), self.large[:10])
def test_limiter_nothing(self): """ Test request with no offset or limit """ req = Request.blank('/') self.assertEqual(common.limited(self.tiny, req), self.tiny) self.assertEqual(common.limited(self.small, req), self.small) self.assertEqual(common.limited(self.medium, req), self.medium) self.assertEqual(common.limited(self.large, req), self.large[:1000])
def test_limiter_limit_zero(self): """ Test limit of zero. """ req = Request.blank('/?limit=0') self.assertEqual(common.limited(self.tiny, req), self.tiny) self.assertEqual(common.limited(self.small, req), self.small) self.assertEqual(common.limited(self.medium, req), self.medium) self.assertEqual(common.limited(self.large, req), self.large[:1000])
def test_limiter_limit_medium(self): """ Test limit of 10. """ req = Request.blank('/?limit=10') self.assertEqual(common.limited(self.tiny, req), self.tiny) self.assertEqual(common.limited(self.small, req), self.small) self.assertEqual(common.limited(self.medium, req), self.medium[:10]) self.assertEqual(common.limited(self.large, req), self.large[:10])
def test_limiter_offset_zero(self): """ Test offset key works with 0. """ req = Request.blank('/?offset=0') self.assertEqual(common.limited(self.tiny, req), self.tiny) self.assertEqual(common.limited(self.small, req), self.small) self.assertEqual(common.limited(self.medium, req), self.medium) self.assertEqual(common.limited(self.large, req), self.large[:1000])
def test_limiter_nothing(self): """ Test request with no offset or limit """ req = Request.blank("/") self.assertEqual(common.limited(self.tiny, req), self.tiny) self.assertEqual(common.limited(self.small, req), self.small) self.assertEqual(common.limited(self.medium, req), self.medium) self.assertEqual(common.limited(self.large, req), self.large[:1000])
def test_limiter_limit_zero(self): """ Test limit of zero. """ req = Request.blank("/?limit=0") self.assertEqual(common.limited(self.tiny, req), self.tiny) self.assertEqual(common.limited(self.small, req), self.small) self.assertEqual(common.limited(self.medium, req), self.medium) self.assertEqual(common.limited(self.large, req), self.large[:1000])
def test_limiter_offset_over_max(self): """ Test offset key works with a number over 1000 (max_limit). """ req = Request.blank("/?offset=1001") self.assertEqual(common.limited(self.tiny, req), []) self.assertEqual(common.limited(self.small, req), []) self.assertEqual(common.limited(self.medium, req), []) self.assertEqual(common.limited(self.large, req), self.large[1001:2001])
def test_limiter_offset_medium(self): """ Test offset key works with a medium sized number. """ req = Request.blank("/?offset=10") self.assertEqual(common.limited(self.tiny, req), []) self.assertEqual(common.limited(self.small, req), self.small[10:]) self.assertEqual(common.limited(self.medium, req), self.medium[10:]) self.assertEqual(common.limited(self.large, req), self.large[10:1010])
def test_limiter_offset_zero(self): """ Test offset key works with 0. """ req = Request.blank("/?offset=0") self.assertEqual(common.limited(self.tiny, req), self.tiny) self.assertEqual(common.limited(self.small, req), self.small) self.assertEqual(common.limited(self.medium, req), self.medium) self.assertEqual(common.limited(self.large, req), self.large[:1000])
def test_limiter_offset_medium(self): """ Test offset key works with a medium sized number. """ req = Request.blank('/?offset=10') self.assertEqual(common.limited(self.tiny, req), []) self.assertEqual(common.limited(self.small, req), self.small[10:]) self.assertEqual(common.limited(self.medium, req), self.medium[10:]) self.assertEqual(common.limited(self.large, req), self.large[10:1010])
def test_limiter_offset_over_max(self): """ Test offset key works with a number over 1000 (max_limit). """ req = Request.blank('/?offset=1001') self.assertEqual(common.limited(self.tiny, req), []) self.assertEqual(common.limited(self.small, req), []) self.assertEqual(common.limited(self.medium, req), []) self.assertEqual(common.limited(self.large, req), self.large[1001:2001])
def test_limiter_custom_max_limit(self): """ Test a max_limit other than 1000. """ items = range(2000) req = Request.blank("/?offset=1&limit=3") self.assertEqual(common.limited(items, req, max_limit=2000), items[1:4]) req = Request.blank("/?offset=3&limit=0") self.assertEqual(common.limited(items, req, max_limit=2000), items[3:]) req = Request.blank("/?offset=3&limit=2500") self.assertEqual(common.limited(items, req, max_limit=2000), items[3:]) req = Request.blank("/?offset=3000&limit=10") self.assertEqual(common.limited(items, req, max_limit=2000), [])
def test_limiter_limit_and_offset(self): """ Test request with both limit and offset. """ items = range(2000) req = Request.blank("/?offset=1&limit=3") self.assertEqual(common.limited(items, req), items[1:4]) req = Request.blank("/?offset=3&limit=0") self.assertEqual(common.limited(items, req), items[3:1003]) req = Request.blank("/?offset=3&limit=1500") self.assertEqual(common.limited(items, req), items[3:1003]) req = Request.blank("/?offset=3000&limit=10") self.assertEqual(common.limited(items, req), [])
def test_limiter_limit_and_offset(self): """ Test request with both limit and offset. """ items = range(2000) req = Request.blank('/?offset=1&limit=3') self.assertEqual(common.limited(items, req), items[1:4]) req = Request.blank('/?offset=3&limit=0') self.assertEqual(common.limited(items, req), items[3:1003]) req = Request.blank('/?offset=3&limit=1500') self.assertEqual(common.limited(items, req), items[3:1003]) req = Request.blank('/?offset=3000&limit=10') self.assertEqual(common.limited(items, req), [])
def test_limiter_custom_max_limit(self): """ Test a max_limit other than 1000. """ items = range(2000) req = Request.blank('/?offset=1&limit=3') self.assertEqual(common.limited(items, req, max_limit=2000), items[1:4]) req = Request.blank('/?offset=3&limit=0') self.assertEqual(common.limited(items, req, max_limit=2000), items[3:]) req = Request.blank('/?offset=3&limit=2500') self.assertEqual(common.limited(items, req, max_limit=2000), items[3:]) req = Request.blank('/?offset=3000&limit=10') self.assertEqual(common.limited(items, req, max_limit=2000), [])
def _items(self, req, server_id, entity_maker): """Returns a list of VIFs, transformed through entity_maker.""" context = req.environ['engine.context'] vifs = self.network_api.get_vifs_by_instance(context, server_id) limited_list = common.limited(vifs, req) res = [entity_maker(context, vif) for vif in limited_list] return {'virtual_interfaces': res}
def _items(self, req, entity_maker): """Returns a list of snapshots, transformed through entity_maker.""" context = req.environ['engine.context'] snapshots = self.volume_api.get_all_snapshots(context) limited_list = common.limited(snapshots, req) res = [entity_maker(context, snapshot) for snapshot in limited_list] return {'snapshots': res}
def _items(self, req, entity_maker): """Returns a list of volumes, transformed through entity_maker.""" context = req.environ['engine.context'] volumes = self.volume_api.get_all(context) limited_list = common.limited(volumes, req) res = [entity_maker(context, vol) for vol in limited_list] return {'volumes': res}
def index(self, req): """Return all zones in brief""" # Ask the ZoneManager in the Scheduler for most recent data, # or fall-back to the database ... items = engine.scheduler.api.get_zone_list(req.environ['engine.context']) items = common.limited(items, req) items = [_scrub_zone(item) for item in items] return dict(zones=items)
def _items(self, req, details): """Return summary or detailed list of VSAs.""" context = req.environ['engine.context'] vsas = self.vsa_api.get_all(context) limited_list = common.limited(vsas, req) vsa_list = [] for vsa in limited_list: instances = self._get_instances_by_vsa_id(context, vsa.get('id')) vsa_list.append(_vsa_view(context, vsa, details, instances)) return {'vsaSet': vsa_list}
def _items(self, req, server_id, entity_maker): """Returns a list of attachments, transformed through entity_maker.""" context = req.environ['engine.context'] try: instance = self.compute_api.get(context, server_id) except exception.NotFound: raise exc.HTTPNotFound() volumes = instance['volumes'] limited_list = common.limited(volumes, req) res = [entity_maker(context, vol) for vol in limited_list] return {'volumeAttachments': res}
def index(self, req): """Returns a list of security groups""" context = req.environ['engine.context'] self.compute_api.ensure_default_security_group(context) groups = db.security_group_get_by_project(context, context.project_id) limited_list = common.limited(groups, req) result = [self._format_security_group(context, group) for group in limited_list] return {'security_groups': list(sorted(result, key=lambda k: (k['tenant_id'], k['name'])))}
def _items(self, req, vsa_id, details): """Return summary or detailed list of volumes for particular VSA.""" context = req.environ['engine.context'] vols = self.volume_api.get_all( context, search_opts={'metadata': { self.direction: str(vsa_id) }}) limited_list = common.limited(vols, req) res = [self._translation(context, vol, vsa_id, details) \ for vol in limited_list] return {self.objects: res}
def index(self, req): """Return all users in brief""" users = self.manager.get_users() users = common.limited(users, req) users = [_translate_keys(user) for user in users] return dict(users=users)