diff options
-rw-r--r-- | ipalib/plugins/baseldap.py | 20 | ||||
-rw-r--r-- | tests/test_xmlrpc/test_group_plugin.py | 22 | ||||
-rw-r--r-- | tests/test_xmlrpc/test_hostgroup_plugin.py | 7 | ||||
-rw-r--r-- | tests/test_xmlrpc/test_rolegroup_plugin.py | 7 | ||||
-rw-r--r-- | tests/test_xmlrpc/test_taskgroup_plugin.py | 4 |
5 files changed, 52 insertions, 8 deletions
diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py index e03ac2e5b..bd7cb18a0 100644 --- a/ipalib/plugins/baseldap.py +++ b/ipalib/plugins/baseldap.py @@ -511,11 +511,19 @@ class LDAPAddMember(LDAPModMember): else: completed += 1 - (dn, entry_attrs) = ldap.get_entry(dn, member_dns.keys()+self.obj.default_attributes) + if options.get('all', False): + attrs_list = ['*'] + else: + attrs_list = list( + set(self.obj.default_attributes + member_dns.keys()) + ) + + (dn, entry_attrs) = ldap.get_entry(dn, attrs_list) (completed, dn) = self.post_callback( ldap, completed, failed, dn, entry_attrs, *keys, **options ) + entry_attrs['dn'] = dn self.obj.convert_attribute_members(entry_attrs, *keys, **options) return dict( @@ -575,11 +583,19 @@ class LDAPRemoveMember(LDAPModMember): else: completed += 1 - (dn, entry_attrs) = ldap.get_entry(dn, member_dns.keys()) + if options.get('all', False): + attrs_list = ['*'] + else: + attrs_list = list( + set(self.obj.default_attributes + member_dns.keys()) + ) + + (dn, entry_attrs) = ldap.get_entry(dn, attrs_list) (completed, dn) = self.post_callback( ldap, completed, failed, dn, entry_attrs, *keys, **options ) + entry_attrs['dn'] = dn self.obj.convert_attribute_members(entry_attrs, *keys, **options) return dict( diff --git a/tests/test_xmlrpc/test_group_plugin.py b/tests/test_xmlrpc/test_group_plugin.py index 8f2b207c5..1173ca318 100644 --- a/tests/test_xmlrpc/test_group_plugin.py +++ b/tests/test_xmlrpc/test_group_plugin.py @@ -362,7 +362,9 @@ class test_group(Declarative): user=tuple(), ), ), - result={'member_group': (group2,), + result={ + 'dn': u'cn=%s,cn=groups,cn=accounts,%s' % (group1, api.env.basedn), + 'member_group': (group2,), 'gidnumber': [fuzzy_digits], 'cn': [group1], 'description': [u'New desc 1'], @@ -384,7 +386,9 @@ class test_group(Declarative): user=tuple(), ), ), - result={'member_group': (group2,), + result={ + 'dn': u'cn=%s,cn=groups,cn=accounts,%s' % (group1, api.env.basedn), + 'member_group': (group2,), 'gidnumber': [fuzzy_digits], 'cn': [group1], 'description': [u'New desc 1'], @@ -399,13 +403,18 @@ class test_group(Declarative): ), expected=dict( completed=1, - result=dict(), failed=dict( member=dict( group=tuple(), user=tuple(), ), ), + result={ + 'dn': u'cn=%s,cn=groups,cn=accounts,%s' % (group1, api.env.basedn), + 'cn': [group1], + 'gidnumber': [fuzzy_digits], + 'description': [u'New desc 1'], + }, ), ), @@ -417,13 +426,18 @@ class test_group(Declarative): ), expected=dict( completed=0, - result=dict(), failed=dict( member=dict( group=(u'notfound',), user=tuple(), ), ), + result={ + 'dn': u'cn=%s,cn=groups,cn=accounts,%s' % (group1, api.env.basedn), + 'cn': [group1], + 'gidnumber': [fuzzy_digits], + 'description': [u'New desc 1'], + }, ), ), diff --git a/tests/test_xmlrpc/test_hostgroup_plugin.py b/tests/test_xmlrpc/test_hostgroup_plugin.py index 4fc67a616..6c0e11f03 100644 --- a/tests/test_xmlrpc/test_hostgroup_plugin.py +++ b/tests/test_xmlrpc/test_hostgroup_plugin.py @@ -131,6 +131,7 @@ class test_hostgroup(Declarative): ), ), result={ + 'dn': dn1, 'cn': [hostgroup1], 'description': [u'Test hostgroup 1'], 'member_host': [fqdn1], @@ -220,7 +221,11 @@ class test_hostgroup(Declarative): ), ), completed=1, - result={}, + result={ + 'dn': dn1, + 'cn': [hostgroup1], + 'description': [u'Updated hostgroup 1'], + }, ), ), diff --git a/tests/test_xmlrpc/test_rolegroup_plugin.py b/tests/test_xmlrpc/test_rolegroup_plugin.py index 801dadeda..9d0d679c5 100644 --- a/tests/test_xmlrpc/test_rolegroup_plugin.py +++ b/tests/test_xmlrpc/test_rolegroup_plugin.py @@ -150,6 +150,7 @@ class test_rolegroup(Declarative): ), ), result={ + 'dn': rolegroup1_dn, 'cn': [rolegroup1], 'description': [u'rolegroup desc 1'], 'member_group': [group1], @@ -319,7 +320,11 @@ class test_rolegroup(Declarative): hostgroup=[], ), ), - result={}, + result={ + 'dn': rolegroup1_dn, + 'cn': [rolegroup1], + 'description': [u'New desc 1'], + }, ), ), diff --git a/tests/test_xmlrpc/test_taskgroup_plugin.py b/tests/test_xmlrpc/test_taskgroup_plugin.py index 42e0ac503..2b687e682 100644 --- a/tests/test_xmlrpc/test_taskgroup_plugin.py +++ b/tests/test_xmlrpc/test_taskgroup_plugin.py @@ -170,6 +170,7 @@ class test_taskgroup(Declarative): ), ), result={ + 'dn': taskgroup1_dn, 'cn': [taskgroup1], 'description': [u'Test desc 1'], 'member_rolegroup': [rolegroup1], @@ -350,6 +351,9 @@ class test_taskgroup(Declarative): ), ), result={ + 'dn': taskgroup1_dn, + 'cn': [taskgroup1], + 'description': [u'New desc 1'], 'member_rolegroup': [rolegroup1], } ), |