Rename simple_acl -> acl
[python_utils.git] / tests / acl_test.py
1 #!/usr/bin/env python3
2
3 import re
4 import unittest
5
6 import acl
7 import bootstrap
8
9
10 class TestSimpleACL(unittest.TestCase):
11
12     def test_set_based_acl(self):
13         even = acl.SetBasedACL(
14             allow_set = set([2, 4, 6, 8, 10]),
15             deny_set = set([1, 3, 5, 7, 9]),
16             order_to_check_allow_deny = acl.ACL_ORDER_ALLOW_DENY,
17             default_answer = False
18         )
19         self.assertTrue(even(2))
20         self.assertFalse(even(3))
21         self.assertFalse(even(-4))
22
23     def test_wildcard_based_acl(self):
24         a_or_b = acl.StringWildcardBasedACL(
25             allowed_patterns = ['a*', 'b*'],
26             order_to_check_allow_deny = acl.ACL_ORDER_ALLOW_DENY,
27             default_answer = False
28         )
29         self.assertTrue(a_or_b('aardvark'))
30         self.assertTrue(a_or_b('bubblegum'))
31         self.assertFalse(a_or_b('charlie'))
32
33     def test_re_based_acl(self):
34         weird = acl.StringREBasedACL(
35             denied_regexs = [
36                 re.compile('^a.*a$'),
37                 re.compile('^b.*b$')
38             ],
39             order_to_check_allow_deny = acl.ACL_ORDER_ALLOW_DENY,
40             default_answer = True
41         )
42         self.assertTrue(weird('aardvark'))
43         self.assertFalse(weird('anaconda'))
44         self.assertFalse(weird('beelzebub'))
45
46
47 if __name__ == '__main__':
48     unittest.main = bootstrap.initialize(unittest.main)
49     unittest.main()