diff options
author | Jan Cholasta <jcholast@redhat.com> | 2015-01-14 16:49:35 +0000 |
---|---|---|
committer | Jan Cholasta <jcholast@redhat.com> | 2015-04-16 06:58:31 +0000 |
commit | cbb112dd57940cdb128dd5535f0ff3a826009641 (patch) | |
tree | 44621ff6df53ea366a89ff54393ff01cdfc88ec3 | |
parent | 955885d8d909592325f017e09af79d62d912dcd0 (diff) | |
download | freeipa-cbb112dd57940cdb128dd5535f0ff3a826009641.tar.gz freeipa-cbb112dd57940cdb128dd5535f0ff3a826009641.tar.xz freeipa-cbb112dd57940cdb128dd5535f0ff3a826009641.zip |
ldap: Use LDAPClient instead of IPASimpleLDAPObject in LDAPEntry
Reviewed-By: Petr Viktorin <pviktori@redhat.com>
-rw-r--r-- | ipapython/ipaldap.py | 11 | ||||
-rw-r--r-- | ipatests/test_xmlrpc/test_baseldap_plugin.py | 8 |
2 files changed, 14 insertions, 5 deletions
diff --git a/ipapython/ipaldap.py b/ipapython/ipaldap.py index 8522517bd..98a43b79f 100644 --- a/ipapython/ipaldap.py +++ b/ipapython/ipaldap.py @@ -571,7 +571,7 @@ class LDAPEntry(collections.MutableMapping): * LDAPEntry(dn, entry) - create a shallow copy of an existing LDAPEntry with a different DN. * LDAPEntry(conn, dn, mapping) - create a new LDAPEntry using the - specified IPASimpleLDAPObject and DN and optionally initialize + specified LDAPClient and DN and optionally initialize attributes from the specified mapping object. Keyword arguments can be used to override values of specific attributes. @@ -582,7 +582,7 @@ class LDAPEntry(collections.MutableMapping): assert _dn is None _dn = _conn _conn = _conn._conn - assert isinstance(_conn, IPASimpleLDAPObject) + assert isinstance(_conn, LDAPClient) if isinstance(_dn, LDAPEntry): assert _obj is None @@ -992,6 +992,9 @@ class LDAPClient(object): def conn(self): return self._conn + def get_single_value(self, attr): + return self.conn.get_single_value(attr) + def encode(self, val): return self.conn.encode(val) @@ -1023,7 +1026,7 @@ class LDAPClient(object): continue - ipa_entry = LDAPEntry(self.conn, DN(original_dn)) + ipa_entry = LDAPEntry(self, DN(original_dn)) for attr, original_values in original_attrs.items(): ipa_entry.raw[attr] = original_values @@ -1240,7 +1243,7 @@ class LDAPClient(object): return DN((primary_key, entry_attrs[primary_key]), parent_dn) def make_entry(self, _dn=None, _obj=None, **kwargs): - return LDAPEntry(self.conn, _dn, _obj, **kwargs) + return LDAPEntry(self, _dn, _obj, **kwargs) # generating filters for find_entry # some examples: diff --git a/ipatests/test_xmlrpc/test_baseldap_plugin.py b/ipatests/test_xmlrpc/test_baseldap_plugin.py index d5b338887..3ffc041f9 100644 --- a/ipatests/test_xmlrpc/test_baseldap_plugin.py +++ b/ipatests/test_xmlrpc/test_baseldap_plugin.py @@ -187,7 +187,13 @@ def test_entry_to_dict(): self._schema = FakeSchema() self._has_schema = True - conn = FakeIPASimpleLDAPObject() + class FakeLDAPClient(ipaldap.LDAPClient): + def __init__(self): + super(FakeLDAPClient, self).__init__('ldap://test', + force_schema_updates=False) + self._conn = FakeIPASimpleLDAPObject() + + conn = FakeLDAPClient() rights = {'nothing': 'is'} entry = ipaldap.LDAPEntry( |