def test_permission_sorting(do_sort, result): sections = permissions.PermissionSectionRegistry() perms = permissions.PermissionRegistry() @sections.register class Sec1(permissions.PermissionSection): @property def name(self): return "sec1" @property def title(self): return "SEC1" @property def do_sort(self): return do_sort section_name = "sec1" for permission_name in ["Z", "z", "A", "b", "a", "1", "g"]: cls = type( "TestPermission%s%s" % (section_name.title(), permission_name.title()), (permissions.Permission, ), { "section": Sec1, "permission_name": permission_name, "title": permission_name.title(), "description": "bla", "defaults": ["admin"], }) perms.register(cls) sorted_perms = [p.name for p in perms.get_sorted_permissions(Sec1())] assert sorted_perms == result
def test_permission_sorting(do_sort, result): sections = permissions.PermissionSectionRegistry() perms = permissions.PermissionRegistry() @sections.register class Sec1(permissions.PermissionSection): @property def name(self): return "sec1" @property def title(self): return "SEC1" @property def do_sort(self): return do_sort for permission_name in ["Z", "z", "A", "b", "a", "1", "g"]: perms.register( Permission( section=Sec1, name=permission_name, title=permission_name.title(), description="bla", defaults=["admin"], )) sorted_perms = [p.name for p in perms.get_sorted_permissions(Sec1())] assert sorted_perms == result
def test_declare_permission_section(monkeypatch): monkeypatch.setattr(permissions, "permission_section_registry", permissions.PermissionSectionRegistry()) assert "bla" not in permissions.permission_section_registry config.declare_permission_section("bla", u"bla perm", do_sort=False) assert "bla" in permissions.permission_section_registry section = permissions.permission_section_registry["bla"]() assert section.title == u"bla perm" assert section.sort_index == 50 assert section.do_sort is False
def test_declare_permission(monkeypatch): monkeypatch.setattr(permissions, "permission_section_registry", permissions.PermissionSectionRegistry()) assert "bla" not in permissions.permission_section_registry config.declare_permission_section("bla", u"bla perm", do_sort=False) assert "bla" in permissions.permission_section_registry monkeypatch.setattr(permissions, "permission_registry", permissions.PermissionRegistry()) assert "bla.blub" not in permissions.permission_registry config.declare_permission("bla.blub", u"bla perm", u"descrrrrr", ["admin"]) assert "bla.blub" in permissions.permission_registry permission = permissions.permission_registry["bla.blub"]() assert permission.section == permissions.permission_section_registry["bla"] assert permission.name == "bla.blub" assert permission.title == u"bla perm" assert permission.description == "descrrrrr" assert permission.defaults == ["admin"]