def test_remove_nested_netgroup(self, three_netgroups): """Test of removing nested groups""" master = self.master trinity = [ '(-,{},{})'.format(d['user']['login'], self.master.domain.name) for d in test_data ] self.check_users_in_netgroups() self.prepare_nested_netgroup_hierarchy() self.check_nested_netgroup_hierarchy() # Removing of testgroup_1 from testgroup_2 netgroups_opt = '--netgroups={n[netgroup]}'.format(n=test_data[0]) result = self.master.run_command([ 'ipa', 'netgroup-remove-member', netgroups_opt, test_data[1]['netgroup'] ], raiseonerr=False) assert result.returncode == 0 clear_sssd_cache(master) result = master.run_command( ['getent', 'netgroup', test_data[1]['netgroup']], raiseonerr=False) assert result.returncode == 0 assert trinity[1] in result.stdout_text result = master.run_command( ['getent', 'netgroup', test_data[2]['netgroup']], raiseonerr=False) assert result.returncode == 0 assert trinity[0] not in result.stdout_text assert trinity[1] in result.stdout_text assert trinity[2] in result.stdout_text # Removing of testgroup_2 from testgroup_3 netgroups_opt = '--netgroups={n[netgroup]}'.format(n=test_data[1]) result = self.master.run_command([ 'ipa', 'netgroup-remove-member', netgroups_opt, test_data[2]['netgroup'] ], raiseonerr=False) assert result.returncode == 0 clear_sssd_cache(master) result = master.run_command( ['getent', 'netgroup', test_data[2]['netgroup']], raiseonerr=False) assert result.returncode == 0 assert trinity[0] not in result.stdout_text assert trinity[1] not in result.stdout_text assert trinity[2] in result.stdout_text
def check_nested_netgroup_hierarchy(self): """Check if nested netgroups hierarchy is complete""" master = self.master clear_sssd_cache(master) for d in test_data: result = master.run_command(['getent', 'netgroup', d['netgroup']], raiseonerr=False) assert result.returncode == 0 for member in d['netgroup_nested_members']: if not member: continue netgroup = '(-,{},{})'.format(member, self.master.domain.name) assert netgroup in result.stdout_text
def check_users_in_netgroups(self): """Check if users are in groups, no nested things""" master = self.master clear_sssd_cache(master) for d in test_data: result = master.run_command( ['getent', 'passwd', d['user']['login']], raiseonerr=False) assert result.returncode == 0 user = '******'.format(u=d['user']) assert user in result.stdout_text result = master.run_command(['getent', 'netgroup', d['netgroup']], raiseonerr=False) assert result.returncode == 0 netgroup = '(-,{},{})'.format(d['user']['login'], self.master.domain.name) assert netgroup in result.stdout_text
def test_remove_nonposix_trust(self): tasks.remove_trust_with_ad(self.master, self.ad_domain) tasks.clear_sssd_cache(self.master)
def clear_sssd_caches(self): tasks.clear_sssd_cache(self.master) tasks.clear_sssd_cache(self.legacy_client)
def clear_sssd_caches(self): tasks.clear_sssd_cache(self.master)
def list_sudo_commands(self, user, raiseonerr=False, verbose=False): clear_sssd_cache(self.client) list_flag = '-ll' if verbose else '-l' return self.client.run_command('su -c "sudo %s" %s' % (list_flag, user), raiseonerr=raiseonerr)
def list_sudo_commands(self, user, raiseonerr=False, verbose=False): clear_sssd_cache(self.client) list_flag = '-ll' if verbose else '-l' return self.client.run_command( 'su -c "sudo %s -n" %s' % (list_flag, user), raiseonerr=raiseonerr)
def test_remove_trust_with_posix_attributes(self): tasks.remove_trust_with_ad(self.master, self.ad) tasks.clear_sssd_cache(self.master)