summaryrefslogtreecommitdiff
path: root/functional/common
diff options
context:
space:
mode:
Diffstat (limited to 'functional/common')
-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: