summaryrefslogtreecommitdiff
path: root/openstackclient/tests/functional/base.py
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2019-08-22 11:05:05 -0500
committerDean Troyer <dtroyer@gmail.com>2019-08-22 11:05:09 -0500
commit3b2863e369ef472042a054e11d189b6fbc34bb42 (patch)
treeda037ac80553edd78e9be652ae6abfdc0cc387cd /openstackclient/tests/functional/base.py
parenta15e4741fa1c02e3e87ce072cfee2b19f9279924 (diff)
downloadpython-openstackclient-3b2863e369ef472042a054e11d189b6fbc34bb42.tar.gz
Fix functional.base.TestCase.openstack() to optionally omit --os-auth-type
Change the functional test TestCase.openstack() method to add a way to not include the --os-auth-type option in order to test the default auth-type logic. Change-Id: I0f1ca2f7517a41278afaad5aaf4e98accb16bea2 Signed-off-by: Dean Troyer <dtroyer@gmail.com>
Diffstat (limited to 'openstackclient/tests/functional/base.py')
-rw-r--r--openstackclient/tests/functional/base.py24
1 files changed, 19 insertions, 5 deletions
diff --git a/openstackclient/tests/functional/base.py b/openstackclient/tests/functional/base.py
index c34ca393..08e9390e 100644
--- a/openstackclient/tests/functional/base.py
+++ b/openstackclient/tests/functional/base.py
@@ -44,16 +44,30 @@ class TestCase(testtools.TestCase):
@classmethod
def openstack(cls, cmd, cloud=ADMIN_CLOUD, fail_ok=False):
- """Executes openstackclient command for the given action."""
- if cloud is not None:
+ """Executes openstackclient command for the given action
+
+ NOTE(dtroyer): There is a subtle distinction between pasing
+ cloud=None and cloud='': for compatibility reasons passing
+ cloud=None continues to include the option '--os-auth-type none'
+ in the command while passing cloud='' omits the '--os-auth-type'
+ option completely to let the default handlers be invoked.
+ """
+ if cloud is None:
+ # Execute command with no auth
return execute(
- 'openstack --os-cloud={cloud} '.format(cloud=cloud) + cmd,
+ 'openstack --os-auth-type none ' + cmd,
+ fail_ok=fail_ok
+ )
+ elif cloud == '':
+ # Execute command with no auth options at all
+ return execute(
+ 'openstack ' + cmd,
fail_ok=fail_ok
)
else:
- # Execute command with no auth
+ # Execure command with an explicit cloud specified
return execute(
- 'openstack --os-auth-type none ' + cmd,
+ 'openstack --os-cloud=' + cloud + ' ' + cmd,
fail_ok=fail_ok
)