Ejemplo n.º 1
0
    def _test_index_paginated(self, marker, sort_dir, volumes, url,
                              has_more, has_prev):
        vol_snaps = self.cinder_volume_snapshots.list()
        server = self.servers.first()
        cinder.volume_list_paged(IsA(http.HttpRequest), sort_dir=sort_dir,
                                 marker=marker, paginate=True,
                                 search_opts={'all_tenants': True}) \
            .AndReturn([volumes, has_more, has_prev])
        api.cinder.volume_snapshot_list(
            IsA(http.HttpRequest), search_opts=None).AndReturn(vol_snaps)
        api.nova.server_list(IsA(http.HttpRequest), search_opts={
                             'all_tenants': True}, detailed=False) \
            .AndReturn([self.servers.list(), False])
        api.nova.server_get(IsA(http.HttpRequest),
                            server.id).AndReturn(server)
        keystone.tenant_list(IsA(http.HttpRequest)) \
            .AndReturn([self.tenants.list(), False])

        self.mox.ReplayAll()

        res = self.client.get(urlunquote(url))

        self.assertTemplateUsed(res, 'horizon/common/_data_table_view.html')
        self.assertEqual(res.status_code, 200)

        self.mox.UnsetStubs()
        return res
Ejemplo n.º 2
0
    def _test_index(self, instanceless_volumes=False):
        volumes = self.cinder_volumes.list()
        if instanceless_volumes:
            for volume in volumes:
                volume.attachments = []

        cinder.volume_list_paged(IsA(http.HttpRequest), sort_dir="desc",
                                 marker=None, paginate=True,
                                 search_opts={'all_tenants': True})\
            .AndReturn([volumes, False, False])
        cinder.volume_snapshot_list(IsA(http.HttpRequest),
                                    search_opts={
                                        'all_tenants': True
                                    }).AndReturn([])
        if not instanceless_volumes:
            api.nova.server_list(IsA(http.HttpRequest), search_opts={
                                 'all_tenants': True}) \
                .AndReturn([self.servers.list(), False])
        keystone.tenant_list(IsA(http.HttpRequest)) \
            .AndReturn([self.tenants.list(), False])

        self.mox.ReplayAll()
        res = self.client.get(INDEX_URL)

        self.assertTemplateUsed(res, 'admin/volumes/index.html')
        volumes = res.context['volumes_table'].data
        self.assertItemsEqual(volumes, self.cinder_volumes.list())
Ejemplo n.º 3
0
    def _test_index(self, instanceless_volumes=False):
        volumes = self.cinder_volumes.list()
        if instanceless_volumes:
            for volume in volumes:
                volume.attachments = []

        cinder.volume_list_paged(IsA(http.HttpRequest), sort_dir="desc",
                                 marker=None, paginate=True,
                                 search_opts={'all_tenants': True})\
            .AndReturn([volumes, False, False])
        cinder.volume_snapshot_list(IsA(http.HttpRequest), search_opts={
            'all_tenants': True}).AndReturn([])
        if not instanceless_volumes:
            api.nova.server_list(IsA(http.HttpRequest), search_opts={
                                 'all_tenants': True}) \
                .AndReturn([self.servers.list(), False])
        keystone.tenant_list(IsA(http.HttpRequest)) \
            .AndReturn([self.tenants.list(), False])

        self.mox.ReplayAll()
        res = self.client.get(INDEX_URL)

        self.assertTemplateUsed(res, 'admin/volumes/index.html')
        volumes = res.context['volumes_table'].data
        self.assertItemsEqual(volumes, self.cinder_volumes.list())
Ejemplo n.º 4
0
    def _test_index_paginated(self, marker, sort_dir, volumes, url,
                              has_more, has_prev):
        vol_snaps = self.cinder_volume_snapshots.list()
        server = self.servers.first()
        cinder.volume_list_paged(IsA(http.HttpRequest), sort_dir=sort_dir,
                                 marker=marker, paginate=True,
                                 search_opts={'all_tenants': True}) \
            .AndReturn([volumes, has_more, has_prev])
        api.cinder.volume_snapshot_list(
            IsA(http.HttpRequest), search_opts=None).AndReturn(vol_snaps)
        api.nova.server_list(IsA(http.HttpRequest), search_opts={
                             'all_tenants': True}, detailed=False) \
            .AndReturn([self.servers.list(), False])
        api.nova.server_get(IsA(http.HttpRequest),
                            server.id).AndReturn(server)
        keystone.tenant_list(IsA(http.HttpRequest)) \
            .AndReturn([self.tenants.list(), False])

        self.mox.ReplayAll()

        res = self.client.get(urlunquote(url))

        self.assertTemplateUsed(res, 'horizon/common/_data_table_view.html')
        self.assertEqual(res.status_code, 200)

        self.mox.UnsetStubs()
        return res
Ejemplo n.º 5
0
    def test_index(self):
        cinder.volume_list_paged(
            IsA(http.HttpRequest), sort_dir="desc", marker=None, paginate=True, search_opts={"all_tenants": True}
        ).AndReturn([self.cinder_volumes.list(), False, False])
        cinder.volume_snapshot_list(IsA(http.HttpRequest), search_opts={"all_tenants": True}).AndReturn([])
        api.nova.server_list(IsA(http.HttpRequest), search_opts={"all_tenants": True}).AndReturn(
            [self.servers.list(), False]
        )
        keystone.tenant_list(IsA(http.HttpRequest)).AndReturn([self.tenants.list(), False])

        self.mox.ReplayAll()
        res = self.client.get(INDEX_URL)

        self.assertTemplateUsed(res, "admin/volumes/index.html")
        volumes = res.context["volumes_table"].data
        self.assertItemsEqual(volumes, self.cinder_volumes.list())
Ejemplo n.º 6
0
    def _test_index_paginated(self, marker, sort_dir, volumes, url, has_more, has_prev):
        cinder.volume_list_paged(
            IsA(http.HttpRequest), sort_dir=sort_dir, marker=marker, paginate=True, search_opts={"all_tenants": True}
        ).AndReturn([volumes, has_more, has_prev])
        api.nova.server_list(IsA(http.HttpRequest), search_opts={"all_tenants": True}).AndReturn(
            [self.servers.list(), False]
        )
        keystone.tenant_list(IsA(http.HttpRequest)).AndReturn([self.tenants.list(), False])

        self.mox.ReplayAll()

        res = self.client.get(url)

        self.assertTemplateUsed(res, "admin/volumes/index.html")
        self.assertEqual(res.status_code, 200)

        self.mox.UnsetStubs()
        return res
Ejemplo n.º 7
0
 def _get_volumes(self, search_opts=None):
     try:
         marker, sort_dir = self._get_marker()
         volumes, self._has_more_data, self._has_prev_data = \
             cinder.volume_list_paged(self.request, marker=marker,
                                      search_opts=search_opts,
                                      sort_dir=sort_dir, paginate=True)
         return volumes
     except Exception:
         exceptions.handle(self.request,
                           _('Unable to retrieve volume list.'))
         return []
Ejemplo n.º 8
0
    def _test_index_paginated(self, marker, sort_dir, volumes, url,
                              has_more, has_prev):
        cinder.volume_list_paged(IsA(http.HttpRequest), sort_dir=sort_dir,
                                 marker=marker, paginate=True,
                                 search_opts={'all_tenants': True}) \
            .AndReturn([volumes, has_more, has_prev])
        api.nova.server_list(IsA(http.HttpRequest), search_opts={
                             'all_tenants': True}) \
            .AndReturn([self.servers.list(), False])
        keystone.tenant_list(IsA(http.HttpRequest)) \
            .AndReturn([self.tenants.list(), False])

        self.mox.ReplayAll()

        res = self.client.get(url)

        self.assertTemplateUsed(res, 'admin/volumes/index.html')
        self.assertEqual(res.status_code, 200)

        self.mox.UnsetStubs()
        return res
Ejemplo n.º 9
0
    def _get_volumes(self, search_opts=None):
        try:
            marker, sort_dir = self._get_marker()
            volumes, self._has_more_data, self._has_prev_data = \
                cinder.volume_list_paged(self.request, marker=marker,
                                         search_opts=search_opts,
                                         sort_dir=sort_dir, paginate=True)

            if sort_dir == "asc":
                volumes.reverse()

            return volumes
        except Exception:
            exceptions.handle(self.request,
                              _('Unable to retrieve volume list.'))
            return []