summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-09-11 00:17:28 +0000
committerGerrit Code Review <review@openstack.org>2012-09-11 00:17:28 +0000
commitee31114d9dfc99bb143241dc547f7b4abeaaafbf (patch)
treefd52db01e1e9b39b64a0abab025ee901c5c769ce
parent3245a70beea7a472dfbde606fcd99aaee3a1925c (diff)
parent235c4ce3d7d5459974fa1995f6d58f4268ebfc7e (diff)
downloadkeystone-ee31114d9dfc99bb143241dc547f7b4abeaaafbf.tar.gz
keystone-ee31114d9dfc99bb143241dc547f7b4abeaaafbf.tar.xz
keystone-ee31114d9dfc99bb143241dc547f7b4abeaaafbf.zip
Merge "Implementation of tenant,user,role list functions for ldap"
-rw-r--r--keystone/identity/backends/ldap/core.py9
-rw-r--r--tests/test_backend.py31
2 files changed, 40 insertions, 0 deletions
diff --git a/keystone/identity/backends/ldap/core.py b/keystone/identity/backends/ldap/core.py
index c3dd52cb..5b32a679 100644
--- a/keystone/identity/backends/ldap/core.py
+++ b/keystone/identity/backends/ldap/core.py
@@ -116,6 +116,9 @@ class Identity(identity.Driver):
except exception.NotFound:
raise exception.TenantNotFound(tenant_id=tenant_id)
+ def get_tenants(self):
+ return self.tenant.get_all()
+
def get_tenant_by_name(self, tenant_name):
try:
return self.tenant.get_by_name(tenant_name)
@@ -131,6 +134,9 @@ class Identity(identity.Driver):
def get_user(self, user_id):
return _filter_user(self._get_user(user_id))
+ def list_users(self):
+ return self.user.get_all()
+
def get_user_by_name(self, user_name):
try:
return _filter_user(self.user.get_by_name(user_name))
@@ -152,6 +158,9 @@ class Identity(identity.Driver):
except exception.NotFound:
raise exception.RoleNotFound(role_id=role_id)
+ def list_roles(self):
+ return self.role.get_all()
+
# These should probably be part of the high-level API
# When this happens, then change TenantAPI.add_user to not ignore
# ldap.TYPE_OR_VALUE_EXISTS
diff --git a/tests/test_backend.py b/tests/test_backend.py
index dd843808..72ed5b57 100644
--- a/tests/test_backend.py
+++ b/tests/test_backend.py
@@ -16,6 +16,7 @@
import datetime
import uuid
+import default_fixtures
from keystone import exception
from keystone.openstack.common import timeutils
@@ -608,6 +609,36 @@ class IdentityTests(object):
'fake1',
user)
+ def test_list_users(self):
+ users = self.identity_api.list_users()
+ for test_user in default_fixtures.USERS:
+ user_id = test_user['id']
+ found = False
+ for user in users:
+ if user['id'] == user_id:
+ found = True
+ self.assertTrue('found')
+
+ def test_list_roles(self):
+ roles = self.identity_api.list_roles()
+ for test_role in default_fixtures.ROLES:
+ role_id = test_role['id']
+ found = False
+ for role in roles:
+ if role['id'] == role_id:
+ found = True
+ self.assertTrue('found')
+
+ def test_get_tenants(self):
+ tenants = self.identity_api.get_tenants()
+ for test_tenant in default_fixtures.TENANTS:
+ tenant_id = test_tenant['id']
+ found = False
+ for tenant in tenants:
+ if tenant['id'] == tenant_id:
+ found = True
+ self.assertTrue('found')
+
class TokenTests(object):
def test_token_crud(self):