#!/usr/bin/env python3 import re import unittest import acl import bootstrap class TestSimpleACL(unittest.TestCase): def test_set_based_acl(self): 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, default_answer = False ) self.assertTrue(even(2)) self.assertFalse(even(3)) self.assertFalse(even(-4)) 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, default_answer = False ) self.assertTrue(a_or_b('aardvark')) self.assertTrue(a_or_b('bubblegum')) self.assertFalse(a_or_b('charlie')) def test_re_based_acl(self): weird = acl.StringREBasedACL( denied_regexs = [ re.compile('^a.*a$'), re.compile('^b.*b$') ], order_to_check_allow_deny = acl.ACL_ORDER_ALLOW_DENY, default_answer = True ) self.assertTrue(weird('aardvark')) self.assertFalse(weird('anaconda')) self.assertFalse(weird('beelzebub')) if __name__ == '__main__': unittest.main = bootstrap.initialize(unittest.main) unittest.main()