From 3b169cca35f1335da92f7f44a1a0c9a09e887219 Mon Sep 17 00:00:00 2001 From: Nikita Gerasimov Date: Wed, 10 Aug 2016 17:10:42 +0300 Subject: [PATCH] Adds to verify_cinder_api_versions api_v3 check Change-Id: I5953c111127dfb332e4952fa48e3ceb04fb6bb98 Partial-Bug: 1611771 --- tempest/cmd/verify_tempest_config.py | 4 +++ .../tests/cmd/test_verify_tempest_config.py | 34 +++++++++++++++---- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/tempest/cmd/verify_tempest_config.py b/tempest/cmd/verify_tempest_config.py index 77b88f92fd..9947f2ac8a 100644 --- a/tempest/cmd/verify_tempest_config.py +++ b/tempest/cmd/verify_tempest_config.py @@ -147,6 +147,10 @@ def verify_cinder_api_versions(os, update): contains_version('v2.', versions)): print_and_or_update('api_v2', 'volume-feature-enabled', not CONF.volume_feature_enabled.api_v2, update) + if (CONF.volume_feature_enabled.api_v3 != + contains_version('v3.', versions)): + print_and_or_update('api_v3', 'volume-feature-enabled', + not CONF.volume_feature_enabled.api_v3, update) def verify_api_versions(os, service, update): diff --git a/tempest/tests/cmd/test_verify_tempest_config.py b/tempest/tests/cmd/test_verify_tempest_config.py index 70cbf87a58..00b45421b4 100644 --- a/tempest/tests/cmd/test_verify_tempest_config.py +++ b/tempest/tests/cmd/test_verify_tempest_config.py @@ -188,34 +188,54 @@ class TestDiscovery(base.TestCase): False, True) @mock.patch('tempest.lib.common.http.ClosingHttp.request') - def test_verify_cinder_api_versions_no_v2(self, mock_request): + def test_verify_cinder_api_versions_no_v3(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 = {'versions': [{'id': 'v1.0'}, {'id': 'v2.0'}]} fake_resp = json.dumps(fake_resp) mock_request.return_value = (None, fake_resp) fake_os = mock.MagicMock() with mock.patch.object(verify_tempest_config, 'print_and_or_update') as print_mock: verify_tempest_config.verify_cinder_api_versions(fake_os, True) - print_mock.assert_called_once_with('api_v2', 'volume-feature-enabled', - False, True) + print_mock.assert_not_called() + + @mock.patch('tempest.lib.common.http.ClosingHttp.request') + def test_verify_cinder_api_versions_no_v2(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'}, {'id': 'v3.0'}]} + fake_resp = json.dumps(fake_resp) + mock_request.return_value = (None, fake_resp) + fake_os = mock.MagicMock() + with mock.patch.object(verify_tempest_config, + 'print_and_or_update') as print_mock: + verify_tempest_config.verify_cinder_api_versions(fake_os, True) + print_mock.assert_any_call('api_v2', 'volume-feature-enabled', + False, True) + print_mock.assert_any_call('api_v3', 'volume-feature-enabled', + True, True) + self.assertEqual(2, print_mock.call_count) @mock.patch('tempest.lib.common.http.ClosingHttp.request') def test_verify_cinder_api_versions_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 = {'versions': [{'id': 'v2.0'}, {'id': 'v3.0'}]} fake_resp = json.dumps(fake_resp) mock_request.return_value = (None, fake_resp) fake_os = mock.MagicMock() with mock.patch.object(verify_tempest_config, 'print_and_or_update') as print_mock: verify_tempest_config.verify_cinder_api_versions(fake_os, True) - print_mock.assert_called_once_with('api_v1', 'volume-feature-enabled', - False, True) + print_mock.assert_any_call('api_v1', 'volume-feature-enabled', + False, True) + print_mock.assert_any_call('api_v3', 'volume-feature-enabled', + True, True) + self.assertEqual(2, print_mock.call_count) def test_verify_glance_version_no_v2_with_v1_1(self): def fake_get_versions():