def test_permission_and(): p1 = Permission(RoleNeed('boss')) p2 = Permission(RoleNeed('lackey')) p3 = p1 & p2 p4 = p1.union(p2) assert p3.needs == p4.needs
def test_permission_union_denial(): p1 = Permission(('a', 'b')) p2 = Denial(('a', 'c')) p3 = p1.union(p2) assert p1.issubset(p3) assert p2.issubset(p3)
def permission(*roles): perm = Permission(RoleNeed('none')) for x in roles: perm = perm.union(x) return perm