diff options
| author | Dean Troyer <dtroyer@gmail.com> | 2019-08-22 11:05:05 -0500 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2019-08-22 11:05:09 -0500 |
| commit | 3b2863e369ef472042a054e11d189b6fbc34bb42 (patch) | |
| tree | da037ac80553edd78e9be652ae6abfdc0cc387cd /openstackclient/tests/functional/base.py | |
| parent | a15e4741fa1c02e3e87ce072cfee2b19f9279924 (diff) | |
| download | python-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.py | 24 |
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 ) |
