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

Reply via email to