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

Reply via email to