blob: 587c26524019bba43b728c569ebc3c74367a4225 [file] [log] [blame]
"""license: Apache License 2.0, see LICENSE for more details."""
import unittest
from nose.tools import eq_
from kazoo.security import Permissions
class TestACL(unittest.TestCase):
def _makeOne(self, *args, **kwargs):
from kazoo.security import make_acl
return make_acl(*args, **kwargs)
def test_read_acl(self):
acl = self._makeOne("digest", ":", read=True)
eq_(acl.perms & Permissions.READ, Permissions.READ)
def test_all_perms(self):
acl = self._makeOne("digest", ":", read=True, write=True,
create=True, delete=True, admin=True)
for perm in [Permissions.READ, Permissions.CREATE, Permissions.WRITE,
Permissions.DELETE, Permissions.ADMIN]:
eq_(acl.perms & perm, perm)
def test_perm_listing(self):
from kazoo.security import ACL
f = ACL(15, 'fred')
self.assert_('READ' in f.acl_list)
self.assert_('WRITE' in f.acl_list)
self.assert_('CREATE' in f.acl_list)
self.assert_('DELETE' in f.acl_list)
f = ACL(16, 'fred')
self.assert_('ADMIN' in f.acl_list)
f = ACL(31, 'george')
self.assert_('ALL' in f.acl_list)
def test_perm_repr(self):
from kazoo.security import ACL
f = ACL(16, 'fred')
self.assert_("ACL(perms=16, acl_list=['ADMIN']" in repr(f))