diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/default.conf | 18 | ||||
-rw-r--r-- | tests/keystone_compat_diablo.conf | 17 | ||||
-rw-r--r-- | tests/keystoneclient_compat_master.conf | 23 | ||||
-rw-r--r-- | tests/test_identity_api.py | 3 | ||||
-rw-r--r-- | tests/test_keystoneclient_compat.py | 46 |
5 files changed, 69 insertions, 38 deletions
diff --git a/tests/default.conf b/tests/default.conf index 0a3898f9..9cf2fb5d 100644 --- a/tests/default.conf +++ b/tests/default.conf @@ -4,7 +4,7 @@ identity_driver = keystonelight.backends.kvs.KvsIdentity token_driver = keystonelight.backends.kvs.KvsToken policy_driver = keystonelight.backends.policy.SimpleMatch public_port = 5000 -admin_port = 5001 +admin_port = 35357 admin_token = ADMIN # config for TemplatedCatalog, using camelCase because I don't want to do @@ -37,16 +37,22 @@ paste.filter_factory = keystonelight.middleware:JsonBodyMiddleware.factory [app:keystonelight] paste.app_factory = keystonelight.service:app_factory -[app:keystone] -paste.app_factory = keystonelight.keystone_compat:app_factory +[app:keystone_service] +paste.app_factory = keystonelight.keystone_compat:service_app_factory -[pipeline:keystone_api] -pipeline = token_auth admin_token_auth json_body debug keystone +[app:keystone_admin] +paste.app_factory = keystonelight.keystone_compat:admin_app_factory [pipeline:keystonelight_api] pipeline = token_auth admin_token_auth json_body debug keystonelight +[pipeline:keystone_service_api] +pipeline = token_auth admin_token_auth json_body debug keystone_service + +[pipeline:keystone_admin_api] +pipeline = token_auth admin_token_auth json_body debug keystone_admin + [composite:main] use = egg:Paste#urlmap / = keystonelight_api -/v2.0 = keystone_api +/v2.0 = keystone_service_api diff --git a/tests/keystone_compat_diablo.conf b/tests/keystone_compat_diablo.conf index ba893fbc..f50c7706 100644 --- a/tests/keystone_compat_diablo.conf +++ b/tests/keystone_compat_diablo.conf @@ -4,6 +4,7 @@ identity_driver = keystonelight.backends.kvs.KvsIdentity token_driver = keystonelight.backends.kvs.KvsToken policy_driver = keystonelight.backends.policy.SimpleMatch public_port = 5000 +admin_port = 35357 admin_token = ADMIN [filter:debug] @@ -21,16 +22,22 @@ paste.filter_factory = keystonelight.middleware:JsonBodyMiddleware.factory [app:keystonelight] paste.app_factory = keystonelight.service:app_factory -[app:keystone] -paste.app_factory = keystonelight.keystone_compat:app_factory +[app:keystone_service] +paste.app_factory = keystonelight.keystone_compat:service_app_factory -[pipeline:keystone_api] -pipeline = token_auth admin_token_auth json_body debug keystone +[app:keystone_admin] +paste.app_factory = keystonelight.keystone_compat:admin_app_factory [pipeline:keystonelight_api] pipeline = token_auth admin_token_auth json_body debug keystonelight +[pipeline:keystone_service_api] +pipeline = token_auth admin_token_auth json_body debug keystone_service + +[pipeline:keystone_admin_api] +pipeline = token_auth admin_token_auth json_body debug keystone_admin + [composite:main] use = egg:Paste#urlmap / = keystonelight_api -/v2.0 = keystone_api +/v2.0 = keystone_service_api diff --git a/tests/keystoneclient_compat_master.conf b/tests/keystoneclient_compat_master.conf index 262215c2..c6e4ee06 100644 --- a/tests/keystoneclient_compat_master.conf +++ b/tests/keystoneclient_compat_master.conf @@ -4,12 +4,13 @@ identity_driver = keystonelight.backends.kvs.KvsIdentity token_driver = keystonelight.backends.kvs.KvsToken policy_driver = keystonelight.backends.policy.SimpleMatch public_port = 5000 +admin_port = 35357 admin_token = ADMIN # config for TemplatedCatalog, using camelCase because I don't want to do # translations for keystone compat catalog.RegionOne.identity.publicURL = http://localhost:$(public_port)s/v2.0 -catalog.RegionOne.identity.adminURL = http://localhost:$(public_port)s/v2.0 +catalog.RegionOne.identity.adminURL = http://localhost:$(admin_port)s/v2.0 catalog.RegionOne.identity.internalURL = http://localhost:$(public_port)s/v2.0 catalog.RegionOne.identity.name = 'Identity Service' @@ -36,16 +37,26 @@ paste.filter_factory = keystonelight.middleware:JsonBodyMiddleware.factory [app:keystonelight] paste.app_factory = keystonelight.service:app_factory -[app:keystone] -paste.app_factory = keystonelight.keystone_compat:app_factory +[app:keystone_service] +paste.app_factory = keystonelight.keystone_compat:service_app_factory -[pipeline:keystone_api] -pipeline = token_auth admin_token_auth json_body debug keystone +[app:keystone_admin] +paste.app_factory = keystonelight.keystone_compat:admin_app_factory [pipeline:keystonelight_api] pipeline = token_auth admin_token_auth json_body debug keystonelight +[pipeline:keystone_service_api] +pipeline = token_auth admin_token_auth json_body debug keystone_service + +[pipeline:keystone_admin_api] +pipeline = token_auth admin_token_auth json_body debug keystone_admin + [composite:main] use = egg:Paste#urlmap / = keystonelight_api -/v2.0 = keystone_api +/v2.0 = keystone_service_api + +[composite:admin] +use = egg:Paste#urlmap +/v2.0 = keystone_admin_api diff --git a/tests/test_identity_api.py b/tests/test_identity_api.py index b0e55a95..c9d0ae28 100644 --- a/tests/test_identity_api.py +++ b/tests/test_identity_api.py @@ -1,11 +1,8 @@ import json -import uuid from keystonelight import client from keystonelight import models from keystonelight import test -from keystonelight import utils -from keystonelight.backends import kvs import default_fixtures diff --git a/tests/test_keystoneclient_compat.py b/tests/test_keystoneclient_compat.py index e0eec5f4..73bb861e 100644 --- a/tests/test_keystoneclient_compat.py +++ b/tests/test_keystoneclient_compat.py @@ -1,6 +1,6 @@ -from keystonelight import models +import logging + from keystonelight import test -from keystonelight import utils import default_fixtures @@ -12,19 +12,25 @@ class CompatTestCase(test.TestCase): def setUp(self): super(CompatTestCase, self).setUp() - def _url(self): - port = self.server.socket_info['socket'][1] - self.options['public_port'] = port - # NOTE(termie): novaclient wants a "/" at the end, keystoneclient does not - return "http://localhost:%s/v2.0/" % port + def _public_url(self): + public_port = self.public_server.socket_info['socket'][1] + self.options['public_port'] = public_port + return "http://localhost:%s/v2.0" % public_port + + def _admin_url(self): + admin_port = self.admin_server.socket_info['socket'][1] + self.options['admin_port'] = admin_port + return "http://localhost:%s/v2.0" % admin_port def _client(self, **kwargs): from keystoneclient.v2_0 import client as ks_client - port = self.server.socket_info['socket'][1] - self.options['public_port'] = port - kc = ks_client.Client(**kwargs) + kc = ks_client.Client(endpoint=self._admin_url(), + auth_url=self._public_url(), + **kwargs) kc.authenticate() + # have to manually overwrite the management url after authentication + kc.management_url = self._admin_url() return kc @@ -37,12 +43,19 @@ class MasterCompatTestCase(CompatTestCase): from keystoneclient.v2_0 import client as ks_client reload(ks_client) - self.app = self.loadapp('keystoneclient_compat_master') self.options = self.appconfig('keystoneclient_compat_master') + self.public_app = self.loadapp('keystoneclient_compat_master', + name='main') + self.admin_app = self.loadapp('keystoneclient_compat_master', + name='admin') + self.load_backends() self.load_fixtures(default_fixtures) - self.server = self.serveapp('keystoneclient_compat_master') + self.public_server = self.serveapp('keystoneclient_compat_master', + name='main') + self.admin_server = self.serveapp('keystoneclient_compat_master', + name='admin') # TODO(termie): is_admin is being deprecated once the policy stuff # is all working @@ -63,16 +76,14 @@ class MasterCompatTestCase(CompatTestCase): # client.authenticate() def test_authenticate_tenant_name_and_tenants(self): - client = self._client(auth_url=self._url(), - username='FOO', + client = self._client(username='FOO', password='foo2', tenant_name='BAR') tenants = client.tenants.list() self.assertEquals(tenants[0].id, self.tenant_bar['id']) def test_authenticate_tenant_id_and_tenants(self): - client = self._client(auth_url=self._url(), - username='FOO', + client = self._client(username='FOO', password='foo2', tenant_id='bar') tenants = client.tenants.list() @@ -84,8 +95,7 @@ class MasterCompatTestCase(CompatTestCase): # FIXME(ja): add a test that admin endpoint returns unauthorized if not # admin def test_tenant_create(self): - client = self._client(auth_url=self._url(), - username='FOO', + client = self._client(username='FOO', password='foo2', tenant_name='BAR') client.tenants.create( |