From a9c6bb4647afd3df985cf40531d48957ad5d9580 Mon Sep 17 00:00:00 2001 From: Aaron Rosen Date: Wed, 8 Jan 2014 13:03:29 -0800 Subject: [PATCH] Add test to port_security to test with security_groups This patch adds a missing testcase to the port_security tests to test for creating a port with port_security_enabled=False and passing in a security group. Closes-bug: #1267246 Change-Id: Ifb5a5571f016a5d7c5b5075c97dc27279cd79bb7 --- .../tests/unit/test_extension_portsecurity.py | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/neutron/tests/unit/test_extension_portsecurity.py b/neutron/tests/unit/test_extension_portsecurity.py index 01d1187dd..cdee46685 100644 --- a/neutron/tests/unit/test_extension_portsecurity.py +++ b/neutron/tests/unit/test_extension_portsecurity.py @@ -23,14 +23,20 @@ from neutron.extensions import portsecurity as psec from neutron.extensions import securitygroup as ext_sg from neutron.manager import NeutronManager from neutron.tests.unit import test_db_plugin +from neutron.tests.unit import test_extension_security_group DB_PLUGIN_KLASS = ('neutron.tests.unit.test_extension_portsecurity.' 'PortSecurityTestPlugin') -class PortSecurityTestCase(test_db_plugin.NeutronDbPluginV2TestCase): +class PortSecurityTestCase( + test_extension_security_group.SecurityGroupsTestCase, + test_db_plugin.NeutronDbPluginV2TestCase): + def setUp(self, plugin=None): - super(PortSecurityTestCase, self).setUp(plugin) + ext_mgr = ( + test_extension_security_group.SecurityGroupTestExtensionManager()) + super(PortSecurityTestCase, self).setUp(plugin=plugin, ext_mgr=ext_mgr) # Check if a plugin supports security groups plugin_obj = NeutronManager.get_plugin() @@ -230,6 +236,22 @@ class TestPortSecurity(PortSecurityDBTestCase): self.assertEqual(port['port'][psec.PORTSECURITY], True) self._delete('ports', port['port']['id']) + def test_create_port_fails_with_secgroup_and_port_security_false(self): + if self._skip_security_group: + self.skipTest("Plugin does not support security groups") + with self.network() as net: + with self.subnet(network=net): + security_group = self.deserialize( + 'json', + self._create_security_group(self.fmt, 'asdf', 'asdf')) + security_group_id = security_group['security_group']['id'] + res = self._create_port('json', net['network']['id'], + arg_list=('security_groups', + 'port_security_enabled'), + security_groups=[security_group_id], + port_security_enabled=False) + self.assertEqual(res.status_int, 400) + def test_create_port_with_default_security_group(self): if self._skip_security_group: self.skipTest("Plugin does not support security groups") -- 2.45.2