From 5b76a42126bb913a308b07240d8a879bd6037a9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Thu, 9 Apr 2020 15:53:20 +0200 Subject: [PATCH] Add new tests for ssowat conf --- src/yunohost/tests/test_permission.py | 79 +++++++++++++++++++++++---- 1 file changed, 69 insertions(+), 10 deletions(-) diff --git a/src/yunohost/tests/test_permission.py b/src/yunohost/tests/test_permission.py index 379e29ad8..b5b57857d 100644 --- a/src/yunohost/tests/test_permission.py +++ b/src/yunohost/tests/test_permission.py @@ -728,45 +728,104 @@ def test_permission_clear_additional_url(): def test_permission_switch_auth_header(): permission_url("wiki.main", auth_header=True) - + res = user_permission_list(full=True)['permissions'] assert res['wiki.main']['auth_header'] == True permission_url("wiki.main", auth_header=False) - + res = user_permission_list(full=True)['permissions'] assert res['wiki.main']['auth_header'] == False def test_permission_switch_auth_header_with_same_value(): permission_url("wiki.main", auth_header=False) - + res = user_permission_list(full=True)['permissions'] assert res['wiki.main']['auth_header'] == False # Permission protected - def test_permission_switch_protected(): - permission_update("wiki.main", protected=True) - + user_permission_update("wiki.main", protected=True) + res = user_permission_list(full=True)['permissions'] assert res['wiki.main']['protected'] == True - permission_update("wiki.main", protected=False) - + user_permission_update("wiki.main", protected=False) + res = user_permission_list(full=True)['permissions'] assert res['wiki.main']['protected'] == False def test_permission_switch_protected_with_same_value(): - permission_update("wiki.main", protected=False) - + user_permission_update("wiki.main", protected=False) + res = user_permission_list(full=True)['permissions'] assert res['wiki.main']['protected'] == False +# Test SSOWAT conf generation + +def test_ssowat_conf(): + with open("/etc/ssowat/conf.json") as f: + res = json.load(f) + + permissions = res['permissions'] + assert "wiki.main" in permissions + assert "blog.main" in permissions + assert "blog.api" in permissions + + assert set(permissions['wiki.main']['users']) == {'alice', 'bob'} + assert permissions['blog.main']['users'] == ['alice'] + assert permissions['blog.api']['users'] == [] + + assert permissions['wiki.main']['uris'][0] == maindomain + "/wiki" + + assert set(permissions['wiki.main']['uris']) == {maindomain + "/wiki", + maindomain + "/wiki/whatever", + maindomain + "/wiki/idontnow"} + assert permissions['blog.main']['uris'] == [maindomain + "/blog"] + assert permissions['blog.api']['uris'] == [] + + assert permissions['wiki.main']['public'] == False + assert permissions['blog.main']['public'] == False + assert permissions['blog.api']['public'] == True + + assert permissions['wiki.main']['auth_header'] == False + assert permissions['blog.main']['auth_header'] == True + assert permissions['blog.api']['auth_header'] == True + + assert permissions['wiki.main']['label'] == "Wiki" + assert permissions['blog.main']['label'] == "Blog" + assert permissions['blog.api']['label'] == "Blog (api)" + + assert permissions['wiki.main']['show_tile'] == True + assert permissions['blog.main']['show_tile'] == False + assert permissions['blog.api']['show_tile'] == False + + +def test_ssowat_conf_show_tile_impossible(): + _permission_create_with_dummy_app(permission="site.main", auth_header=False, + label="Site", show_tile=True, + allowed=["all_users"], protected=False, sync_perm=False, + domain=maindomain, path="/site") + + _permission_create_with_dummy_app(permission="web.main", url="re:/[a-z]{3}/bla", auth_header=False, + label="Web", show_tile=True, + allowed=["all_users"], protected=False, sync_perm=True, + domain=maindomain, path="/web") + + with open("/etc/ssowat/conf.json") as f: + res = json.load(f) + + permissions = res['permissions'] + + assert permissions['site.main']['show_tile'] == False + assert permissions['web.main']['show_tile'] == False + + # # Application interaction #