URL: https://github.com/SSSD/sssd/pull/5424 Author: madhuriupadhye Title: #5424: Test: alltests: "enabled" option to domain section Action: synchronized
To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/5424/head:pr5424 git checkout pr5424
From 23630704a59de2ee8ed478f48fe2d4c5f539aa41 Mon Sep 17 00:00:00 2001 From: Madhuri Upadhye <mupad...@redhat.com> Date: Wed, 2 Dec 2020 13:15:57 +0530 Subject: [PATCH 1/3] Test: alltests: "enabled" option to domain section Configure multiple domain and check 'enabled' parameter. It consists of 4 test cases: 1. Add 'enabled = true' in both ldap domains and check userlookups. 2. Check userlookup when 'domains = ldap1' and add 'enabled = true' in both ldap1, ldap2 section. 3. Check userlookup when enabled option in snippet file and 'domains = ' in sssd section. 4. Check userlookup when enabled option is set true in snippet file Verifies: Issue: #4743 Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1884196 Signed-off-by: Madhuri Upadhye <mupad...@redhat.com> --- .../multihost/alltests/test_multidomain.py | 155 ++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/src/tests/multihost/alltests/test_multidomain.py b/src/tests/multihost/alltests/test_multidomain.py index c92d5acd8e..44137d7d6d 100644 --- a/src/tests/multihost/alltests/test_multidomain.py +++ b/src/tests/multihost/alltests/test_multidomain.py @@ -537,3 +537,158 @@ def test_0023_ldapldap(self, multihost, multidomain_sssd): print("end time = ", endtime) timer.append(endtime - starttime) print(timer) + + @pytest.mark.tier2 + def test_0024_bz1884196(self, multihost, multidomain_sssd): + """ + @Title: IDM-SSSD-TC: ldap_provider: test_for_multidomain: Check + lookup of user when enabled option is True in both ldap domain + + @Bugzilla: + https://bugzilla.redhat.com/show_bug.cgi?id=1884196 + + multidomain_sssd(domains='ldap_ldap') + """ + multidomain_sssd(domains='ldap_ldap') + tools = sssdTools(multihost.client[0]) + ldap_params1 = {'enabled': 'True'} + tools.sssd_conf('domain/ldap1', ldap_params1) + ldap_params2 = {'enabled': 'False'} + tools.sssd_conf('domain/ldap2', ldap_params2) + tools.clear_sssd_cache() + multihost.client[0].service_sssd('restart') + for idx in range(10): + user1 = 'puser%d@ldap%d' % (idx, 1) + lookup_u1 = 'getent passwd %s' % user1 + cmd1 = multihost.client[0].run_command(lookup_u1) + if cmd1.returncode == 0: + status = 'PASS' + else: + status = 'FAIL' + for idm in range(10): + user2 = 'quser%d@ldap%d' % (idm, 2) + try: + lookup_u2 = 'getent passwd %s' % user2 + cmd2 = multihost.client[0].run_command(lookup_u2) + print(cmd2.returncode) + cmd2.returncode == 0 + status = 'FAIL' + except Exception: + status = 'PASS' + assert status == 'PASS' + + @pytest.mark.tier2 + def test_0025_bz1884196(self, multihost, multidomain_sssd): + """ + @Title: IDM-SSSD-TC: ldap_provider: test_for_multidomain: Check user + when domains parameter has single domain but enabled True in both ldap + domain + + @Bugzilla: + https://bugzilla.redhat.com/show_bug.cgi?id=1884196 + + multidomain_sssd(domains='ldap_ldap') + """ + multidomain_sssd(domains='ldap_ldap') + tools = sssdTools(multihost.client[0]) + domain_params = {'domains': 'ldap1'} + tools = sssdTools(multihost.client[0]) + tools.sssd_conf('sssd', domain_params, action='update') + ldap_params1 = {'enabled': 'True'} + tools.sssd_conf('domain/ldap1', ldap_params1) + ldap_params2 = {'enabled': 'True'} + tools.sssd_conf('domain/ldap2', ldap_params2) + tools.clear_sssd_cache() + multihost.client[0].service_sssd('restart') + suffix = ['p', 'q'] + for domain in range(2): + for idx in range(10): + user1 = '%suser%d@ldap%d' % (suffix[domain], idx, domain + 1) + lookup_u1 = 'getent passwd %s' % user1 + cmd1 = multihost.client[0].run_command(lookup_u1) + if cmd1.returncode == 0: + status = 'PASS' + else: + status = 'FAIL' + assert status == 'PASS' + + @pytest.mark.tier2 + def test_0026_bz1884196(self, multihost, multidomain_sssd): + """ + @Title: IDM-SSSD-TC: ldap_provider: test_for_multidomain: Check + enabled option with snippet file + + @Bugzilla: + https://bugzilla.redhat.com/show_bug.cgi?id=1884196 + + multidomain_sssd(domains='ldap_ldap') + """ + multidomain_sssd(domains='ldap_ldap') + tools = sssdTools(multihost.client[0]) + domain_params = {'domains': ''} + tools = sssdTools(multihost.client[0]) + tools.sssd_conf('sssd', domain_params, action='update') + ldap_params1 = {'enabled': 'True'} + tools.sssd_conf('domain/ldap1', ldap_params1) + ldap_params2 = {'enabled': 'False'} + tools.sssd_conf('domain/ldap2', ldap_params2) + file_content = "[domain/ldap2]\nenabled = True" + snippet_file = "/etc/sssd/conf.d/01_snippet.conf" + multihost.client[0].put_file_contents(snippet_file, file_content) + cmd_chmod = 'chmod 600 %s' % snippet_file + multihost.client[0].run_command(cmd_chmod, raiseonerr=False) + tools.clear_sssd_cache() + multihost.client[0].service_sssd('restart') + suffix = ['p', 'q'] + for domain in range(2): + for idx in range(10): + user1 = '%suser%d@ldap%d' % (suffix[domain], idx, domain + 1) + lookup_u1 = 'getent passwd %s' % user1 + cmd1 = multihost.client[0].run_command(lookup_u1) + if cmd1.returncode == 0: + status = 'PASS' + else: + status = 'FAIL' + delete_snip = '/etc/sssd/conf.d/01_snippet.conf' + multihost.client[0].run_command(delete_snip, raiseonerr=False) + assert status == 'PASS' + + @pytest.mark.tier2 + def test_0027_bz1884196(self, multihost, multidomain_sssd): + """ + @Title: IDM-SSSD-TC: ldap_provider: test_for_multidomain: Check + enabled option with snippet file and empty value of domains + parameter in sssd section + + @Bugzilla: + https://bugzilla.redhat.com/show_bug.cgi?id=1884196 + + multidomain_sssd(domains='ldap_ldap') + """ + multidomain_sssd(domains='ldap_ldap') + tools = sssdTools(multihost.client[0]) + domain_params = {'domains': ''} + tools = sssdTools(multihost.client[0]) + tools.sssd_conf('sssd', domain_params, action='update') + ldap_params1 = {'enabled': 'True'} + tools.sssd_conf('domain/ldap1', ldap_params1) + file_content = "[domain/ldap2]\nenabled = True" + snippet_file = "/etc/sssd/conf.d/01_snippet.conf" + multihost.client[0].put_file_contents(snippet_file, file_content) + cmd_chmod = 'chmod 600 %s' % snippet_file + multihost.client[0].run_command(cmd_chmod, raiseonerr=False) + tools.clear_sssd_cache() + multihost.client[0].service_sssd('restart') + suffix = ['p', 'q'] + for domain in range(2): + for idx in range(10): + user1 = '%suser%d@ldap%d' % (suffix[domain], idx, domain + 1) + lookup_u1 = 'getent passwd %s' % user1 + cmd1 = multihost.client[0].run_command(lookup_u1) + if cmd1.returncode == 0: + status = 'PASS' + else: + status = 'FAIL' + delete_snip = '/etc/sssd/conf.d/01_snippet.conf' + multihost.client[0].run_command(delete_snip, raiseonerr=False) + assert status == 'PASS' From cf162ee59deb7f8af10bcc592ab29cb62d3480d4 Mon Sep 17 00:00:00 2001 From: Madhuri Upadhye <mupad...@redhat.com> Date: Tue, 8 Dec 2020 19:56:39 +0530 Subject: [PATCH 2/3] Update remove command to delete the snippet files Signed-off-by: Madhuri Upadhye <mupad...@redhat.com> --- src/tests/multihost/alltests/test_multidomain.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/multihost/alltests/test_multidomain.py b/src/tests/multihost/alltests/test_multidomain.py index 44137d7d6d..5fa4527a85 100644 --- a/src/tests/multihost/alltests/test_multidomain.py +++ b/src/tests/multihost/alltests/test_multidomain.py @@ -649,7 +649,7 @@ def test_0026_bz1884196(self, multihost, multidomain_sssd): status = 'PASS' else: status = 'FAIL' - delete_snip = '/etc/sssd/conf.d/01_snippet.conf' + delete_snip = 'rm -f /etc/sssd/conf.d/01_snippet.conf' multihost.client[0].run_command(delete_snip, raiseonerr=False) assert status == 'PASS' @@ -689,6 +689,6 @@ def test_0027_bz1884196(self, multihost, multidomain_sssd): status = 'PASS' else: status = 'FAIL' - delete_snip = '/etc/sssd/conf.d/01_snippet.conf' + delete_snip = 'rm -f /etc/sssd/conf.d/01_snippet.conf' multihost.client[0].run_command(delete_snip, raiseonerr=False) assert status == 'PASS' From f2880bcb70559e67bd0b9835c40c0113494acd38 Mon Sep 17 00:00:00 2001 From: Madhuri Upadhye <mupad...@redhat.com> Date: Mon, 14 Dec 2020 12:09:44 +0530 Subject: [PATCH 3/3] Update the title of test case. --- src/tests/multihost/alltests/test_multidomain.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tests/multihost/alltests/test_multidomain.py b/src/tests/multihost/alltests/test_multidomain.py index 5fa4527a85..bfb143e6a9 100644 --- a/src/tests/multihost/alltests/test_multidomain.py +++ b/src/tests/multihost/alltests/test_multidomain.py @@ -542,7 +542,8 @@ def test_0023_ldapldap(self, multihost, multidomain_sssd): def test_0024_bz1884196(self, multihost, multidomain_sssd): """ @Title: IDM-SSSD-TC: ldap_provider: test_for_multidomain: Check - lookup of user when enabled option is True in both ldap domain + lookup of user when enabled option is True in ldap1 domain + and False in second ldap2 domain @Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1884196
_______________________________________________ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org