summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuriy Taraday <yorik.sar@gmail.com>2011-08-12 11:09:03 +0400
committerYuriy Taraday <yorik.sar@gmail.com>2011-08-12 11:09:03 +0400
commit5671cda1d324e81329fa76b6a22ec0dfe9a2ffbf (patch)
tree760d7cbe2b728a833facca0efcc262990f61ff7a
parentd7d4f51a2e9a9f9c2ed5d2b7526c269ad2a6b27f (diff)
downloadkeystone-5671cda1d324e81329fa76b6a22ec0dfe9a2ffbf.tar.gz
keystone-5671cda1d324e81329fa76b6a22ec0dfe9a2ffbf.tar.xz
keystone-5671cda1d324e81329fa76b6a22ec0dfe9a2ffbf.zip
Removed ldap names import from fakeldap module.
Change-Id: I97d5f63103d3bc4223c603ecd749004fa2062cf3
-rw-r--r--keystone/backends/ldap/fakeldap.py53
1 files changed, 25 insertions, 28 deletions
diff --git a/keystone/backends/ldap/fakeldap.py b/keystone/backends/ldap/fakeldap.py
index d34f817a..559850cd 100644
--- a/keystone/backends/ldap/fakeldap.py
+++ b/keystone/backends/ldap/fakeldap.py
@@ -27,16 +27,13 @@ import logging
import re
import shelve
-from ldap import (dn, filter, modlist,
- SCOPE_BASE, SCOPE_ONELEVEL, SCOPE_SUBTREE, MOD_ADD, MOD_DELETE,
- MOD_REPLACE, NO_SUCH_OBJECT, OBJECT_CLASS_VIOLATION, SERVER_DOWN,
- NO_SUCH_ATTRIBUTE, ALREADY_EXISTS, INAPPROPRIATE_AUTH, INVALID_CREDENTIALS)
+import ldap
scope_names = {
- SCOPE_BASE: 'SCOPE_BASE',
- SCOPE_ONELEVEL: 'SCOPE_ONELEVEL',
- SCOPE_SUBTREE: 'SCOPE_SUBTREE',
+ ldap.SCOPE_BASE: 'SCOPE_BASE',
+ ldap.SCOPE_ONELEVEL: 'SCOPE_ONELEVEL',
+ ldap.SCOPE_SUBTREE: 'SCOPE_SUBTREE',
}
@@ -136,7 +133,7 @@ class FakeLDAP(object):
def simple_bind_s(self, dn, password):
"""This method is ignored, but provided for compatibility."""
if server_fail:
- raise SERVER_DOWN
+ raise ldap.SERVER_DOWN
LOG.debug("FakeLDAP bind dn=%s" % (dn,))
if dn == 'cn=Admin' and password == 'password':
return
@@ -144,34 +141,34 @@ class FakeLDAP(object):
attrs = self.db["%s%s" % (self.__prefix, dn)]
except KeyError:
LOG.error("FakeLDAP bind fail: dn=%s not found" % (dn,))
- raise NO_SUCH_OBJECT
+ raise ldap.NO_SUCH_OBJECT
db_passwd = None
try:
db_passwd = attrs['userPassword'][0]
except (KeyError, IndexError):
LOG.error("FakeLDAP bind fail: password for dn=%s not found" % dn)
- raise INAPPROPRIATE_AUTH
+ raise ldap.INAPPROPRIATE_AUTH
if db_passwd != password:
LOG.error("FakeLDAP bind fail: password for dn=%s does not match" %
dn)
- raise INVALID_CREDENTIALS
+ raise ldap.INVALID_CREDENTIALS
def unbind_s(self):
"""This method is ignored, but provided for compatibility."""
if server_fail:
- raise SERVER_DOWN
+ raise ldap.SERVER_DOWN
def add_s(self, dn, attrs):
"""Add an object with the specified attributes at dn."""
if server_fail:
- raise SERVER_DOWN
+ raise ldap.SERVER_DOWN
key = "%s%s" % (self.__prefix, dn)
LOG.debug("FakeLDAP add item: dn=%s, attrs=%s" % (dn, attrs))
if key in self.db:
LOG.error(
"FakeLDAP add item failed: dn '%s' is already in store." % dn)
- raise ALREADY_EXISTS
+ raise ldap.ALREADY_EXISTS
self.db[key] = dict([(k, v if isinstance(v, list) else [v])
for k, v in attrs])
self.db.sync()
@@ -179,7 +176,7 @@ class FakeLDAP(object):
def delete_s(self, dn):
"""Remove the ldap object at specified dn."""
if server_fail:
- raise SERVER_DOWN
+ raise ldap.SERVER_DOWN
key = "%s%s" % (self.__prefix, dn)
LOG.debug("FakeLDAP delete item: dn=%s" % (dn,))
@@ -187,7 +184,7 @@ class FakeLDAP(object):
del self.db[key]
except KeyError:
LOG.error("FakeLDAP delete item failed: dn '%s' not found." % dn)
- raise NO_SUCH_OBJECT
+ raise ldap.NO_SUCH_OBJECT
self.db.sync()
def modify_s(self, dn, attrs):
@@ -200,7 +197,7 @@ class FakeLDAP(object):
"""
if server_fail:
- raise SERVER_DOWN
+ raise ldap.SERVER_DOWN
key = "%s%s" % (self.__prefix, dn)
LOG.debug("FakeLDAP modify item: dn=%s attrs=%s" % (dn, attrs))
@@ -208,23 +205,23 @@ class FakeLDAP(object):
entry = self.db[key]
except KeyError:
LOG.error("FakeLDAP modify item failed: dn '%s' not found." % dn)
- raise NO_SUCH_OBJECT
+ raise ldap.NO_SUCH_OBJECT
for cmd, k, v in attrs:
values = entry.setdefault(k, [])
- if cmd == MOD_ADD:
+ if cmd == ldap.MOD_ADD:
if isinstance(v, list):
values += v
else:
values.append(v)
- elif cmd == MOD_REPLACE:
+ elif cmd == ldap.MOD_REPLACE:
values[:] = v if isinstance(v, list) else [v]
- elif cmd == MOD_DELETE:
+ elif cmd == ldap.MOD_DELETE:
if v is None:
if len(values) == 0:
LOG.error("FakeLDAP modify item failed: "
"item has no attribute '%s' to delete" % k)
- raise NO_SUCH_ATTRIBUTE
+ raise ldap.NO_SUCH_ATTRIBUTE
values[:] = []
else:
if not isinstance(v, list):
@@ -236,7 +233,7 @@ class FakeLDAP(object):
LOG.error("FakeLDAP modify item failed: "
"item has no attribute '%s' with value '%s'"
" to delete" % (k, val))
- raise NO_SUCH_ATTRIBUTE
+ raise ldap.NO_SUCH_ATTRIBUTE
else:
LOG.error("FakeLDAP modify item failed: unknown command %s"
% (cmd,))
@@ -256,22 +253,22 @@ class FakeLDAP(object):
"""
if server_fail:
- raise SERVER_DOWN
+ raise ldap.SERVER_DOWN
LOG.debug("FakeLDAP search at dn=%s scope=%s query='%s'" %
(dn, scope_names.get(scope, scope), query))
- if scope == SCOPE_BASE:
+ if scope == ldap.SCOPE_BASE:
try:
item_dict = self.db["%s%s" % (self.__prefix, dn)]
except KeyError:
LOG.debug("FakeLDAP search fail: dn not found for SCOPE_BASE")
- raise NO_SUCH_OBJECT
+ raise ldap.NO_SUCH_OBJECT
results = [(dn, item_dict)]
- elif scope == SCOPE_SUBTREE:
+ elif scope == ldap.SCOPE_SUBTREE:
results = [(k[len(self.__prefix):], v)
for k, v in self.db.iteritems()
if re.match("%s.*,%s" % (self.__prefix, dn), k)]
- elif scope == SCOPE_ONELEVEL:
+ elif scope == ldap.SCOPE_ONELEVEL:
results = [(k[len(self.__prefix):], v)
for k, v in self.db.iteritems()
if re.match("%s\w+=[^,]+,%s" % (self.__prefix, dn), k)]