From f006c920e0dc3d3465b0af27b0154aeee3fad373 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Thu, 23 Feb 2012 14:00:42 -0500 Subject: Don't delete security group in use from OS API. Fix bug 938853. This patch adds a check to the OpenStack API so that a security group still in use can not be deleted. This same check just recently went in for the EC2 API. Change-Id: I75dc47c5f5d227b94c45ba8a0f00c37bd63f09fc --- .../openstack/compute/contrib/test_security_groups.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'nova/tests') diff --git a/nova/tests/api/openstack/compute/contrib/test_security_groups.py b/nova/tests/api/openstack/compute/contrib/test_security_groups.py index 609eb9ba0..a64ec7b6f 100644 --- a/nova/tests/api/openstack/compute/contrib/test_security_groups.py +++ b/nova/tests/api/openstack/compute/contrib/test_security_groups.py @@ -331,6 +331,25 @@ class TestSecurityGroups(test.TestCase): self.assertRaises(webob.exc.HTTPNotFound, self.controller.delete, req, '11111111') + def test_delete_security_group_in_use(self): + sg = security_group_template(id=1, rules=[]) + + def security_group_in_use(context, id): + return True + + def return_security_group(context, group_id): + self.assertEquals(sg['id'], group_id) + return security_group_db(sg) + + self.stubs.Set(nova.db, 'security_group_in_use', + security_group_in_use) + self.stubs.Set(nova.db, 'security_group_get', + return_security_group) + + req = fakes.HTTPRequest.blank('/v2/fake/os-security-groups/1') + self.assertRaises(webob.exc.HTTPBadRequest, self.controller.delete, + req, '1') + def test_associate_by_non_existing_security_group_name(self): body = dict(addSecurityGroup=dict(name='non-existing')) -- cgit