Beispiel #1
0
class TestPermissionOperations(object):

    def setup(self):
        self.p1 = Permission(1, 2)
        self.p2 = Permission(2, 3) | Refusal(4)

    def test_union(self):
        assert self.p1.union(self.p2) == Permission(1, 2, 3) | Refusal(4)

    def test_union_operator(self):
        assert self.p1 | self.p2 == Permission(1, 2, 3) | Refusal(4)

    def test_intersection(self):
        assert self.p1.intersection(self.p2) == Permission(2)

    def test_intersection_operator(self):
        assert self.p1 & self.p2 == Permission(2)

    def test_difference(self):
        assert self.p1.difference(self.p2) == Permission(1)

    def test_difference_operator(self):
        assert self.p1 - self.p2 == Permission(1)

    def test_symmetric_difference(self):
        assert self.p1.symmetric_difference(self.p2) == \
            Permission(1, 3) | Refusal(4)

    def test_symmetric_difference_operator(self):
        assert self.p1 ^ self.p2 == Permission(1, 3) | Refusal(4)
Beispiel #2
0
class TestPermissionOperations(object):
    def setup(self):
        self.p1 = Permission(1, 2)
        self.p2 = Permission(2, 3) | Refusal(4)

    def test_union(self):
        assert self.p1.union(self.p2) == Permission(1, 2, 3) | Refusal(4)

    def test_union_operator(self):
        assert self.p1 | self.p2 == Permission(1, 2, 3) | Refusal(4)

    def test_intersection(self):
        assert self.p1.intersection(self.p2) == Permission(2)

    def test_intersection_operator(self):
        assert self.p1 & self.p2 == Permission(2)

    def test_difference(self):
        assert self.p1.difference(self.p2) == Permission(1)

    def test_difference_operator(self):
        assert self.p1 - self.p2 == Permission(1)

    def test_symmetric_difference(self):
        assert self.p1.symmetric_difference(self.p2) == \
            Permission(1, 3) | Refusal(4)

    def test_symmetric_difference_operator(self):
        assert self.p1 ^ self.p2 == Permission(1, 3) | Refusal(4)
Beispiel #3
0
 def test_authorize_or_403_required_missing(self):
     needs = Permission(1, 2, 3)
     provides = [1, 2]
     try:
         needs.authorize_or_403(provides)
     except Forbidden:
         assert True
     else:
         assert False
Beispiel #4
0
 def test_authorize_or_403_forbidden(self):
     needs = Permission(1, 2) | Refusal(3)
     provides = [1, 2, 3]
     try:
         needs.authorize_or_403(provides)
     except Forbidden:
         assert True
     else:
         assert False
Beispiel #5
0
 def test_authorize_or_403_forbidden(self):
     needs = Permission(1, 2) | Refusal(3)
     provides = [1, 2, 3]
     try:
         needs.authorize_or_403(provides)
     except Forbidden:
         assert True
     else:
         assert False
Beispiel #6
0
 def test_authorize_or_403_required_missing(self):
     needs = Permission(1, 2, 3)
     provides = [1, 2]
     try:
         needs.authorize_or_403(provides)
     except Forbidden:
         assert True
     else:
         assert False
Beispiel #7
0
class TestPermissionComparisons(object):

    def setup(self):
        self.p1 = Permission(1, 2) | Refusal(4)
        self.p2 = Permission(1, 2) | Refusal(4)
        self.p3 = Permission(1, 2, 3) | Refusal(4, 5)

    def test_equals(self):
        assert self.p1 == self.p2

    def test_not_equals(self):
        assert self.p1 != self.p3

    def test_isdisjoint(self):
        p = Permission(3, 4) | Refusal(5)
        assert self.p1.isdisjoint(p)

    def test_issubset(self):
        assert self.p1.issubset(self.p2)
        assert self.p1.issubset(self.p3)

    def test_issubset_operator(self):
        assert self.p1 <= self.p2
        assert self.p1 <= self.p3

    def test_issubset_strict_operator(self):
        assert not self.p1 < self.p2
        assert self.p1 < self.p3

    def test_issuperset(self):
        assert self.p1.issuperset(self.p2)
        assert self.p3.issuperset(self.p1)

    def test_issuperset_operator(self):
        assert self.p1 >= self.p2
        assert self.p3 >= self.p1

    def test_issuperset_strict_operator(self):
        assert not self.p1 > self.p2
        assert self.p3 > self.p1

    def test_nonzero_true(self):
        assert self.p1

    def test_nonzero_false(self):
        assert not Permission()
Beispiel #8
0
class TestPermissionComparisons(object):
    def setup(self):
        self.p1 = Permission(1, 2) | Refusal(4)
        self.p2 = Permission(1, 2) | Refusal(4)
        self.p3 = Permission(1, 2, 3) | Refusal(4, 5)

    def test_equals(self):
        assert self.p1 == self.p2

    def test_not_equals(self):
        assert self.p1 != self.p3

    def test_isdisjoint(self):
        p = Permission(3, 4) | Refusal(5)
        assert self.p1.isdisjoint(p)

    def test_issubset(self):
        assert self.p1.issubset(self.p2)
        assert self.p1.issubset(self.p3)

    def test_issubset_operator(self):
        assert self.p1 <= self.p2
        assert self.p1 <= self.p3

    def test_issubset_strict_operator(self):
        assert not self.p1 < self.p2
        assert self.p1 < self.p3

    def test_issuperset(self):
        assert self.p1.issuperset(self.p2)
        assert self.p3.issuperset(self.p1)

    def test_issuperset_operator(self):
        assert self.p1 >= self.p2
        assert self.p3 >= self.p1

    def test_issuperset_strict_operator(self):
        assert not self.p1 > self.p2
        assert self.p3 > self.p1

    def test_nonzero_true(self):
        assert self.p1

    def test_nonzero_false(self):
        assert not Permission()
Beispiel #9
0
 def test_symmetric_difference_operator(self):
     assert self.p1 ^ self.p2 == Permission(1, 3) | Refusal(4)
Beispiel #10
0
 def test_symmetric_difference(self):
     assert self.p1.symmetric_difference(self.p2) == \
         Permission(1, 3) | Refusal(4)
Beispiel #11
0
 def test_difference_operator(self):
     assert self.p1 - self.p2 == Permission(1)
Beispiel #12
0
 def test_difference(self):
     assert self.p1.difference(self.p2) == Permission(1)
Beispiel #13
0
 def test_intersection_operator(self):
     assert self.p1 & self.p2 == Permission(2)
Beispiel #14
0
 def test_intersection(self):
     assert self.p1.intersection(self.p2) == Permission(2)
Beispiel #15
0
 def setup(self):
     self.p1 = Permission(1, 2) | Refusal(4)
     self.p2 = Permission(1, 2) | Refusal(4)
     self.p3 = Permission(1, 2, 3) | Refusal(4, 5)
Beispiel #16
0
 def test_isdisjoint(self):
     p = Permission(3, 4) | Refusal(5)
     assert self.p1.isdisjoint(p)
Beispiel #17
0
 def test_repr(self):
     p = Permission(1)
     assert repr(p) == "<Permission required=set([1]), forbidden=set([])>"
Beispiel #18
0
 def test_init_args(self):
     p = Permission(1, 2, 3)
     assert p.required == set([1, 2, 3])
     assert p.forbidden == set()
Beispiel #19
0
 def test_init(self):
     p = Permission()
     assert p.required == set()
     assert p.forbidden == set()
Beispiel #20
0
 def setup(self):
     self.p1 = Permission(1, 2) | Refusal(4)
     self.p2 = Permission(1, 2) | Refusal(4)
     self.p3 = Permission(1, 2, 3) | Refusal(4, 5)
Beispiel #21
0
 def test_union_operator(self):
     assert self.p1 | self.p2 == Permission(1, 2, 3) | Refusal(4)
Beispiel #22
0
 def test_nonzero_false(self):
     assert not Permission()
Beispiel #23
0
 def test_union(self):
     assert self.p1.union(self.p2) == Permission(1, 2, 3) | Refusal(4)