summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keystone/test.py5
-rw-r--r--tests/default_fixtures.py83
-rw-r--r--tests/test_backend.py45
-rw-r--r--tests/test_backend_ldap.py83
-rw-r--r--tests/test_keystoneclient.py18
5 files changed, 115 insertions, 119 deletions
diff --git a/keystone/test.py b/keystone/test.py
index 68631ee4..46056095 100644
--- a/keystone/test.py
+++ b/keystone/test.py
@@ -216,11 +216,6 @@ class TestCase(NoModule, unittest.TestCase):
"""
# TODO(termie): doing something from json, probably based on Django's
# loaddata will be much preferred.
- if hasattr(self, 'catalog_api'):
- for service in fixtures.SERVICES:
- rv = self.catalog_api.create_service(service['id'], service)
- setattr(self, 'service_%s' % service['id'], rv)
-
if hasattr(self, 'identity_api'):
for tenant in fixtures.TENANTS:
rv = self.identity_api.create_tenant(tenant['id'], tenant)
diff --git a/tests/default_fixtures.py b/tests/default_fixtures.py
index 8b5020ff..3601290a 100644
--- a/tests/default_fixtures.py
+++ b/tests/default_fixtures.py
@@ -14,61 +14,54 @@
# License for the specific language governing permissions and limitations
# under the License.
+# NOTE(dolph): please try to avoid additional fixtures if possible; test suite
+# performance may be negatively affected.
+
TENANTS = [
- {'id': 'bar', 'name': 'BAR'},
- {'id': 'baz', 'name': 'BAZ'},
- {'id': 'tenent4add', 'name': 'tenant4add'},
- {'id': 'attr',
- 'name': 'attr_name',
- 'description': 'description',
- 'enabled': True},
+ {
+ 'id': 'bar',
+ 'name': 'BAR',
+ }, {
+ 'id': 'baz',
+ 'name': 'BAZ',
+ 'description': 'description',
+ 'enabled': True,
+ }
]
# NOTE(ja): a role of keystone_admin and attribute "is_admin" is done in setUp
USERS = [
- {'id': 'foo', 'name': 'FOO', 'password': 'foo2', 'tenants': ['bar']},
- {'id': 'two', 'name': 'TWO', 'password': 'two2', 'tenants': ['baz']},
- {'id': 'no_meta',
- 'name': 'NO_META',
- 'password': 'no_meta2',
- 'tenants': ['baz']},
- {'id': 'attr',
- 'name': 'attr',
- 'email': 'attr@example.com',
- 'enabled': True,
- 'tenant_id': 'baz',
- 'password': 'attr_passwd',
- 'tenants': ['baz']},
+ {
+ 'id': 'foo',
+ 'name': 'FOO',
+ 'password': 'foo2',
+ 'tenants': ['bar']
+ }, {
+ 'id': 'two',
+ 'name': 'TWO',
+ 'password': 'two2',
+ 'email': 'attr@example.com',
+ 'enabled': True,
+ 'tenant_id': 'baz',
+ 'password': 'attr_passwd',
+ 'tenants': ['baz'],
+ }
]
METADATA = [
- {'user_id': 'foo', 'tenant_id': 'bar', 'extra': 'extra'},
- {'user_id': 'two', 'tenant_id': 'baz', 'extra': 'extra'},
+ {
+ 'user_id': 'foo',
+ 'tenant_id': 'bar',
+ 'extra': 'extra',
+ }
]
ROLES = [
- {'id': 'keystone_admin', 'name': 'Keystone Admin'},
- {'id': 'useless', 'name': 'Useless'},
- {'id': 'attr', 'name': 'attr'},
-]
-
-SERVICES = [
- {
- 'id': 'COMPUTE_ID',
- 'type': 'compute',
- 'name': 'Nova',
- 'description': 'OpenStack Compute service'
- },
- {
- 'id': 'IDENTITY_ID',
- 'type': 'identity',
- 'name': 'Keystone',
- 'description': 'OpenStack Identity service'
- },
{
- 'id': 'IMAGE_ID',
- 'type': 'image',
- 'name': 'Glance',
- 'description': 'OpenStack Image service'
- },
+ 'id': 'keystone_admin',
+ 'name': 'Keystone Admin',
+ }, {
+ 'id': 'member',
+ 'name': 'Member',
+ }
]
diff --git a/tests/test_backend.py b/tests/test_backend.py
index 82e608e1..76e76780 100644
--- a/tests/test_backend.py
+++ b/tests/test_backend.py
@@ -82,11 +82,16 @@ class IdentityTests(object):
self.assertIn('keystone_admin', metadata_ref['roles'])
def test_authenticate_no_metadata(self):
- user = self.user_no_meta
- tenant = self.tenant_baz
+ user = {
+ 'id': 'no_meta',
+ 'name': 'NO_META',
+ 'password': 'no_meta2',
+ }
+ self.identity_api.create_user(user['id'], user)
+ self.identity_api.add_user_to_tenant(self.tenant_baz['id'], user['id'])
user_ref, tenant_ref, metadata_ref = self.identity_api.authenticate(
user_id=user['id'],
- tenant_id=tenant['id'],
+ tenant_id=self.tenant_baz['id'],
password=user['password'])
# NOTE(termie): the password field is left in user_foo to make
# it easier to authenticate in tests, but should
@@ -94,7 +99,7 @@ class IdentityTests(object):
user.pop('password')
self.assertEquals(metadata_ref, {})
self.assertDictEqual(user_ref, user)
- self.assertDictEqual(tenant_ref, tenant)
+ self.assertDictEqual(tenant_ref, self.tenant_baz)
def test_password_hashed(self):
user_ref = self.identity_api._get_user(self.user_foo['id'])
@@ -327,14 +332,14 @@ class IdentityTests(object):
roles_ref = self.identity_api.get_roles_for_user_and_tenant(
self.user_foo['id'], self.tenant_bar['id'])
self.assertIn('keystone_admin', roles_ref)
- self.assertNotIn('useless', roles_ref)
+ self.assertNotIn('member', roles_ref)
self.identity_api.add_role_to_user_and_tenant(
- self.user_foo['id'], self.tenant_bar['id'], 'useless')
+ self.user_foo['id'], self.tenant_bar['id'], 'member')
roles_ref = self.identity_api.get_roles_for_user_and_tenant(
self.user_foo['id'], self.tenant_bar['id'])
self.assertIn('keystone_admin', roles_ref)
- self.assertIn('useless', roles_ref)
+ self.assertIn('member', roles_ref)
def test_get_roles_for_user_and_tenant_404(self):
self.assertRaises(exception.UserNotFound,
@@ -368,17 +373,17 @@ class IdentityTests(object):
def test_remove_role_from_user_and_tenant(self):
self.identity_api.add_role_to_user_and_tenant(
- self.user_foo['id'], self.tenant_bar['id'], 'useless')
+ self.user_foo['id'], self.tenant_bar['id'], 'member')
self.identity_api.remove_role_from_user_and_tenant(
- self.user_foo['id'], self.tenant_bar['id'], 'useless')
+ self.user_foo['id'], self.tenant_bar['id'], 'member')
roles_ref = self.identity_api.get_roles_for_user_and_tenant(
self.user_foo['id'], self.tenant_bar['id'])
- self.assertNotIn('useless', roles_ref)
+ self.assertNotIn('member', roles_ref)
self.assertRaises(exception.NotFound,
self.identity_api.remove_role_from_user_and_tenant,
self.user_foo['id'],
self.tenant_bar['id'],
- 'useless')
+ 'member')
def test_role_crud(self):
role = {'id': uuid.uuid4().hex, 'name': uuid.uuid4().hex}
@@ -630,7 +635,7 @@ class IdentityTests(object):
tenant = {'id': 'fake1', 'name': 'fake1'}
self.identity_api.create_tenant('fake1', tenant)
self.identity_api.add_role_to_user_and_tenant(
- self.user_foo['id'], tenant['id'], 'useless')
+ self.user_foo['id'], tenant['id'], 'member')
self.identity_api.delete_tenant(tenant['id'])
self.assertRaises(exception.NotFound,
self.identity_api.get_tenant,
@@ -843,18 +848,24 @@ class CommonHelperTests(test.TestCase):
class CatalogTests(object):
def test_service_crud(self):
+ # create
+ service_id = uuid.uuid4().hex
new_service = {
- 'id': uuid.uuid4().hex,
+ 'id': service_id,
'type': uuid.uuid4().hex,
'name': uuid.uuid4().hex,
'description': uuid.uuid4().hex,
}
res = self.catalog_api.create_service(
- new_service['id'],
+ service_id,
new_service.copy())
self.assertDictEqual(res, new_service)
- service_id = new_service['id']
+ # list
+ services = self.catalog_api.list_services()
+ self.assertIn(service_id, services)
+
+ # delete
self.catalog_api.delete_service(service_id)
self.assertRaises(exception.ServiceNotFound,
self.catalog_man.delete_service, {}, service_id)
@@ -892,7 +903,3 @@ class CatalogTests(object):
self.assertRaises(exception.EndpointNotFound,
self.catalog_api.delete_endpoint,
uuid.uuid4().hex)
-
- def test_service_list(self):
- services = self.catalog_api.list_services()
- self.assertEqual(3, len(services))
diff --git a/tests/test_backend_ldap.py b/tests/test_backend_ldap.py
index 2d9d35aa..d2edd47f 100644
--- a/tests/test_backend_ldap.py
+++ b/tests/test_backend_ldap.py
@@ -187,21 +187,21 @@ class LDAPIdentity(test.TestCase, test_backend.IdentityTests):
CONF.ldap.role_allow_delete = False
self.identity_api = identity_ldap.Identity()
- role = {'id': 'fake1', 'name': 'fake1'}
+ role = {'id': uuid.uuid4().hex, 'name': uuid.uuid4().hex}
self.assertRaises(exception.ForbiddenAction,
self.identity_api.create_role,
- 'fake1',
+ role['id'],
role)
- self.role_useless['name'] = 'useful'
+ self.role_member['name'] = uuid.uuid4().hex
self.assertRaises(exception.ForbiddenAction,
self.identity_api.update_role,
- self.role_useless['id'],
- self.role_useless)
+ self.role_member['id'],
+ self.role_member)
self.assertRaises(exception.ForbiddenAction,
self.identity_api.delete_role,
- self.role_useless['id'])
+ self.role_member['id'])
def test_user_filter(self):
self.config([test.etcdir('keystone.conf.sample'),
@@ -234,14 +234,14 @@ class LDAPIdentity(test.TestCase, test_backend.IdentityTests):
self.config([test.etcdir('keystone.conf.sample'),
test.testsdir('test_overrides.conf'),
test.testsdir('backend_ldap.conf')])
- role_ref = self.identity_api.get_role(self.role_useless['id'])
- self.assertDictEqual(role_ref, self.role_useless)
+ role_ref = self.identity_api.get_role(self.role_member['id'])
+ self.assertDictEqual(role_ref, self.role_member)
CONF.ldap.role_filter = '(CN=DOES_NOT_MATCH)'
self.identity_api = identity_ldap.Identity()
self.assertRaises(exception.RoleNotFound,
self.identity_api.get_role,
- self.role_useless['id'])
+ self.role_member['id'])
def test_dumb_member(self):
self.config([test.etcdir('keystone.conf.sample'),
@@ -266,20 +266,20 @@ class LDAPIdentity(test.TestCase, test_backend.IdentityTests):
clear_database()
self.identity_api = identity_ldap.Identity()
self.load_fixtures(default_fixtures)
- user_ref = self.identity_api.get_user(self.user_attr['id'])
- self.assertEqual(user_ref['id'], self.user_attr['id'])
- self.assertEqual(user_ref['name'], self.user_attr['name'])
- self.assertEqual(user_ref['email'], self.user_attr['email'])
- self.assertEqual(user_ref['enabled'], self.user_attr['enabled'])
+ user_ref = self.identity_api.get_user(self.user_two['id'])
+ self.assertEqual(user_ref['id'], self.user_two['id'])
+ self.assertEqual(user_ref['name'], self.user_two['name'])
+ self.assertEqual(user_ref['email'], self.user_two['email'])
+ self.assertEqual(user_ref['enabled'], self.user_two['enabled'])
CONF.ldap.user_name_attribute = 'email'
CONF.ldap.user_mail_attribute = 'sn'
self.identity_api = identity_ldap.Identity()
- user_ref = self.identity_api.get_user(self.user_attr['id'])
- self.assertEqual(user_ref['id'], self.user_attr['id'])
- self.assertEqual(user_ref['name'], self.user_attr['email'])
- self.assertEqual(user_ref['email'], self.user_attr['name'])
- self.assertEqual(user_ref['enabled'], self.user_attr['enabled'])
+ user_ref = self.identity_api.get_user(self.user_two['id'])
+ self.assertEqual(user_ref['id'], self.user_two['id'])
+ self.assertEqual(user_ref['name'], self.user_two['email'])
+ self.assertEqual(user_ref['email'], self.user_two['name'])
+ self.assertEqual(user_ref['enabled'], self.user_two['enabled'])
def test_user_attribute_ignore(self):
self.config([test.etcdir('keystone.conf.sample'),
@@ -290,8 +290,8 @@ class LDAPIdentity(test.TestCase, test_backend.IdentityTests):
clear_database()
self.identity_api = identity_ldap.Identity()
self.load_fixtures(default_fixtures)
- user_ref = self.identity_api.get_user(self.user_attr['id'])
- self.assertEqual(user_ref['id'], self.user_attr['id'])
+ user_ref = self.identity_api.get_user(self.user_two['id'])
+ self.assertEqual(user_ref['id'], self.user_two['id'])
self.assertNotIn('name', user_ref)
self.assertNotIn('email', user_ref)
self.assertNotIn('password', user_ref)
@@ -309,21 +309,22 @@ class LDAPIdentity(test.TestCase, test_backend.IdentityTests):
clear_database()
self.identity_api = identity_ldap.Identity()
self.load_fixtures(default_fixtures)
- tenant_ref = self.identity_api.get_tenant(self.tenant_attr['id'])
- self.assertEqual(tenant_ref['id'], self.tenant_attr['id'])
- self.assertEqual(tenant_ref['name'], self.tenant_attr['name'])
- self.assertEqual(tenant_ref['description'],
- self.tenant_attr['description'])
- self.assertEqual(tenant_ref['enabled'], self.tenant_attr['enabled'])
+ tenant_ref = self.identity_api.get_tenant(self.tenant_baz['id'])
+ self.assertEqual(tenant_ref['id'], self.tenant_baz['id'])
+ self.assertEqual(tenant_ref['name'], self.tenant_baz['name'])
+ self.assertEqual(
+ tenant_ref['description'],
+ self.tenant_baz['description'])
+ self.assertEqual(tenant_ref['enabled'], self.tenant_baz['enabled'])
CONF.ldap.tenant_name_attribute = 'desc'
CONF.ldap.tenant_desc_attribute = 'ou'
self.identity_api = identity_ldap.Identity()
- tenant_ref = self.identity_api.get_tenant(self.tenant_attr['id'])
- self.assertEqual(tenant_ref['id'], self.tenant_attr['id'])
- self.assertEqual(tenant_ref['name'], self.tenant_attr['description'])
- self.assertEqual(tenant_ref['description'], self.tenant_attr['name'])
- self.assertEqual(tenant_ref['enabled'], self.tenant_attr['enabled'])
+ tenant_ref = self.identity_api.get_tenant(self.tenant_baz['id'])
+ self.assertEqual(tenant_ref['id'], self.tenant_baz['id'])
+ self.assertEqual(tenant_ref['name'], self.tenant_baz['description'])
+ self.assertEqual(tenant_ref['description'], self.tenant_baz['name'])
+ self.assertEqual(tenant_ref['enabled'], self.tenant_baz['enabled'])
def test_tenant_attribute_ignore(self):
self.config([test.etcdir('keystone.conf.sample'),
@@ -335,8 +336,8 @@ class LDAPIdentity(test.TestCase, test_backend.IdentityTests):
clear_database()
self.identity_api = identity_ldap.Identity()
self.load_fixtures(default_fixtures)
- tenant_ref = self.identity_api.get_tenant(self.tenant_attr['id'])
- self.assertEqual(tenant_ref['id'], self.tenant_attr['id'])
+ tenant_ref = self.identity_api.get_tenant(self.tenant_baz['id'])
+ self.assertEqual(tenant_ref['id'], self.tenant_baz['id'])
self.assertNotIn('name', tenant_ref)
self.assertNotIn('description', tenant_ref)
self.assertNotIn('enabled', tenant_ref)
@@ -349,14 +350,14 @@ class LDAPIdentity(test.TestCase, test_backend.IdentityTests):
clear_database()
self.identity_api = identity_ldap.Identity()
self.load_fixtures(default_fixtures)
- role_ref = self.identity_api.get_role(self.role_attr['id'])
- self.assertEqual(role_ref['id'], self.role_attr['id'])
- self.assertEqual(role_ref['name'], self.role_attr['name'])
+ role_ref = self.identity_api.get_role(self.role_member['id'])
+ self.assertEqual(role_ref['id'], self.role_member['id'])
+ self.assertEqual(role_ref['name'], self.role_member['name'])
CONF.ldap.role_name_attribute = 'sn'
self.identity_api = identity_ldap.Identity()
- role_ref = self.identity_api.get_role(self.role_attr['id'])
- self.assertEqual(role_ref['id'], self.role_attr['id'])
+ role_ref = self.identity_api.get_role(self.role_member['id'])
+ self.assertEqual(role_ref['id'], self.role_member['id'])
self.assertNotIn('name', role_ref)
def test_role_attribute_ignore(self):
@@ -367,8 +368,8 @@ class LDAPIdentity(test.TestCase, test_backend.IdentityTests):
clear_database()
self.identity_api = identity_ldap.Identity()
self.load_fixtures(default_fixtures)
- role_ref = self.identity_api.get_role(self.role_attr['id'])
- self.assertEqual(role_ref['id'], self.role_attr['id'])
+ role_ref = self.identity_api.get_role(self.role_member['id'])
+ self.assertEqual(role_ref['id'], self.role_member['id'])
self.assertNotIn('name', role_ref)
def test_user_enable_attribute_mask(self):
diff --git a/tests/test_keystoneclient.py b/tests/test_keystoneclient.py
index ce329972..9c2c41e9 100644
--- a/tests/test_keystoneclient.py
+++ b/tests/test_keystoneclient.py
@@ -797,12 +797,12 @@ class KcMasterTestCase(CompatTestCase, KeystoneClientTests):
client = self.get_client(admin=True)
client.roles.add_user_role(tenant=self.tenant_baz['id'],
user=self.user_two['id'],
- role=self.role_useless['id'])
+ role=self.role_member['id'])
user_refs = client.tenants.list_users(tenant=self.tenant_baz['id'])
self.assert_(self.user_two['id'] in [x.id for x in user_refs])
client.roles.remove_user_role(tenant=self.tenant_baz['id'],
user=self.user_two['id'],
- role=self.role_useless['id'])
+ role=self.role_member['id'])
user_refs = client.tenants.list_users(tenant=self.tenant_baz['id'])
self.assert_(self.user_two['id'] not in [x.id for x in user_refs])
@@ -813,12 +813,12 @@ class KcMasterTestCase(CompatTestCase, KeystoneClientTests):
client.roles.add_user_role,
tenant=uuid.uuid4().hex,
user=self.user_foo['id'],
- role=self.role_useless['id'])
+ role=self.role_member['id'])
self.assertRaises(client_exceptions.NotFound,
client.roles.add_user_role,
tenant=self.tenant_baz['id'],
user=uuid.uuid4().hex,
- role=self.role_useless['id'])
+ role=self.role_member['id'])
self.assertRaises(client_exceptions.NotFound,
client.roles.add_user_role,
tenant=self.tenant_baz['id'],
@@ -832,12 +832,12 @@ class KcMasterTestCase(CompatTestCase, KeystoneClientTests):
client.roles.remove_user_role,
tenant=uuid.uuid4().hex,
user=self.user_foo['id'],
- role=self.role_useless['id'])
+ role=self.role_member['id'])
self.assertRaises(client_exceptions.NotFound,
client.roles.remove_user_role,
tenant=self.tenant_baz['id'],
user=uuid.uuid4().hex,
- role=self.role_useless['id'])
+ role=self.role_member['id'])
self.assertRaises(client_exceptions.NotFound,
client.roles.remove_user_role,
tenant=self.tenant_baz['id'],
@@ -847,7 +847,7 @@ class KcMasterTestCase(CompatTestCase, KeystoneClientTests):
client.roles.remove_user_role,
tenant=self.tenant_baz['id'],
user=self.user_foo['id'],
- role=self.role_useless['id'])
+ role=self.role_member['id'])
def test_tenant_list_marker(self):
client = self.get_client()
@@ -1004,7 +1004,7 @@ class KcEssex3TestCase(CompatTestCase, KeystoneClientTests):
client = self.get_client(admin=True)
client.roles.add_user_to_tenant(tenant_id=self.tenant_baz['id'],
user_id=self.user_two['id'],
- role_id=self.role_useless['id'])
+ role_id=self.role_member['id'])
role_refs = client.roles.get_user_role_refs(
user_id=self.user_two['id'])
self.assert_(self.tenant_baz['id'] in [x.tenantId for x in role_refs])
@@ -1014,7 +1014,7 @@ class KcEssex3TestCase(CompatTestCase, KeystoneClientTests):
roleref_refs = client.roles.get_user_role_refs(
user_id=self.user_two['id'])
for roleref_ref in roleref_refs:
- if (roleref_ref.roleId == self.role_useless['id']
+ if (roleref_ref.roleId == self.role_member['id']
and roleref_ref.tenantId == self.tenant_baz['id']):
# use python's scope fall through to leave roleref_ref set
break