On (12/09/16 00:25), Jakub Hrozek wrote: >From fd71b7ed7c588cc22402573b9877020234949e22 Mon Sep 17 00:00:00 2001 >From: Jakub Hrozek <jhro...@redhat.com> >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") Above changes are unrelated to the test. If you decide to touch the code then it would be better to use subprocess.check_call
> > 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")] otherwise LGTM LS _______________________________________________ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org