summaryrefslogtreecommitdiff
path: root/functional/common/test.py
diff options
context:
space:
mode:
authorTerryHowe <terrylhowe@gmail.com>2015-04-29 05:11:58 -0600
committerTerry Howe <terrylhowe@gmail.com>2015-05-17 12:33:39 +0000
commit29f29e44d3ed894ebac5fe26d4410bd31149145a (patch)
treed78047d67387c7178690f77f36101c9f5e5c30be /functional/common/test.py
parentd39b9c91c4801753895fac8047aa2371a63bb96a (diff)
downloadpython-openstackclient-29f29e44d3ed894ebac5fe26d4410bd31149145a.tar.gz
Use format options for functional tests
Use the format options for functional tests so we can have more assertEquals and less assertIn. Change-Id: I34e6c76b42964f7b596ea35e6b0354a242611cb4
Diffstat (limited to 'functional/common/test.py')
-rw-r--r--functional/common/test.py31
1 files changed, 29 insertions, 2 deletions
diff --git a/functional/common/test.py b/functional/common/test.py
index 4a92def0..7beaf39a 100644
--- a/functional/common/test.py
+++ b/functional/common/test.py
@@ -28,12 +28,12 @@ EXAMPLE_DIR = os.path.join(ROOT_DIR, 'examples')
def execute(cmd, fail_ok=False, merge_stderr=False):
"""Executes specified command for the given action."""
- cmd = shlex.split(cmd.encode('utf-8'))
+ cmdlist = shlex.split(cmd.encode('utf-8'))
result = ''
result_err = ''
stdout = subprocess.PIPE
stderr = subprocess.STDOUT if merge_stderr else subprocess.PIPE
- proc = subprocess.Popen(cmd, stdout=stdout, stderr=stderr)
+ proc = subprocess.Popen(cmdlist, stdout=stdout, stderr=stderr)
result, result_err = proc.communicate()
if not fail_ok and proc.returncode != 0:
raise exceptions.CommandFailed(proc.returncode, cmd, result,
@@ -50,6 +50,33 @@ class TestCase(testtools.TestCase):
"""Executes openstackclient command for the given action."""
return execute('openstack ' + cmd, fail_ok=fail_ok)
+ @classmethod
+ def get_show_opts(cls, fields=[]):
+ return ' -f value ' + ' '.join(['-c ' + it for it in fields])
+
+ @classmethod
+ def get_list_opts(cls, headers=[]):
+ opts = ' -f csv --quote none '
+ opts = opts + ' '.join(['-c ' + it for it in headers])
+ return opts
+
+ @classmethod
+ def assertOutput(cls, expected, actual):
+ if expected != actual:
+ raise Exception(expected + ' != ' + actual)
+
+ @classmethod
+ def assertInOutput(cls, expected, actual):
+ if expected not in actual:
+ raise Exception(expected + ' not in ' + actual)
+
+ @classmethod
+ def cleanup_tmpfile(cls, filename):
+ try:
+ os.remove(filename)
+ except OSError:
+ pass
+
def assert_table_structure(self, items, field_names):
"""Verify that all items have keys listed in field_names."""
for item in items: