diff options
Diffstat (limited to 'openstackclient/tests/common/test_clientmanager.py')
| -rw-r--r-- | openstackclient/tests/common/test_clientmanager.py | 104 |
1 files changed, 92 insertions, 12 deletions
diff --git a/openstackclient/tests/common/test_clientmanager.py b/openstackclient/tests/common/test_clientmanager.py index 6aee711d..5a25fa2c 100644 --- a/openstackclient/tests/common/test_clientmanager.py +++ b/openstackclient/tests/common/test_clientmanager.py @@ -14,11 +14,26 @@ # from openstackclient.common import clientmanager +from openstackclient.common import restapi from openstackclient.tests import utils +AUTH_REF = {'a': 1} AUTH_TOKEN = "foobar" AUTH_URL = "http://0.0.0.0" +USERNAME = "itchy" +PASSWORD = "scratchy" +SERVICE_CATALOG = {'sc': '123'} + + +def FakeMakeClient(instance): + return FakeClient() + + +class FakeClient(object): + auth_ref = AUTH_REF + auth_token = AUTH_TOKEN + service_catalog = SERVICE_CATALOG class Container(object): @@ -28,31 +43,96 @@ class Container(object): pass +class TestClientCache(utils.TestCase): + + def test_singleton(self): + # NOTE(dtroyer): Verify that the ClientCache descriptor only invokes + # the factory one time and always returns the same value after that. + c = Container() + self.assertEqual(c.attr, c.attr) + + class TestClientManager(utils.TestCase): def setUp(self): super(TestClientManager, self).setUp() - api_version = {"identity": "2.0"} + clientmanager.ClientManager.identity = \ + clientmanager.ClientCache(FakeMakeClient) - self.client_manager = clientmanager.ClientManager( + def test_client_manager_token(self): + + client_manager = clientmanager.ClientManager( token=AUTH_TOKEN, url=AUTH_URL, + verify=True, + ) + + self.assertEqual( + AUTH_TOKEN, + client_manager._token, + ) + self.assertEqual( + AUTH_URL, + client_manager._url, + ) + self.assertIsInstance( + client_manager.session, + restapi.RESTApi, + ) + self.assertFalse(client_manager._insecure) + self.assertTrue(client_manager._verify) + + def test_client_manager_password(self): + + client_manager = clientmanager.ClientManager( auth_url=AUTH_URL, - api_version=api_version, + username=USERNAME, + password=PASSWORD, + verify=False, ) - def test_singleton(self): - # NOTE(dtroyer): Verify that the ClientCache descriptor only invokes - # the factory one time and always returns the same value after that. - c = Container() - self.assertEqual(c.attr, c.attr) + self.assertEqual( + AUTH_URL, + client_manager._auth_url, + ) + self.assertEqual( + USERNAME, + client_manager._username, + ) + self.assertEqual( + PASSWORD, + client_manager._password, + ) + self.assertIsInstance( + client_manager.session, + restapi.RESTApi, + ) + self.assertTrue(client_manager._insecure) + self.assertFalse(client_manager._verify) - def test_make_client_identity_default(self): + # These need to stick around until the old-style clients are gone + self.assertEqual( + AUTH_REF, + client_manager.auth_ref, + ) self.assertEqual( - self.client_manager.identity.auth_token, AUTH_TOKEN, + client_manager._token, ) self.assertEqual( - self.client_manager.identity.management_url, - AUTH_URL, + SERVICE_CATALOG, + client_manager._service_catalog, ) + + def test_client_manager_password_verify_ca(self): + + client_manager = clientmanager.ClientManager( + auth_url=AUTH_URL, + username=USERNAME, + password=PASSWORD, + verify='cafile', + ) + + self.assertFalse(client_manager._insecure) + self.assertTrue(client_manager._verify) + self.assertEqual('cafile', client_manager._cacert) |
