Comment 4 for bug 1703783

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-openstackclient (master)

Reviewed: https://review.openstack.org/482880
Committed: https://git.openstack.org/cgit/openstack/python-openstackclient/commit/?id=3cba09e767c6af3f715828966f0d0fa21edc00a8
Submitter: Jenkins
Branch: master

commit 3cba09e767c6af3f715828966f0d0fa21edc00a8
Author: Akihiro Motoki <email address hidden>
Date: Wed Jul 12 09:42:28 2017 +0000

    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 <email address hidden>
    Change-Id: Ib9d14661b2755bbd6619e15c0d9023fbc9d27d70
    Closes-Bug: #1703782
    Closes-Bug: #1703783