summaryrefslogtreecommitdiff
path: root/openstackclient/tests/common
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2014-08-08 17:38:44 -0500
committerDean Troyer <dtroyer@gmail.com>2014-08-25 13:38:03 -0500
commit4bbd03210f82d8f9a89627e08a546ba9841ff7fb (patch)
treea10df1f472a8b8925c778b5660115ac31c0bbc20 /openstackclient/tests/common
parent19b8605224156c48107541580a264860131b57ab (diff)
downloadpython-openstackclient-4bbd03210f82d8f9a89627e08a546ba9841ff7fb.tar.gz
Change app.restapi to app.client_manager.session
This is step 1 toward using Keystone client's session.Session as the primary session/requests interface in OSC. * Move the session create into ClientManager and rename 'restapi' attribute to 'session' * Set up ClientManager and session loggers * Fix container and object command references to restapi/api Change-Id: I013d81520b336c7a6422cd22c05d1d65655e64f8
Diffstat (limited to 'openstackclient/tests/common')
-rw-r--r--openstackclient/tests/common/test_clientmanager.py104
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)