Example #1
0
    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
Example #2
0
    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
Example #3
0
    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
Example #4
0
    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
Example #5
0
    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
Example #6
0
    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
Example #7
0
 def test_remove_nonposix_trust(self):
     tasks.remove_trust_with_ad(self.master, self.ad_domain)
     tasks.clear_sssd_cache(self.master)
Example #8
0
 def clear_sssd_caches(self):
     tasks.clear_sssd_cache(self.master)
     tasks.clear_sssd_cache(self.legacy_client)
Example #9
0
 def clear_sssd_caches(self):
     tasks.clear_sssd_cache(self.master)
Example #10
0
 def clear_sssd_caches(self):
     tasks.clear_sssd_cache(self.master)
     tasks.clear_sssd_cache(self.legacy_client)
Example #11
0
 def clear_sssd_caches(self):
     tasks.clear_sssd_cache(self.master)
Example #12
0
 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)
Example #13
0
 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)