from acl import ACL import os def setup_module(mod): mod.acl = acl = ACL('test_acl_root') acl.register_role('viewer', ['view things']) acl.register_role('tester', ['test things', 'view things']) acl.register_role('manager', ['view things', 'manage things']) acl.register_user('viewer', ['viewer']) acl.register_user('tester', ['viewer']) acl.add_user_roles('tester', ['tester'], '/tester_playground') acl.add_user_roles('tester', ['manager'], '/tester_playground/admin') acl.register_user('manager', ['manager']) acl.register_user('johnny', ['tester', 'manager']) def test_user_has_permission(): assert not acl.user_has_permission('unknown', 'view things') assert acl.user_has_permission('viewer', 'view things') assert acl.user_has_permission('viewer', 'view things', '/tester_playground') assert not acl.user_has_permission('viewer', 'test things') assert acl.user_has_permission('tester', 'view things') assert not acl.user_has_permission('tester', 'test things') assert acl.user_has_permission('tester', 'view things', '/tester_playground') assert acl.user_has_permission('tester', 'test things', '/tester_playground') assert acl.user_has_permission('tester', 'manage things', '/tester_playground') == False assert acl.user_has_permission('tester', 'view things', '/tester_playground/admin') assert acl.user_has_permission('tester', 'test things', '/tester_playground/admin') assert acl.user_has_permission('tester', 'manage things', '/tester_playground/admin') assert acl.user_has_permission('manager', 'manage things') assert acl.user_has_permission('manager', 'view things') assert not acl.user_has_permission('manager', 'test things') assert acl.user_has_permission('manager', 'manage things') assert acl.user_has_permission('manager', 'view things', '/tester_playground') assert not acl.user_has_permission('manager', 'test things', '/tester_playground') assert acl.user_has_permission('manager', 'manage things', '/tester_playground')