コード例 #1
0
    def test_detail_view_with_exception(self):
        cgroup = self.cinder_consistencygroups.first()

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndRaise(self.exceptions.cinder)

        self.mox.ReplayAll()

        url = reverse('horizon:virtual:volumes:cgroups:detail',
                      args=[cgroup.id])
        res = self.client.get(url)

        self.assertRedirectsNoFollow(res, VOLUME_INDEX_URL)
コード例 #2
0
ファイル: tests.py プロジェクト: amotoki/horizon
    def test_detail_view_with_exception(self):
        cgroup = self.cinder_consistencygroups.first()

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndRaise(self.exceptions.cinder)

        self.mox.ReplayAll()

        url = reverse('horizon:project:cgroups:detail',
                      args=[cgroup.id])
        res = self.client.get(url)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, INDEX_URL)
コード例 #3
0
    def test_delete_cgroup(self):
        cgroup = self.cinder_consistencygroups.first()

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest), cgroup.id,
                                    force=False)
        self.mox.ReplayAll()

        url = reverse('horizon:project:cgroups:delete',
                      args=[cgroup.id])
        res = self.client.post(url)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, INDEX_URL)
コード例 #4
0
ファイル: tests.py プロジェクト: amotoki/horizon
    def test_delete_cgroup(self):
        cgroup = self.cinder_consistencygroups.first()

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest), cgroup.id,
                                    force=False)
        self.mox.ReplayAll()

        url = reverse('horizon:project:cgroups:delete',
                      args=[cgroup.id])
        res = self.client.post(url)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, INDEX_URL)
コード例 #5
0
ファイル: tests.py プロジェクト: Third9/horizon
    def test_delete_cgroup_force_flag(self):
        cgroup = self.cinder_consistencygroups.first()
        formData = {'delete_volumes': True}

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest), cgroup.id,
                                    force=True)
        self.mox.ReplayAll()

        url = reverse('horizon:project:volumes:cgroups:delete',
                      args=[cgroup.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, VOLUME_INDEX_URL)
コード例 #6
0
    def test_delete_cgroup_force_flag(self):
        cgroup = self.cinder_consistencygroups.first()
        formData = {'delete_volumes': True}

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest), cgroup.id,
                                    force=True)
        self.mox.ReplayAll()

        url = reverse('horizon:admin:volumes:cgroups:delete',
                      args=[cgroup.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, VOLUME_INDEX_URL)
コード例 #7
0
ファイル: forms.py プロジェクト: xuweiliang/Codelibrary
 def prepare_cgroup_source_field(self, request, cgroup_id):
     try:
         cgroup = cinder.volume_cgroup_get(request, cgroup_id)
         self.fields['cgroup_source'].choices = ((cgroup_id, cgroup), )
     except Exception:
         exceptions.handle(
             request, _('Unable to load the specified '
                        'consistency group.'))
コード例 #8
0
ファイル: tests.py プロジェクト: gyromaker/gyro1
    def test_delete_cgroup_exception(self):
        cgroup = self.cinder_consistencygroups.first()
        formData = {'delete_volumes': False}

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest),
                                    cgroup.id,
                                    force=False).\
            AndRaise(self.exceptions.cinder)
        self.mox.ReplayAll()

        url = reverse('horizon:compute_user:volume2:cgroups:delete',
                      args=[cgroup.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, VOLUME_INDEX_URL)
コード例 #9
0
ファイル: forms.py プロジェクト: cloudiaan/horizon
 def prepare_cgroup_source_field(self, request, cgroup_id):
     try:
         cgroup = cinder.volume_cgroup_get(request,
                                           cgroup_id)
         self.fields['cgroup_source'].choices = ((cgroup_id,
                                                  cgroup),)
     except Exception:
         exceptions.handle(request, _('Unable to load the specified '
                                      'consistency group.'))
コード例 #10
0
ファイル: views.py プロジェクト: 28607895/horizon
 def _get_object(self, *args, **kwargs):
     cgroup_id = self.kwargs['cgroup_id']
     try:
         cgroup = cinder.volume_cgroup_get(self.request, cgroup_id)
     except Exception:
         exceptions.handle(self.request,
                           _('Unable to retrieve consistency group '
                             'details.'),
                           redirect=reverse(INDEX_URL))
     return cgroup
コード例 #11
0
 def get_object(self):
     cgroup_id = self.kwargs['cgroup_id']
     try:
         self._object = cinder.volume_cgroup_get(self.request, cgroup_id)
     except Exception:
         exceptions.handle(self.request,
                           _('Unable to retrieve consistency group '
                             'details.'),
                           redirect=reverse(INDEX_URL))
     return self._object
コード例 #12
0
    def test_update_cgroup_name_and_description(self):
        cgroup = self.cinder_consistencygroups.first()
        formData = {'volume_types': '1',
                    'name': 'test CG-new',
                    'description': 'test desc-new'}

        cinder.volume_cgroup_get(IsA(
            http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_update(
            IsA(http.HttpRequest),
            formData['name'],
            formData['description'])\
            .AndReturn(cgroup)
        self.mox.ReplayAll()

        url = reverse('horizon:project:volumes:cgroups:update',
                      args=[cgroup.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
コード例 #13
0
    def test_update_cgroup_name_and_description(self):
        cgroup = self.cinder_consistencygroups.first()
        formData = {'volume_types': '1',
                    'name': 'test CG-new',
                    'description': 'test desc-new'}

        cinder.volume_cgroup_get(IsA(
            http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_update(
            IsA(http.HttpRequest),
            formData['name'],
            formData['description'])\
            .AndReturn(cgroup)
        self.mox.ReplayAll()

        url = reverse('horizon:project:volumes:cgroups:update',
                      args=[cgroup.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
コード例 #14
0
    def test_update_cgroup_with_exception(self):
        cgroup = self.cinder_consistencygroups.first()
        formData = {'volume_types': '1',
                    'name': 'test CG-new',
                    'description': 'test desc-new'}

        cinder.volume_cgroup_get(IsA(
            http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_update(
            IsA(http.HttpRequest),
            formData['name'],
            formData['description'])\
            .AndRaise(self.exceptions.cinder)
        self.mox.ReplayAll()

        url = reverse('horizon:project:volumes:cgroups:update',
                      args=[cgroup.id])
        res = self.client.post(url, formData)

        self.assertRedirectsNoFollow(res, VOLUME_INDEX_URL)
コード例 #15
0
    def test_update_cgroup_with_exception(self):
        cgroup = self.cinder_consistencygroups.first()
        formData = {'volume_types': '1',
                    'name': 'test CG-new',
                    'description': 'test desc-new'}

        cinder.volume_cgroup_get(IsA(
            http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_update(
            IsA(http.HttpRequest),
            formData['name'],
            formData['description'])\
            .AndRaise(self.exceptions.cinder)
        self.mox.ReplayAll()

        url = reverse('horizon:project:volumes:cgroups:update',
                      args=[cgroup.id])
        res = self.client.post(url, formData)

        self.assertRedirectsNoFollow(res, VOLUME_INDEX_URL)
コード例 #16
0
    def test_update_cgroup_remove_vol(self):
        cgroup = self.cinder_consistencygroups.first()
        volume = self.cinder_volumes.first()
        formData = {'volume_types': '1',
                    'name': 'test CG',
                    'description': 'test desc'}

        cinder.volume_cgroup_get(IsA(
            http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_update(
            IsA(http.HttpRequest),
            formData['name'],
            formData['description'],
            remove_vols=volume)\
            .AndReturn(cgroup)
        self.mox.ReplayAll()

        url = reverse('horizon:project:cgroups:update',
                      args=[cgroup.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, INDEX_URL)
コード例 #17
0
ファイル: tests.py プロジェクト: amotoki/horizon
    def test_update_cgroup_remove_vol(self):
        cgroup = self.cinder_consistencygroups.first()
        volume = self.cinder_volumes.first()
        formData = {'volume_types': '1',
                    'name': 'test CG',
                    'description': 'test desc'}

        cinder.volume_cgroup_get(IsA(
            http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_update(
            IsA(http.HttpRequest),
            formData['name'],
            formData['description'],
            remove_vols=volume)\
            .AndReturn(cgroup)
        self.mox.ReplayAll()

        url = reverse('horizon:project:cgroups:update',
                      args=[cgroup.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, INDEX_URL)
コード例 #18
0
ファイル: tests.py プロジェクト: amotoki/horizon
    def test_detail_view(self):
        cg_snapshot = self.cinder_cg_snapshots.first()
        cgroup = self.cinder_consistencygroups.first()
        volume_type = self.cinder_volume_types.first()
        volumes = self.cinder_volumes.list()

        cinder.volume_cg_snapshot_get(IsA(http.HttpRequest), cg_snapshot.id).\
            AndReturn(cg_snapshot)
        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_type_get(IsA(http.HttpRequest), volume_type.id).\
            MultipleTimes().AndReturn(volume_type)
        search_opts = {'consistencygroup_id': cgroup.id}
        cinder.volume_list(IsA(http.HttpRequest), search_opts=search_opts).\
            AndReturn(volumes)

        self.mox.ReplayAll()

        url = reverse(
            'horizon:project:cg_snapshots:cg_snapshot_detail',
            args=[cg_snapshot.id])
        res = self.client.get(url)
        self.assertNoFormErrors(res)
        self.assertEqual(res.status_code, 200)
コード例 #19
0
ファイル: tests.py プロジェクト: chetanzope/mytheme
    def test_detail_view(self):
        cg_snapshot = self.cinder_cg_snapshots.first()
        cgroup = self.cinder_consistencygroups.first()
        volume_type = self.cinder_volume_types.first()
        volumes = self.cinder_volumes.list()

        cinder.volume_cg_snapshot_get(IsA(http.HttpRequest), cg_snapshot.id).\
            AndReturn(cg_snapshot)
        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_type_get(IsA(http.HttpRequest), volume_type.id).\
            MultipleTimes().AndReturn(volume_type)
        search_opts = {'consistencygroup_id': cgroup.id}
        cinder.volume_list(IsA(http.HttpRequest), search_opts=search_opts).\
            AndReturn(volumes)

        self.mox.ReplayAll()

        url = reverse(
            'horizon:project:cg_snapshots:cg_snapshot_detail',
            args=[cg_snapshot.id])
        res = self.client.get(url)
        self.assertNoFormErrors(res)
        self.assertEqual(res.status_code, 200)
コード例 #20
0
ファイル: tables.py プロジェクト: ankur-gupta91/horizoncinder
 def get_data(self, request, cgroup_id):
     cgroup = cinder.volume_cgroup_get(request, cgroup_id)
     return cgroup