summaryrefslogtreecommitdiff
path: root/functional/tests/network
diff options
context:
space:
mode:
authorRichard Theis <rtheis@us.ibm.com>2016-02-05 09:52:34 -0600
committerRichard Theis <rtheis@us.ibm.com>2016-02-05 09:54:58 -0600
commita83602341121ccd252a8eaaa390f387b5230cd75 (patch)
treef121f3cb912acf3dff012739c2d5b81ea7b8cc3f /functional/tests/network
parent42b607edf117e4a3f421a554308330409c88dbb1 (diff)
downloadpython-openstackclient-a83602341121ccd252a8eaaa390f387b5230cd75.tar.gz
Refactor security group functional tests
Moved the functional tests for "os security group" and "os security group rule" from the compute to the network directory to align with the refactoring to the commands. Change-Id: Ief6ab17775c6d7e3bef58d9fa025d9dd520b7370 Partial-Bug: #1519511 Partial-Bug: #1519512 Related-to: blueprint neutron-client
Diffstat (limited to 'functional/tests/network')
-rw-r--r--functional/tests/network/v2/test_security_group.py57
-rw-r--r--functional/tests/network/v2/test_security_group_rule.py59
2 files changed, 116 insertions, 0 deletions
diff --git a/functional/tests/network/v2/test_security_group.py b/functional/tests/network/v2/test_security_group.py
new file mode 100644
index 00000000..2089b1d5
--- /dev/null
+++ b/functional/tests/network/v2/test_security_group.py
@@ -0,0 +1,57 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import uuid
+
+from functional.common import test
+
+
+class SecurityGroupTests(test.TestCase):
+ """Functional tests for security group. """
+ NAME = uuid.uuid4().hex
+ OTHER_NAME = uuid.uuid4().hex
+ HEADERS = ['Name']
+ FIELDS = ['name']
+
+ @classmethod
+ def setUpClass(cls):
+ opts = cls.get_show_opts(cls.FIELDS)
+ raw_output = cls.openstack('security group create ' + cls.NAME + opts)
+ expected = cls.NAME + '\n'
+ cls.assertOutput(expected, raw_output)
+
+ @classmethod
+ def tearDownClass(cls):
+ # Rename test
+ opts = cls.get_show_opts(cls.FIELDS)
+ raw_output = cls.openstack('security group set --name ' +
+ cls.OTHER_NAME + ' ' + cls.NAME + opts)
+ cls.assertOutput(cls.OTHER_NAME + "\n", raw_output)
+ # Delete test
+ raw_output = cls.openstack('security group delete ' + cls.OTHER_NAME)
+ cls.assertOutput('', raw_output)
+
+ def test_security_group_list(self):
+ opts = self.get_list_opts(self.HEADERS)
+ raw_output = self.openstack('security group list' + opts)
+ self.assertIn(self.NAME, raw_output)
+
+ def test_security_group_set(self):
+ opts = self.get_show_opts(['description', 'name'])
+ raw_output = self.openstack('security group set --description NSA ' +
+ self.NAME + opts)
+ self.assertEqual("NSA\n" + self.NAME + "\n", raw_output)
+
+ def test_security_group_show(self):
+ opts = self.get_show_opts(self.FIELDS)
+ raw_output = self.openstack('security group show ' + self.NAME + opts)
+ self.assertEqual(self.NAME + "\n", raw_output)
diff --git a/functional/tests/network/v2/test_security_group_rule.py b/functional/tests/network/v2/test_security_group_rule.py
new file mode 100644
index 00000000..e864b08f
--- /dev/null
+++ b/functional/tests/network/v2/test_security_group_rule.py
@@ -0,0 +1,59 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import uuid
+
+from functional.common import test
+
+
+class SecurityGroupRuleTests(test.TestCase):
+ """Functional tests for security group rule. """
+ SECURITY_GROUP_NAME = uuid.uuid4().hex
+ SECURITY_GROUP_RULE_ID = None
+ NAME_FIELD = ['name']
+ ID_FIELD = ['id']
+ ID_HEADER = ['ID']
+
+ @classmethod
+ def setUpClass(cls):
+ # Create the security group to hold the rule.
+ opts = cls.get_show_opts(cls.NAME_FIELD)
+ raw_output = cls.openstack('security group create ' +
+ cls.SECURITY_GROUP_NAME +
+ opts)
+ expected = cls.SECURITY_GROUP_NAME + '\n'
+ cls.assertOutput(expected, raw_output)
+
+ # Create the security group rule.
+ opts = cls.get_show_opts(cls.ID_FIELD)
+ raw_output = cls.openstack('security group rule create ' +
+ cls.SECURITY_GROUP_NAME +
+ ' --proto tcp --dst-port 80:80' +
+ opts)
+ cls.SECURITY_GROUP_RULE_ID = raw_output.strip('\n')
+
+ @classmethod
+ def tearDownClass(cls):
+ raw_output = cls.openstack('security group rule delete ' +
+ cls.SECURITY_GROUP_RULE_ID)
+ cls.assertOutput('', raw_output)
+
+ raw_output = cls.openstack('security group delete ' +
+ cls.SECURITY_GROUP_NAME)
+ cls.assertOutput('', raw_output)
+
+ def test_security_group_rule_list(self):
+ opts = self.get_list_opts(self.ID_HEADER)
+ raw_output = self.openstack('security group rule list ' +
+ self.SECURITY_GROUP_NAME +
+ opts)
+ self.assertIn(self.SECURITY_GROUP_RULE_ID, raw_output)