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])
Exemple #2
0
 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])
Exemple #3
0
 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])
Exemple #4
0
 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])
Exemple #5
0
 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])
Exemple #11
0
 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])
Exemple #12
0
 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), [])
Exemple #15
0
 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), [])
Exemple #16
0
 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}
Exemple #18
0
    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}
Exemple #19
0
    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}
Exemple #20
0
    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}
Exemple #21
0
    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, 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}
Exemple #23
0
 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}
Exemple #25
0
    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}
Exemple #26
0
    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}
Exemple #27
0
    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}
Exemple #29
0
 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)