Esempio n. 1
0
 def delete(self, request, obj_id):
     try:
         api.swift_delete_container(request, obj_id)
     except ContainerNotEmpty:
         messages.error(request,
                        _('Containers must be empty before deletion.'))
         raise
Esempio n. 2
0
 def handle(self, request, data):
     try:
         api.swift_delete_container(request, data['container_name'])
     except ContainerNotEmpty, e:
         messages.error(request,
                        _('Unable to delete non-empty container: %s') %
                        data['container_name'])
         LOG.exception('Unable to delete container "%s".  Exception: "%s"' %
                   (data['container_name'], str(e)))
Esempio n. 3
0
    def test_delete_container(self):
        container = self.containers.get(name=u"container_two\u6346")
        self.mox.StubOutWithMock(api, 'swift_delete_container')
        api.swift_delete_container(IsA(http.HttpRequest), container.name)
        self.mox.ReplayAll()

        action_string = u"containers__delete__%s" % container.name
        form_data = {"action": action_string}
        req = self.factory.post(CONTAINER_INDEX_URL, form_data)
        table = ContainersTable(req, self.containers.list())
        handled = table.maybe_handle()
        self.assertEqual(handled['location'], CONTAINER_INDEX_URL)
Esempio n. 4
0
 def handle(self, table, request, object_ids):
     deleted = []
     for obj_id in object_ids:
         obj = table.get_object_by_id(obj_id)
         try:
             api.swift_delete_container(request, obj_id)
             deleted.append(obj)
         except ContainerNotEmpty, e:
             LOG.exception('Unable to delete container "%s".' % obj.name)
             messages.error(request,
                            _('Unable to delete non-empty container: %s') %
                            obj.name)
Esempio n. 5
0
    def test_delete_container_nonempty(self):
        container = self.containers.first()
        self.mox.StubOutWithMock(api, "swift_delete_container")
        exc = ContainerNotEmpty("containerNotEmpty")
        api.swift_delete_container(IsA(http.HttpRequest), container.name).AndRaise(exc)
        self.mox.ReplayAll()

        action_string = u"containers__delete__%s" % container.name
        form_data = {"action": action_string}
        req = self.factory.post(CONTAINER_INDEX_URL, form_data)
        table = ContainersTable(req, self.containers.list())
        handled = table.maybe_handle()
        self.assertEqual(handled["location"], CONTAINER_INDEX_URL)
Esempio n. 6
0
    def test_delete_container(self):
        formData = {'container_name': 'containerName',
                    'method': 'DeleteContainer'}

        self.mox.StubOutWithMock(api, 'swift_delete_container')
        api.swift_delete_container(IsA(http.HttpRequest),
                                   'containerName')

        self.mox.ReplayAll()

        res = self.client.post(CONTAINER_INDEX_URL, formData)

        self.assertRedirectsNoFollow(res, CONTAINER_INDEX_URL)
Esempio n. 7
0
    def test_delete_container_nonempty(self):
        self.mox.StubOutWithMock(api, 'swift_delete_container')

        exception = ContainerNotEmpty('containerNotEmpty')
        api.swift_delete_container(
                IsA(http.HttpRequest),
                'containerName').AndRaise(exception)

        self.mox.ReplayAll()

        action_string = "containers__delete__%s" % self.container.name
        form_data = {"action": action_string}
        req = self.factory.post(CONTAINER_INDEX_URL, form_data)
        table = ContainersTable(req, self.containers)
        handled = table.maybe_handle()

        self.assertEqual(handled['location'], CONTAINER_INDEX_URL)
Esempio n. 8
0
 def handle(self, table, request, object_ids):
     deleted = []
     for obj_id in object_ids:
         obj = table.get_object_by_id(obj_id)
         try:
             api.swift_delete_container(request, obj_id)
             deleted.append(obj)
         except ContainerNotEmpty:
             LOG.exception('Unable to delete container "%s".' % obj.name)
             messages.error(request,
                            _('Unable to delete non-empty container: %s') %
                            obj.name)
     if deleted:
         messages.success(request,
                          _('Successfully deleted containers: %s')
                            % ", ".join([obj.name for obj in deleted]))
     return shortcuts.redirect('horizon:nova:containers:index')
Esempio n. 9
0
    def test_delete_container_nonempty(self):
        formData = {'container_name': 'containerName',
                          'method': 'DeleteContainer'}

        exception = ContainerNotEmpty('containerNotEmpty')

        self.mox.StubOutWithMock(api, 'swift_delete_container')
        api.swift_delete_container(
                IsA(http.HttpRequest),
                'containerName').AndRaise(exception)

        self.mox.StubOutWithMock(messages, 'error')

        messages.error(IgnoreArg(), IsA(unicode))

        self.mox.ReplayAll()

        res = self.client.post(CONTAINER_INDEX_URL, formData)

        self.assertRedirectsNoFollow(res, CONTAINER_INDEX_URL)
Esempio n. 10
0
 def delete(self, request, obj_id):
     api.swift_delete_container(request, obj_id)