Add new tests for ssowat conf

This commit is contained in:
Josué Tille 2020-04-09 15:53:20 +02:00
parent baaf4bb758
commit 5b76a42126
No known key found for this signature in database
GPG key ID: 716A6C99B04194EF

View file

@ -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
#