From fd71b7ed7c588cc22402573b9877020234949e22 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Fri, 9 Sep 2016 12:23:04 +0200 Subject: [PATCH 3/3] TESTS: Test offline netgroups resolution --- src/tests/intg/test_netgroup.py | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/src/tests/intg/test_netgroup.py b/src/tests/intg/test_netgroup.py index b99476126844e35d5dbc1793077720b4020c2fb7..1d00f0ecdc912dc7ecc23a818a79828d2b2727e6 100644 --- a/src/tests/intg/test_netgroup.py +++ b/src/tests/intg/test_netgroup.py @@ -104,6 +104,7 @@ def format_basic_conf(ldap_conn, schema): [sssd] domains = LDAP services = nss + disable_netlink = true [domain/LDAP] {schema_conf} @@ -148,11 +149,16 @@ def create_sssd_process(): raise Exception("sssd start failed") +def get_sssd_pid(): + pid_file = open(config.PIDFILE_PATH, "r") + pid = int(pid_file.read()) + return pid + + def cleanup_sssd_process(): """Stop the SSSD process and remove its state""" try: - pid_file = open(config.PIDFILE_PATH, "r") - pid = int(pid_file.read()) + pid = get_sssd_pid() os.kill(pid, signal.SIGTERM) while True: try: @@ -172,6 +178,9 @@ def create_sssd_cleanup(request): """Add teardown for stopping SSSD and removing its state""" request.addfinalizer(cleanup_sssd_process) +def simulate_offline(): + pid = get_sssd_pid() + os.kill(pid, signal.SIGUSR1) def create_sssd_fixture(request): """Start SSSD and add teardown for stopping it and removing its state""" @@ -351,7 +360,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0]) if subprocess.call(["sss_cache", "-N"]) != 0: - raise Exception("sssd_cache failed") + raise Exception("sss_cache failed") res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND @@ -366,7 +375,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0]) if subprocess.call(["sss_cache", "-N"]) != 0: - raise Exception("sssd_cache failed") + raise Exception("sss_cache failed") res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND @@ -422,7 +431,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif) if subprocess.call(["sss_cache", "-N"]) != 0: - raise Exception("sssd_cache failed") + raise Exception("sss_cache failed") res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS @@ -444,7 +453,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif) if subprocess.call(["sss_cache", "-N"]) != 0: - raise Exception("sssd_cache failed") + raise Exception("sss_cache failed") res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS @@ -457,3 +466,17 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup3") assert res == sssd_netgroup.NssReturnCode.SUCCESS assert netgroups == [] + +def test_offline_netgroups(add_tripled_netgroup): + res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup") + assert res == sssd_netgroup.NssReturnCode.SUCCESS + assert netgrps == [("host", "user", "domain")] + + if subprocess.call(["sss_cache", "-N"]) != 0: + raise Exception("sss_cache failed") + + simulate_offline() + + res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup") + assert res == sssd_netgroup.NssReturnCode.SUCCESS + assert netgrps == [("host", "user", "domain")] -- 2.7.4