[SSSD] [sssd PR#680][synchronized] pytest: Add test case for Expired sudo rule
URL: https://github.com/SSSD/sssd/pull/680 Author: mrniranjan Title: #680: pytest: Add test case for Expired sudo rule Action: synchronized To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/680/head:pr680 git checkout pr680 From 8cddf199d93b5c5e9898cda260524facfe854725 Mon Sep 17 00:00:00 2001 From: "Niranjan M.R" Date: Tue, 16 Oct 2018 14:00:30 +0530 Subject: [PATCH 1/6] pytest/sudo: Modify fixture to restore sssd.conf Modify set_case_sensitive_false fixture to restore sssd.conf back to the original sssd.conf after running test_case_senitivity test case. Signed-off-by: Niranjan M.R --- src/tests/multihost/basic/conftest.py | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/tests/multihost/basic/conftest.py b/src/tests/multihost/basic/conftest.py index 0d3b831bea..376a3b415b 100644 --- a/src/tests/multihost/basic/conftest.py +++ b/src/tests/multihost/basic/conftest.py @@ -15,6 +15,7 @@ import os import tempfile import ldap +import time def pytest_namespace(): @@ -193,8 +194,10 @@ def create_casesensitive_posix_user(session_multihost): @pytest.fixture -def set_case_sensitive_false(session_multihost): +def set_case_sensitive_false(session_multihost, request): """ Set case_sensitive to false in sssd domain section """ +bkup_sssd = 'cp -f /etc/sssd/sssd.conf /etc/sssd/sssd.conf.orig' +session_multihost.master[0].run_command(bkup_sssd) session_multihost.master[0].transport.get_file('/etc/sssd/sssd.conf', '/tmp/sssd.conf') sssdconfig = ConfigParser.SafeConfigParser() @@ -208,6 +211,14 @@ def set_case_sensitive_false(session_multihost): '/etc/sssd/sssd.conf') session_multihost.master[0].service_sssd('restart') +def restore_sssd(): +""" Restore sssd.conf """ +restore_sssd = 'cp -f /etc/sssd/sssd.conf.orig /etc/sssd/sssd.conf' +session_multihost.master[0].run_command(restore_sssd) +session_multihost.master[0].service_sssd('restart') +time.sleep(5) +request.addfinalizer(restore_sssd) + @pytest.fixture def enable_files_domain(session_multihost): From f8926ab5817696c8825b5a8d2388a002266b1e56 Mon Sep 17 00:00:00 2001 From: "Niranjan M.R" Date: Tue, 16 Oct 2018 16:31:25 +0530 Subject: [PATCH 2/6] pytest/sudo: Rename create_sudorule to case_sensitive_sudorule Add del_sudo_rule function to delete the sudo rules after test_sensitivity completes Signed-off-by: Niranjan M.R --- src/tests/multihost/basic/conftest.py | 17 ++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/tests/multihost/basic/conftest.py b/src/tests/multihost/basic/conftest.py index 376a3b415b..cfc35d527a 100644 --- a/src/tests/multihost/basic/conftest.py +++ b/src/tests/multihost/basic/conftest.py @@ -254,10 +254,10 @@ def teardown_files_domain_users(): @pytest.fixture -def create_sudorule(session_multihost, create_casesensitive_posix_user): +def case_sensitive_sudorule(session_multihost, +create_casesensitive_posix_user, +request): """ Create posix user and groups """ -# pylint: disable=unused-argument -_pytest_fixtures = [create_casesensitive_posix_user] ldap_uri = 'ldap://%s' % (session_multihost.master[0].sys_hostname) ds_rootdn = 'cn=Directory Manager' ds_rootpw = 'Secret123' @@ -280,6 +280,17 @@ def create_sudorule(session_multihost, create_casesensitive_posix_user): except LdapException: pytest.fail("Failed to add sudo rule %s" % rule_dn2) +def del_sensitive_sudo_rule(): +""" Delete sudo rule """ +(ret, _) = ldap_inst.del_dn(rule_dn1) +assert ret == 'Success' +(ret, _) = ldap_inst.del_dn(rule_dn2) +assert ret == 'Success' +(ret, _) = ldap_inst.del_dn(sudo_ou) +assert ret == 'Success' +time.sleep(5) +request.addfinalizer(del_sensitive_sudo_rule) + @pytest.fixture def enable_sss_sudo_nsswitch(session_multihost, tmpdir, request): From 2e2240c2e3d7dc9be0f85a746855b20390aaa6c0 Mon Sep 17 00:00:00 2001 From: "Niranjan M.R" Date: Tue, 16 Oct 2018 16:35:43 +0530 Subject: [PATCH 3/6] pytest/sudo: call case_sensitive_sudorule fixture instead of create_sudorule Signed-off-by: Niranjan M.R --- src/tests/multihost/basic/test_sudo.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/multihost/basic/test_sudo.py b/src/tests/multihost/basic/test_sudo.py index ecf41ffb1a..af9b7a8e87 100644 --- a/src/tests/multihost/basic/test_sudo.py +++ b/src/tests/multihost/basic/test_sudo.py @@ -6,12 +6,12 @@ class TestSanitySudo(object): """ Basic Sanity Test cases for sudo service in sssd """ -def test_case_senitivity(self, multihost, create_sudorule, +def test_case_senitivity(self, multihost,
[SSSD] [sssd PR#680][synchronized] pytest: Add test case for Expired sudo rule
URL: https://github.com/SSSD/sssd/pull/680 Author: mrniranjan Title: #680: pytest: Add test case for Expired sudo rule Action: synchronized To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/680/head:pr680 git checkout pr680 From 8cddf199d93b5c5e9898cda260524facfe854725 Mon Sep 17 00:00:00 2001 From: "Niranjan M.R" Date: Tue, 16 Oct 2018 14:00:30 +0530 Subject: [PATCH 1/6] pytest/sudo: Modify fixture to restore sssd.conf Modify set_case_sensitive_false fixture to restore sssd.conf back to the original sssd.conf after running test_case_senitivity test case. Signed-off-by: Niranjan M.R --- src/tests/multihost/basic/conftest.py | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/tests/multihost/basic/conftest.py b/src/tests/multihost/basic/conftest.py index 0d3b831bea..376a3b415b 100644 --- a/src/tests/multihost/basic/conftest.py +++ b/src/tests/multihost/basic/conftest.py @@ -15,6 +15,7 @@ import os import tempfile import ldap +import time def pytest_namespace(): @@ -193,8 +194,10 @@ def create_casesensitive_posix_user(session_multihost): @pytest.fixture -def set_case_sensitive_false(session_multihost): +def set_case_sensitive_false(session_multihost, request): """ Set case_sensitive to false in sssd domain section """ +bkup_sssd = 'cp -f /etc/sssd/sssd.conf /etc/sssd/sssd.conf.orig' +session_multihost.master[0].run_command(bkup_sssd) session_multihost.master[0].transport.get_file('/etc/sssd/sssd.conf', '/tmp/sssd.conf') sssdconfig = ConfigParser.SafeConfigParser() @@ -208,6 +211,14 @@ def set_case_sensitive_false(session_multihost): '/etc/sssd/sssd.conf') session_multihost.master[0].service_sssd('restart') +def restore_sssd(): +""" Restore sssd.conf """ +restore_sssd = 'cp -f /etc/sssd/sssd.conf.orig /etc/sssd/sssd.conf' +session_multihost.master[0].run_command(restore_sssd) +session_multihost.master[0].service_sssd('restart') +time.sleep(5) +request.addfinalizer(restore_sssd) + @pytest.fixture def enable_files_domain(session_multihost): From f8926ab5817696c8825b5a8d2388a002266b1e56 Mon Sep 17 00:00:00 2001 From: "Niranjan M.R" Date: Tue, 16 Oct 2018 16:31:25 +0530 Subject: [PATCH 2/6] pytest/sudo: Rename create_sudorule to case_sensitive_sudorule Add del_sudo_rule function to delete the sudo rules after test_sensitivity completes Signed-off-by: Niranjan M.R --- src/tests/multihost/basic/conftest.py | 17 ++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/tests/multihost/basic/conftest.py b/src/tests/multihost/basic/conftest.py index 376a3b415b..cfc35d527a 100644 --- a/src/tests/multihost/basic/conftest.py +++ b/src/tests/multihost/basic/conftest.py @@ -254,10 +254,10 @@ def teardown_files_domain_users(): @pytest.fixture -def create_sudorule(session_multihost, create_casesensitive_posix_user): +def case_sensitive_sudorule(session_multihost, +create_casesensitive_posix_user, +request): """ Create posix user and groups """ -# pylint: disable=unused-argument -_pytest_fixtures = [create_casesensitive_posix_user] ldap_uri = 'ldap://%s' % (session_multihost.master[0].sys_hostname) ds_rootdn = 'cn=Directory Manager' ds_rootpw = 'Secret123' @@ -280,6 +280,17 @@ def create_sudorule(session_multihost, create_casesensitive_posix_user): except LdapException: pytest.fail("Failed to add sudo rule %s" % rule_dn2) +def del_sensitive_sudo_rule(): +""" Delete sudo rule """ +(ret, _) = ldap_inst.del_dn(rule_dn1) +assert ret == 'Success' +(ret, _) = ldap_inst.del_dn(rule_dn2) +assert ret == 'Success' +(ret, _) = ldap_inst.del_dn(sudo_ou) +assert ret == 'Success' +time.sleep(5) +request.addfinalizer(del_sensitive_sudo_rule) + @pytest.fixture def enable_sss_sudo_nsswitch(session_multihost, tmpdir, request): From 2e2240c2e3d7dc9be0f85a746855b20390aaa6c0 Mon Sep 17 00:00:00 2001 From: "Niranjan M.R" Date: Tue, 16 Oct 2018 16:35:43 +0530 Subject: [PATCH 3/6] pytest/sudo: call case_sensitive_sudorule fixture instead of create_sudorule Signed-off-by: Niranjan M.R --- src/tests/multihost/basic/test_sudo.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/multihost/basic/test_sudo.py b/src/tests/multihost/basic/test_sudo.py index ecf41ffb1a..af9b7a8e87 100644 --- a/src/tests/multihost/basic/test_sudo.py +++ b/src/tests/multihost/basic/test_sudo.py @@ -6,12 +6,12 @@ class TestSanitySudo(object): """ Basic Sanity Test cases for sudo service in sssd """ -def test_case_senitivity(self, multihost, create_sudorule, +def test_case_senitivity(self, multihost,
[SSSD] [sssd PR#680][synchronized] pytest: Add test case for Expired sudo rule
URL: https://github.com/SSSD/sssd/pull/680 Author: mrniranjan Title: #680: pytest: Add test case for Expired sudo rule Action: synchronized To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/680/head:pr680 git checkout pr680 From 8cddf199d93b5c5e9898cda260524facfe854725 Mon Sep 17 00:00:00 2001 From: "Niranjan M.R" Date: Tue, 16 Oct 2018 14:00:30 +0530 Subject: [PATCH 1/6] pytest/sudo: Modify fixture to restore sssd.conf Modify set_case_sensitive_false fixture to restore sssd.conf back to the original sssd.conf after running test_case_senitivity test case. Signed-off-by: Niranjan M.R --- src/tests/multihost/basic/conftest.py | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/tests/multihost/basic/conftest.py b/src/tests/multihost/basic/conftest.py index 0d3b831bea..376a3b415b 100644 --- a/src/tests/multihost/basic/conftest.py +++ b/src/tests/multihost/basic/conftest.py @@ -15,6 +15,7 @@ import os import tempfile import ldap +import time def pytest_namespace(): @@ -193,8 +194,10 @@ def create_casesensitive_posix_user(session_multihost): @pytest.fixture -def set_case_sensitive_false(session_multihost): +def set_case_sensitive_false(session_multihost, request): """ Set case_sensitive to false in sssd domain section """ +bkup_sssd = 'cp -f /etc/sssd/sssd.conf /etc/sssd/sssd.conf.orig' +session_multihost.master[0].run_command(bkup_sssd) session_multihost.master[0].transport.get_file('/etc/sssd/sssd.conf', '/tmp/sssd.conf') sssdconfig = ConfigParser.SafeConfigParser() @@ -208,6 +211,14 @@ def set_case_sensitive_false(session_multihost): '/etc/sssd/sssd.conf') session_multihost.master[0].service_sssd('restart') +def restore_sssd(): +""" Restore sssd.conf """ +restore_sssd = 'cp -f /etc/sssd/sssd.conf.orig /etc/sssd/sssd.conf' +session_multihost.master[0].run_command(restore_sssd) +session_multihost.master[0].service_sssd('restart') +time.sleep(5) +request.addfinalizer(restore_sssd) + @pytest.fixture def enable_files_domain(session_multihost): From f8926ab5817696c8825b5a8d2388a002266b1e56 Mon Sep 17 00:00:00 2001 From: "Niranjan M.R" Date: Tue, 16 Oct 2018 16:31:25 +0530 Subject: [PATCH 2/6] pytest/sudo: Rename create_sudorule to case_sensitive_sudorule Add del_sudo_rule function to delete the sudo rules after test_sensitivity completes Signed-off-by: Niranjan M.R --- src/tests/multihost/basic/conftest.py | 17 ++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/tests/multihost/basic/conftest.py b/src/tests/multihost/basic/conftest.py index 376a3b415b..cfc35d527a 100644 --- a/src/tests/multihost/basic/conftest.py +++ b/src/tests/multihost/basic/conftest.py @@ -254,10 +254,10 @@ def teardown_files_domain_users(): @pytest.fixture -def create_sudorule(session_multihost, create_casesensitive_posix_user): +def case_sensitive_sudorule(session_multihost, +create_casesensitive_posix_user, +request): """ Create posix user and groups """ -# pylint: disable=unused-argument -_pytest_fixtures = [create_casesensitive_posix_user] ldap_uri = 'ldap://%s' % (session_multihost.master[0].sys_hostname) ds_rootdn = 'cn=Directory Manager' ds_rootpw = 'Secret123' @@ -280,6 +280,17 @@ def create_sudorule(session_multihost, create_casesensitive_posix_user): except LdapException: pytest.fail("Failed to add sudo rule %s" % rule_dn2) +def del_sensitive_sudo_rule(): +""" Delete sudo rule """ +(ret, _) = ldap_inst.del_dn(rule_dn1) +assert ret == 'Success' +(ret, _) = ldap_inst.del_dn(rule_dn2) +assert ret == 'Success' +(ret, _) = ldap_inst.del_dn(sudo_ou) +assert ret == 'Success' +time.sleep(5) +request.addfinalizer(del_sensitive_sudo_rule) + @pytest.fixture def enable_sss_sudo_nsswitch(session_multihost, tmpdir, request): From 2e2240c2e3d7dc9be0f85a746855b20390aaa6c0 Mon Sep 17 00:00:00 2001 From: "Niranjan M.R" Date: Tue, 16 Oct 2018 16:35:43 +0530 Subject: [PATCH 3/6] pytest/sudo: call case_sensitive_sudorule fixture instead of create_sudorule Signed-off-by: Niranjan M.R --- src/tests/multihost/basic/test_sudo.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/multihost/basic/test_sudo.py b/src/tests/multihost/basic/test_sudo.py index ecf41ffb1a..af9b7a8e87 100644 --- a/src/tests/multihost/basic/test_sudo.py +++ b/src/tests/multihost/basic/test_sudo.py @@ -6,12 +6,12 @@ class TestSanitySudo(object): """ Basic Sanity Test cases for sudo service in sssd """ -def test_case_senitivity(self, multihost, create_sudorule, +def test_case_senitivity(self, multihost,