Make the --all option work in Add/Remove Member commands.

This commit is contained in:
Pavel Zuna 2010-02-23 15:58:03 +01:00 committed by Rob Crittenden
parent 8c46e09735
commit aa2c124e7d
5 changed files with 52 additions and 8 deletions

View File

@ -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(

View File

@ -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'],
},
),
),

View File

@ -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'],
},
),
),

View File

@ -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'],
},
),
),

View File

@ -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],
}
),