X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=tests%2Facl_test.py;h=4c1cf21457d783f9baeaf886cdc68c7c8647917b;hb=7d7a3ce0abb26766e82c6dfed8a196baa63b736a;hp=810aedf48bd7bd925132a1c5b940cf62c09f1462;hpb=e516059c716537259c601c022cc3bad44025385e;p=python_utils.git diff --git a/tests/acl_test.py b/tests/acl_test.py index 810aedf..4c1cf21 100755 --- a/tests/acl_test.py +++ b/tests/acl_test.py @@ -13,7 +13,7 @@ class TestSimpleACL(unittest.TestCase): even = acl.SetBasedACL( allow_set = set([2, 4, 6, 8, 10]), deny_set = set([1, 3, 5, 7, 9]), - order_to_check_allow_deny = acl.ACL_ORDER_ALLOW_DENY, + order_to_check_allow_deny = acl.Order.ALLOW_DENY, default_answer = False ) self.assertTrue(even(2)) @@ -23,12 +23,12 @@ class TestSimpleACL(unittest.TestCase): def test_wildcard_based_acl(self): a_or_b = acl.StringWildcardBasedACL( allowed_patterns = ['a*', 'b*'], - order_to_check_allow_deny = acl.ACL_ORDER_ALLOW_DENY, + order_to_check_allow_deny = acl.Order.ALLOW_DENY, default_answer = False ) self.assertTrue(a_or_b('aardvark')) - self.assertTrue(a_or_b('bubblegum')) - self.assertFalse(a_or_b('charlie')) + self.assertTrue(a_or_b('baboon')) + self.assertFalse(a_or_b('cheetah')) def test_re_based_acl(self): weird = acl.StringREBasedACL( @@ -36,12 +36,56 @@ class TestSimpleACL(unittest.TestCase): re.compile('^a.*a$'), re.compile('^b.*b$') ], - order_to_check_allow_deny = acl.ACL_ORDER_ALLOW_DENY, + order_to_check_allow_deny = acl.Order.DENY_ALLOW, default_answer = True ) self.assertTrue(weird('aardvark')) self.assertFalse(weird('anaconda')) - self.assertFalse(weird('beelzebub')) + self.assertFalse(weird('blackneb')) + self.assertTrue(weird('crow')) + + def test_compound_acls_disjunction(self): + a_b_c = acl.StringWildcardBasedACL( + allowed_patterns = ['a*', 'b*', 'c*'], + order_to_check_allow_deny = acl.Order.ALLOW_DENY, + default_answer = False + ) + c_d_e = acl.StringWildcardBasedACL( + allowed_patterns = ['c*', 'd*', 'e*'], + order_to_check_allow_deny = acl.Order.ALLOW_DENY, + default_answer = False + ) + disjunction = acl.AnyCompoundACL( + subacls = [a_b_c, c_d_e], + order_to_check_allow_deny = acl.Order.ALLOW_DENY, + default_answer = False, + ) + self.assertTrue(disjunction('aardvark')) + self.assertTrue(disjunction('caribou')) + self.assertTrue(disjunction('eagle')) + self.assertFalse(disjunction('newt')) + + def test_compound_acls_conjunction(self): + a_b_c = acl.StringWildcardBasedACL( + allowed_patterns = ['a*', 'b*', 'c*'], + order_to_check_allow_deny = acl.Order.ALLOW_DENY, + default_answer = False + ) + c_d_e = acl.StringWildcardBasedACL( + allowed_patterns = ['c*', 'd*', 'e*'], + order_to_check_allow_deny = acl.Order.ALLOW_DENY, + default_answer = False + ) + conjunction = acl.AllCompoundACL( + subacls = [a_b_c, c_d_e], + order_to_check_allow_deny = acl.Order.ALLOW_DENY, + default_answer = False, + ) + self.assertFalse(conjunction('aardvark')) + self.assertTrue(conjunction('caribou')) + self.assertTrue(conjunction('condor')) + self.assertFalse(conjunction('eagle')) + self.assertFalse(conjunction('newt')) if __name__ == '__main__':