summaryrefslogtreecommitdiff
path: root/tests/acl_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/acl_test.py')
-rwxr-xr-xtests/acl_test.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/acl_test.py b/tests/acl_test.py
new file mode 100755
index 0000000..810aedf
--- /dev/null
+++ b/tests/acl_test.py
@@ -0,0 +1,49 @@
+#!/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()