summaryrefslogtreecommitdiff
path: root/functional/tests
diff options
context:
space:
mode:
authorSteve Martinelli <stevemar@ca.ibm.com>2014-09-19 02:42:55 +0000
committerSteve Martinelli <stevemar@ca.ibm.com>2014-10-01 19:46:07 -0400
commit742982af4bb94b73a78c06688732acf1c8127f8a (patch)
tree0c84f0dbcb181e044c440bf7411811b014d72495 /functional/tests
parent02320a5a2437acdc501a003cca53310a444e4b4e (diff)
downloadpython-openstackclient-742982af4bb94b73a78c06688732acf1c8127f8a.tar.gz
Add functional tests to osc
Create a script that kicks off function tests that exercise openstackclient commands against a cloud. If no keystone/openstack process is detected, a devstack instance is spun up and the tests are run against that. There is also a hook added to tox.ini so that we can run these tests easily from a gate job. Change-Id: I3cc8b2b800de7ca74af506d2c7e8ee481fa985f0
Diffstat (limited to 'functional/tests')
-rw-r--r--functional/tests/__init__.py0
-rw-r--r--functional/tests/test_identity.py35
2 files changed, 35 insertions, 0 deletions
diff --git a/functional/tests/__init__.py b/functional/tests/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/functional/tests/__init__.py
diff --git a/functional/tests/test_identity.py b/functional/tests/test_identity.py
new file mode 100644
index 00000000..5f8b4cb0
--- /dev/null
+++ b/functional/tests/test_identity.py
@@ -0,0 +1,35 @@
+# 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.
+
+from functional.common import exceptions
+from functional.common import test
+
+
+class IdentityV2Tests(test.TestCase):
+ """Functional tests for Identity V2 commands. """
+
+ def test_user_list(self):
+ field_names = ['ID', 'Name']
+ raw_output = self.openstack('user list')
+ items = self.parse_listing(raw_output)
+ self.assert_table_structure(items, field_names)
+
+ def test_user_get(self):
+ field_names = ['email', 'enabled', 'id', 'name',
+ 'project_id', 'username']
+ raw_output = self.openstack('user show admin')
+ items = self.parse_show(raw_output)
+ self.assert_show_fields(items, field_names)
+
+ def test_bad_user_command(self):
+ self.assertRaises(exceptions.CommandFailed,
+ self.openstack, 'user unlist')