mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
ipatests: adapt for new automembership fixup behavior
The automembership fixup task now needs to be called with --cleanup argument when the user expects automember to remove user/hosts from automember groups. Update the test to call create a cleanup task equivalent to dsconf plugin automember fixup --cleanup when it is needed. Fixes: https://pagure.io/freeipa/issue/9313 Signed-off-by: Florence Blanc-Renaud <flo@redhat.com> Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> Reviewed-By: Rob Crittenden <rcritten@redhat.com>
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
"""This covers tests for automemberfeature."""
|
||||
|
||||
from __future__ import absolute_import
|
||||
import uuid
|
||||
|
||||
from ipapython.dn import DN
|
||||
|
||||
@@ -211,11 +212,27 @@ class TestAutounmembership(IntegrationTest):
|
||||
# Running automember-build so that user is part of correct group
|
||||
result = self.master.run_command(['ipa', 'automember-rebuild',
|
||||
'--users=%s' % user2])
|
||||
assert msg in result.stdout_text
|
||||
|
||||
# The additional --cleanup argument is required
|
||||
cleanup_ldif = (
|
||||
"dn: cn={cn},cn=automember rebuild membership,"
|
||||
"cn=tasks,cn=config\n"
|
||||
"changetype: add\n"
|
||||
"objectclass: top\n"
|
||||
"objectclass: extensibleObject\n"
|
||||
"basedn: cn=users,cn=accounts,{suffix}\n"
|
||||
"filter: (uid={user})\n"
|
||||
"cleanup: yes\n"
|
||||
"scope: sub"
|
||||
).format(cn=str(uuid.uuid4()),
|
||||
suffix=str(self.master.domain.basedn),
|
||||
user=user2)
|
||||
tasks.ldapmodify_dm(self.master, cleanup_ldif)
|
||||
|
||||
assert self.is_user_member_of_group(user2, group2)
|
||||
assert not self.is_user_member_of_group(user2, group1)
|
||||
|
||||
assert msg in result.stdout_text
|
||||
|
||||
finally:
|
||||
# testcase cleanup
|
||||
self.remove_user_automember(user2, raiseonerr=False)
|
||||
@@ -248,11 +265,27 @@ class TestAutounmembership(IntegrationTest):
|
||||
result = self.master.run_command(
|
||||
['ipa', 'automember-rebuild', '--hosts=%s' % host2]
|
||||
)
|
||||
assert msg in result.stdout_text
|
||||
|
||||
# The additional --cleanup argument is required
|
||||
cleanup_ldif = (
|
||||
"dn: cn={cn},cn=automember rebuild membership,"
|
||||
"cn=tasks,cn=config\n"
|
||||
"changetype: add\n"
|
||||
"objectclass: top\n"
|
||||
"objectclass: extensibleObject\n"
|
||||
"basedn: cn=computers,cn=accounts,{suffix}\n"
|
||||
"filter: (fqdn={fqdn})\n"
|
||||
"cleanup: yes\n"
|
||||
"scope: sub"
|
||||
).format(cn=str(uuid.uuid4()),
|
||||
suffix=str(self.master.domain.basedn),
|
||||
fqdn=host2)
|
||||
tasks.ldapmodify_dm(self.master, cleanup_ldif)
|
||||
|
||||
assert self.is_host_member_of_hostgroup(host2, hostgroup2)
|
||||
assert not self.is_host_member_of_hostgroup(host2, hostgroup1)
|
||||
|
||||
assert msg in result.stdout_text
|
||||
|
||||
finally:
|
||||
# testcase cleanup
|
||||
self.remove_host_automember(host2, raiseonerr=False)
|
||||
|
||||
Reference in New Issue
Block a user