Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
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"]