diff options
| author | Akihiro Motoki <amotoki@gmail.com> | 2017-07-12 09:42:28 +0000 |
|---|---|---|
| committer | Akihiro Motoki <amotoki@gmail.com> | 2017-07-12 12:26:00 +0000 |
| commit | 3cba09e767c6af3f715828966f0d0fa21edc00a8 (patch) | |
| tree | bfc316c875fe3ad4e82c9f3ecca6e7bf6922e2c6 /openstackclient/tests/unit/integ | |
| parent | faf6e16120206de763c1570698f71114307dab98 (diff) | |
| download | python-openstackclient-3cba09e767c6af3f715828966f0d0fa21edc00a8.tar.gz | |
Fix unit test failures related to new os-client-config and osc-lib
[breakage related to os-client-config 1.28.0]
os-client-config 1.28.0 add a check if filebased and envvars are
both used. This check causes OSC unit test failure.
OSC now instantiates OpenStackConfig twice as a workaround.
The unit test mocks _load_config_file() and it returns a config dict,
but os-client-config OpenStackConfig.__init__ updates the dict returned.
As a result, when OpenStackConfig is instantiated second time,
the mock of _load_config_file returns a modified version of the config
dict. This hits the new check in os-client-config 1.28.0.
This commit changes the mock to use side_effect rather than return_value
to ensure the original dict is used.
[breakage related to osc-lib 1.7.0]
The change in osc-lib 1.7.0 added "if" logic to avoid calling get() twice.
In tests.unit.volume.test_find_resource, kwargs is empty dict in find_resource(),
so the second call to get() is NOT called now.
Removing the second elements of side_effect addresses the unit failure.
Co-Authored-By: Rui Chen <chenrui.momo@gmail.com>
Change-Id: Ib9d14661b2755bbd6619e15c0d9023fbc9d27d70
Closes-Bug: #1703782
Closes-Bug: #1703783
Diffstat (limited to 'openstackclient/tests/unit/integ')
| -rw-r--r-- | openstackclient/tests/unit/integ/cli/test_shell.py | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/openstackclient/tests/unit/integ/cli/test_shell.py b/openstackclient/tests/unit/integ/cli/test_shell.py index 9d819ed2..4e91f637 100644 --- a/openstackclient/tests/unit/integ/cli/test_shell.py +++ b/openstackclient/tests/unit/integ/cli/test_shell.py @@ -397,14 +397,14 @@ class TestIntegShellCliPrecedenceOCC(test_base.TestInteg): Run 1 has --os-password on CLI """ - config_mock.return_value = ( - 'file.yaml', - copy.deepcopy(test_shell.CLOUD_2), - ) - vendor_mock.return_value = ( - 'file.yaml', - copy.deepcopy(test_shell.PUBLIC_1), - ) + def config_mock_return(): + return ('file.yaml', copy.deepcopy(test_shell.CLOUD_2)) + config_mock.side_effect = config_mock_return + + def vendor_mock_return(): + return ('file.yaml', copy.deepcopy(test_shell.PUBLIC_1)) + vendor_mock.side_effect = vendor_mock_return + _shell = shell.OpenStackShell() _shell.run( "--os-password qaz configuration show".split(), @@ -466,14 +466,14 @@ class TestIntegShellCliPrecedenceOCC(test_base.TestInteg): Run 2 has --os-username, --os-password, --os-project-domain-id on CLI """ - config_mock.return_value = ( - 'file.yaml', - copy.deepcopy(test_shell.CLOUD_2), - ) - vendor_mock.return_value = ( - 'file.yaml', - copy.deepcopy(test_shell.PUBLIC_1), - ) + def config_mock_return(): + return ('file.yaml', copy.deepcopy(test_shell.CLOUD_2)) + config_mock.side_effect = config_mock_return + + def vendor_mock_return(): + return ('file.yaml', copy.deepcopy(test_shell.PUBLIC_1)) + vendor_mock.side_effect = vendor_mock_return + _shell = shell.OpenStackShell() _shell.run( "--os-username zarquon --os-password qaz " |
