def test_delete_group(self): self.mox.StubOutWithMock(api, 'security_group_delete') api.security_group_delete(IsA(http.HttpRequest), '2') self.mox.ReplayAll() form_data = {"action": "security_groups__delete__%s" % '2'} req = self.factory.post(INDEX_URL, form_data) table = SecurityGroupsTable(req, self.security_groups) handled = table.maybe_handle() self.assertEqual(handled['location'], INDEX_URL)
def test_delete_group_exception(self): self.mox.StubOutWithMock(api, 'security_group_delete') exception = engineclient_exceptions.ClientException('ClientException', message='ClientException') api.security_group_delete(IsA(http.HttpRequest), '2').\ AndRaise(exception) self.mox.ReplayAll() form_data = {"action": "security_groups__delete__%s" % '2'} req = self.factory.post(INDEX_URL, form_data) table = SecurityGroupsTable(req, self.security_groups) handled = table.maybe_handle() self.assertEqual(handled['location'], INDEX_URL)
def handle(self, table, request, object_ids): tenant_id = request.user.tenant_id deleted = [] for obj_id in object_ids: obj = table.get_object_by_id(int(obj_id)) if obj.name == "default": messages.info(request, _("The default group can't be deleted")) continue try: security_group = api.security_group_delete(request, obj_id) deleted.append(obj) LOG.info('Deleted security_group: "%s"' % obj.name) except engineclient_exceptions.ClientException, e: LOG.exception("Error deleting security group") messages.error(request, _('Unable to delete group: %s') % obj.name)