summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/default.conf18
-rw-r--r--tests/keystone_compat_diablo.conf17
-rw-r--r--tests/keystoneclient_compat_master.conf23
-rw-r--r--tests/test_identity_api.py3
-rw-r--r--tests/test_keystoneclient_compat.py46
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(