diff --git a/tempest/cmd/verify_tempest_config.py b/tempest/cmd/verify_tempest_config.py index 77b88f92fd..f07c2cf7c7 100644 --- a/tempest/cmd/verify_tempest_config.py +++ b/tempest/cmd/verify_tempest_config.py @@ -69,7 +69,7 @@ def contains_version(prefix, versions): def verify_glance_api_versions(os, update): # Check glance api versions - _, versions = os.image_client.get_versions() + versions = _get_api_versions(os, 'glance') if CONF.image_feature_enabled.api_v1 != contains_version('v1.', versions): print_and_or_update('api_v1', 'image-feature-enabled', not CONF.image_feature_enabled.api_v1, update) @@ -96,6 +96,7 @@ def _get_api_versions(os, service): 'nova': os.servers_client, 'keystone': os.identity_client, 'cinder': os.volumes_client, + 'glance': os.image_client, } if service != 'keystone': # Since keystone may be listening on a path, do not remove the path. diff --git a/tempest/tests/cmd/test_verify_tempest_config.py b/tempest/tests/cmd/test_verify_tempest_config.py index 70cbf87a58..3fe3200bd2 100644 --- a/tempest/tests/cmd/test_verify_tempest_config.py +++ b/tempest/tests/cmd/test_verify_tempest_config.py @@ -217,33 +217,45 @@ class TestDiscovery(base.TestCase): print_mock.assert_called_once_with('api_v1', 'volume-feature-enabled', False, True) - def test_verify_glance_version_no_v2_with_v1_1(self): - def fake_get_versions(): - return (None, ['v1.1']) + @mock.patch('tempest.lib.common.http.ClosingHttp.request') + def test_verify_glance_version_no_v2_with_v1_1(self, mock_request): + self.useFixture(mockpatch.PatchObject( + verify_tempest_config, '_get_unversioned_endpoint', + return_value='http://fake_endpoint:5000')) + fake_resp = {'versions': [{'id': 'v1.1'}]} + fake_resp = json.dumps(fake_resp) + mock_request.return_value = (None, fake_resp) fake_os = mock.MagicMock() - fake_os.image_client.get_versions = fake_get_versions with mock.patch.object(verify_tempest_config, 'print_and_or_update') as print_mock: verify_tempest_config.verify_glance_api_versions(fake_os, True) print_mock.assert_called_once_with('api_v2', 'image-feature-enabled', False, True) - def test_verify_glance_version_no_v2_with_v1_0(self): - def fake_get_versions(): - return (None, ['v1.0']) + @mock.patch('tempest.lib.common.http.ClosingHttp.request') + def test_verify_glance_version_no_v2_with_v1_0(self, mock_request): + self.useFixture(mockpatch.PatchObject( + verify_tempest_config, '_get_unversioned_endpoint', + return_value='http://fake_endpoint:5000')) + fake_resp = {'versions': [{'id': 'v1.0'}]} + fake_resp = json.dumps(fake_resp) + mock_request.return_value = (None, fake_resp) fake_os = mock.MagicMock() - fake_os.image_client.get_versions = fake_get_versions with mock.patch.object(verify_tempest_config, 'print_and_or_update') as print_mock: verify_tempest_config.verify_glance_api_versions(fake_os, True) print_mock.assert_called_once_with('api_v2', 'image-feature-enabled', False, True) - def test_verify_glance_version_no_v1(self): - def fake_get_versions(): - return (None, ['v2.0']) + @mock.patch('tempest.lib.common.http.ClosingHttp.request') + def test_verify_glance_version_no_v1(self, mock_request): + self.useFixture(mockpatch.PatchObject( + verify_tempest_config, '_get_unversioned_endpoint', + return_value='http://fake_endpoint:5000')) + fake_resp = {'versions': [{'id': 'v2.0'}]} + fake_resp = json.dumps(fake_resp) + mock_request.return_value = (None, fake_resp) fake_os = mock.MagicMock() - fake_os.image_client.get_versions = fake_get_versions with mock.patch.object(verify_tempest_config, 'print_and_or_update') as print_mock: verify_tempest_config.verify_glance_api_versions(fake_os, True)