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
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)))
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)
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)
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)
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)
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)
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')
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)
def delete(self, request, obj_id): api.swift_delete_container(request, obj_id)