From 14f63647e9d9b6f44a3e99c545b6cb97fe31f0ff Mon Sep 17 00:00:00 2001 From: "Chaozhe.Chen" Date: Mon, 11 Jan 2016 16:45:25 +0800 Subject: [PATCH] Test: Clean v2 client userwarning Problem: When we run nova client unit test, there are lots of UserWarnings printed on the screen. These warnings mean to remind users not to use v2.client directly. Solution: 1. In top level tests such as some tests in test_auth_plugins.py test_client.py and fixture_data/client.py, we use updated usage novaclient.client instead of using novaclient.v2.client directly. 2. In v2 unit tests, we clean those warnings with setting direct_use False. Change-Id: I70682e54874860f1d67d29325811c9da616bb705 Closes-Bug: #1532711 --- novaclient/tests/unit/fixture_data/client.py | 12 ++++----- novaclient/tests/unit/test_auth_plugins.py | 18 ++++++------- novaclient/tests/unit/test_client.py | 28 ++++++++++---------- novaclient/tests/unit/v2/contrib/fakes.py | 3 ++- novaclient/tests/unit/v2/fakes.py | 5 ++-- novaclient/tests/unit/v2/test_auth.py | 28 ++++++++++++-------- novaclient/tests/unit/v2/test_client.py | 6 +++-- 7 files changed, 55 insertions(+), 45 deletions(-) diff --git a/novaclient/tests/unit/fixture_data/client.py b/novaclient/tests/unit/fixture_data/client.py index 8aff839b8..d4d602073 100644 --- a/novaclient/tests/unit/fixture_data/client.py +++ b/novaclient/tests/unit/fixture_data/client.py @@ -15,7 +15,7 @@ from keystoneauth1 import fixture from keystoneauth1 import loading from keystoneauth1 import session -from novaclient.v2 import client as v2client +from novaclient import client IDENTITY_URL = 'http://identityserver:5000/v2.0' COMPUTE_URL = 'http://compute.host' @@ -55,10 +55,10 @@ class V1(fixtures.Fixture): self.client = self.new_client() def new_client(self): - return v2client.Client(username='xx', - api_key='xx', - project_id='xx', - auth_url=self.identity_url) + return client.Client("2", username='xx', + api_key='xx', + project_id='xx', + auth_url=self.identity_url) class SessionV1(V1): @@ -68,4 +68,4 @@ class SessionV1(V1): loader = loading.get_plugin_loader('password') self.session.auth = loader.load_from_options( auth_url=self.identity_url, username='xx', password='xx') - return v2client.Client(session=self.session) + return client.Client("2", session=self.session) diff --git a/novaclient/tests/unit/test_auth_plugins.py b/novaclient/tests/unit/test_auth_plugins.py index 2257b2a88..78dd393da 100644 --- a/novaclient/tests/unit/test_auth_plugins.py +++ b/novaclient/tests/unit/test_auth_plugins.py @@ -26,9 +26,9 @@ except ImportError: import simplejson as json from novaclient import auth_plugin +from novaclient import client from novaclient import exceptions from novaclient.tests.unit import utils -from novaclient.v2 import client def mock_http_request(resp=None): @@ -80,7 +80,7 @@ class DeprecatedAuthPluginTest(utils.TestCase): @mock.patch.object(requests, "request", mock_request) def test_auth_call(): plugin = auth_plugin.DeprecatedAuthPlugin("fake") - cs = client.Client("username", "password", "project_id", + cs = client.Client("2", "username", "password", "project_id", utils.AUTH_URL_V2, auth_system="fake", auth_plugin=plugin) cs.client.authenticate() @@ -110,7 +110,7 @@ class DeprecatedAuthPluginTest(utils.TestCase): def test_auth_call(): auth_plugin.discover_auth_systems() plugin = auth_plugin.DeprecatedAuthPlugin("notexists") - cs = client.Client("username", "password", "project_id", + cs = client.Client("2", "username", "password", "project_id", utils.AUTH_URL_V2, auth_system="notexists", auth_plugin=plugin) self.assertRaises(exceptions.AuthSystemNotFound, @@ -158,7 +158,7 @@ class DeprecatedAuthPluginTest(utils.TestCase): @mock.patch.object(requests, "request", mock_request) def test_auth_call(): plugin = auth_plugin.DeprecatedAuthPlugin("fakewithauthurl") - cs = client.Client("username", "password", "project_id", + cs = client.Client("2", "username", "password", "project_id", auth_system="fakewithauthurl", auth_plugin=plugin) cs.client.authenticate() @@ -186,7 +186,7 @@ class DeprecatedAuthPluginTest(utils.TestCase): plugin = auth_plugin.DeprecatedAuthPlugin("fakewithauthurl") self.assertRaises( exceptions.EndpointNotFound, - client.Client, "username", "password", "project_id", + client.Client, "2", "username", "password", "project_id", auth_system="fakewithauthurl", auth_plugin=plugin) @@ -213,7 +213,7 @@ class AuthPluginTest(utils.TestCase): auth_plugin.discover_auth_systems() plugin = auth_plugin.load_plugin("fake") - cs = client.Client("username", "password", "project_id", + cs = client.Client("2", "username", "password", "project_id", utils.AUTH_URL_V2, auth_system="fake", auth_plugin=plugin) cs.client.authenticate() @@ -304,7 +304,7 @@ class AuthPluginTest(utils.TestCase): auth_plugin.discover_auth_systems() plugin = auth_plugin.load_plugin("fake") - cs = client.Client("username", "password", "project_id", + cs = client.Client("2", "username", "password", "project_id", auth_system="fakewithauthurl", auth_plugin=plugin) self.assertEqual("http://faked/v2.0", cs.client.auth_url) @@ -330,7 +330,7 @@ class AuthPluginTest(utils.TestCase): self.assertRaises( exceptions.EndpointNotFound, - client.Client, "username", "password", "project_id", + client.Client, "2", "username", "password", "project_id", auth_system="fake", auth_plugin=plugin) @mock.patch.object(pkg_resources, "iter_entry_points") @@ -354,5 +354,5 @@ class AuthPluginTest(utils.TestCase): self.assertRaises( exceptions.EndpointNotFound, - client.Client, "username", "password", "project_id", + client.Client, "2", "username", "password", "project_id", auth_system="fake", auth_plugin=plugin) diff --git a/novaclient/tests/unit/test_client.py b/novaclient/tests/unit/test_client.py index 171ec9d4c..f63fdd4aa 100644 --- a/novaclient/tests/unit/test_client.py +++ b/novaclient/tests/unit/test_client.py @@ -171,38 +171,38 @@ class ClientTest(utils.TestCase): novaclient.client.get_client_class, '2.latest') def test_client_with_os_cache_enabled(self): - cs = novaclient.v2.client.Client("user", "password", "project_id", - auth_url="foo/v2", os_cache=True) + cs = novaclient.client.Client("2", "user", "password", "project_id", + auth_url="foo/v2", os_cache=True) self.assertTrue(cs.os_cache) self.assertTrue(cs.client.os_cache) def test_client_with_os_cache_disabled(self): - cs = novaclient.v2.client.Client("user", "password", "project_id", - auth_url="foo/v2", os_cache=False) + cs = novaclient.client.Client("2", "user", "password", "project_id", + auth_url="foo/v2", os_cache=False) self.assertFalse(cs.os_cache) self.assertFalse(cs.client.os_cache) def test_client_with_no_cache_enabled(self): - cs = novaclient.v2.client.Client("user", "password", "project_id", - auth_url="foo/v2", no_cache=True) + cs = novaclient.client.Client("2", "user", "password", "project_id", + auth_url="foo/v2", no_cache=True) self.assertFalse(cs.os_cache) self.assertFalse(cs.client.os_cache) def test_client_with_no_cache_disabled(self): - cs = novaclient.v2.client.Client("user", "password", "project_id", - auth_url="foo/v2", no_cache=False) + cs = novaclient.client.Client("2", "user", "password", "project_id", + auth_url="foo/v2", no_cache=False) self.assertTrue(cs.os_cache) self.assertTrue(cs.client.os_cache) def test_client_set_management_url_v1_1(self): - cs = novaclient.v2.client.Client("user", "password", "project_id", - auth_url="foo/v2") + cs = novaclient.client.Client("2", "user", "password", "project_id", + auth_url="foo/v2") cs.set_management_url("blabla") self.assertEqual("blabla", cs.client.management_url) def test_client_get_reset_timings_v1_1(self): - cs = novaclient.v2.client.Client("user", "password", "project_id", - auth_url="foo/v2") + cs = novaclient.client.Client("2", "user", "password", "project_id", + auth_url="foo/v2") self.assertEqual(0, len(cs.get_timings())) cs.client.times.append("somevalue") self.assertEqual(1, len(cs.get_timings())) @@ -215,8 +215,8 @@ class ClientTest(utils.TestCase): def test_contextmanager_v1_1(self, mock_http_client): fake_client = mock.Mock() mock_http_client.return_value = fake_client - with novaclient.v2.client.Client("user", "password", "project_id", - auth_url="foo/v2"): + with novaclient.client.Client("2", "user", "password", "project_id", + auth_url="foo/v2"): pass self.assertTrue(fake_client.open_session.called) self.assertTrue(fake_client.close_session.called) diff --git a/novaclient/tests/unit/v2/contrib/fakes.py b/novaclient/tests/unit/v2/contrib/fakes.py index 870339584..8e82f9c34 100644 --- a/novaclient/tests/unit/v2/contrib/fakes.py +++ b/novaclient/tests/unit/v2/contrib/fakes.py @@ -20,7 +20,8 @@ class FakeClient(fakes.FakeClient): def __init__(self, *args, **kwargs): client.Client.__init__(self, 'username', 'password', 'project_id', 'auth_url', - extensions=kwargs.get('extensions')) + extensions=kwargs.get('extensions'), + direct_use=False) self.client = FakeHTTPClient(**kwargs) diff --git a/novaclient/tests/unit/v2/fakes.py b/novaclient/tests/unit/v2/fakes.py index 69612c30d..ceaceeed6 100644 --- a/novaclient/tests/unit/v2/fakes.py +++ b/novaclient/tests/unit/v2/fakes.py @@ -51,7 +51,8 @@ class FakeClient(fakes.FakeClient, client.Client): def __init__(self, api_version=None, *args, **kwargs): client.Client.__init__(self, 'username', 'password', 'project_id', 'auth_url', - extensions=kwargs.get('extensions')) + extensions=kwargs.get('extensions'), + direct_use=False) self.api_version = api_version self.client = FakeHTTPClient(**kwargs) @@ -2425,7 +2426,7 @@ class FakeSessionClient(fakes.FakeClient, client.Client): client.Client.__init__(self, 'username', 'password', 'project_id', 'auth_url', extensions=kwargs.get('extensions'), - api_version=api_version) + api_version=api_version, direct_use=False) self.client = FakeSessionMockClient(**kwargs) diff --git a/novaclient/tests/unit/v2/test_auth.py b/novaclient/tests/unit/v2/test_auth.py index a62866a62..70d9467a3 100644 --- a/novaclient/tests/unit/v2/test_auth.py +++ b/novaclient/tests/unit/v2/test_auth.py @@ -36,7 +36,8 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase): def test_authenticate_success(self): cs = client.Client("username", "password", "project_id", - utils.AUTH_URL_V2, service_type='compute') + utils.AUTH_URL_V2, service_type='compute', + direct_use=False) resp = self.get_token() auth_response = utils.TestResponse({ @@ -83,7 +84,7 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase): def test_authenticate_failure(self): cs = client.Client("username", "password", "project_id", - utils.AUTH_URL_V2) + utils.AUTH_URL_V2, direct_use=False) resp = {"unauthorized": {"message": "Unauthorized", "code": "401"}} auth_response = utils.TestResponse({ "status_code": 401, @@ -100,7 +101,8 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase): def test_v1_auth_redirect(self): cs = client.Client("username", "password", "project_id", - utils.AUTH_URL_V1, service_type='compute') + utils.AUTH_URL_V1, service_type='compute', + direct_use=False) dict_correct_response = self.get_token() correct_response = json.dumps(dict_correct_response) dict_responses = [ @@ -165,7 +167,8 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase): def test_v2_auth_redirect(self): cs = client.Client("username", "password", "project_id", - utils.AUTH_URL_V2, service_type='compute') + utils.AUTH_URL_V2, service_type='compute', + direct_use=False) dict_correct_response = self.get_token() correct_response = json.dumps(dict_correct_response) dict_responses = [ @@ -230,7 +233,8 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase): def test_ambiguous_endpoints(self): cs = client.Client("username", "password", "project_id", - utils.AUTH_URL_V2, service_type='compute') + utils.AUTH_URL_V2, service_type='compute', + direct_use=False) resp = self.get_token() # duplicate existing service @@ -253,7 +257,8 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase): def test_authenticate_with_token_success(self): cs = client.Client("username", None, "project_id", - utils.AUTH_URL_V2, service_type='compute') + utils.AUTH_URL_V2, service_type='compute', + direct_use=False) cs.client.auth_token = "FAKE_ID" resp = self.get_token(token_id="FAKE_ID") auth_response = utils.TestResponse({ @@ -295,7 +300,8 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase): self.assertEqual(cs.client.auth_token, token_id) def test_authenticate_with_token_failure(self): - cs = client.Client("username", None, "project_id", utils.AUTH_URL_V2) + cs = client.Client("username", None, "project_id", utils.AUTH_URL_V2, + direct_use=False) cs.client.auth_token = "FAKE_ID" resp = {"unauthorized": {"message": "Unauthorized", "code": "401"}} auth_response = utils.TestResponse({ @@ -312,7 +318,7 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase): class AuthenticationTests(utils.TestCase): def test_authenticate_success(self): cs = client.Client("username", "password", - "project_id", utils.AUTH_URL) + "project_id", utils.AUTH_URL, direct_use=False) management_url = 'https://localhost/v1.1/443470' auth_response = utils.TestResponse({ 'status_code': 204, @@ -348,7 +354,7 @@ class AuthenticationTests(utils.TestCase): def test_authenticate_failure(self): cs = client.Client("username", "password", - "project_id", utils.AUTH_URL) + "project_id", utils.AUTH_URL, direct_use=False) auth_response = utils.TestResponse({'status_code': 401}) mock_request = mock.Mock(return_value=(auth_response)) @@ -360,7 +366,7 @@ class AuthenticationTests(utils.TestCase): def test_auth_automatic(self): cs = client.Client("username", "password", - "project_id", utils.AUTH_URL) + "project_id", utils.AUTH_URL, direct_use=False) http_client = cs.client http_client.management_url = '' http_client.get_service_url = mock.Mock(return_value='') @@ -377,7 +383,7 @@ class AuthenticationTests(utils.TestCase): def test_auth_manual(self): cs = client.Client("username", "password", - "project_id", utils.AUTH_URL) + "project_id", utils.AUTH_URL, direct_use=False) @mock.patch.object(cs.client, 'authenticate') def test_auth_call(m): diff --git a/novaclient/tests/unit/v2/test_client.py b/novaclient/tests/unit/v2/test_client.py index 5bbbe51fb..dc92c9327 100644 --- a/novaclient/tests/unit/v2/test_client.py +++ b/novaclient/tests/unit/v2/test_client.py @@ -28,7 +28,8 @@ class ClientTest(utils.TestCase): s = session.Session() c = client.Client(session=s, user_agent=user_agent, - endpoint_override=endpoint_override) + endpoint_override=endpoint_override, + direct_use=False) self.assertEqual(user_agent, c.client.user_agent) self.assertEqual(endpoint_override, c.client.endpoint_override) @@ -40,6 +41,7 @@ class ClientTest(utils.TestCase): s = session.Session() c = client.Client(session=s, interface=interface, - endpoint_type=endpoint_type) + endpoint_type=endpoint_type, + direct_use=False) self.assertEqual(interface, c.client.interface)