def test_inherit_acl(self): from happy.acl import may from happy.acl import Allow from happy.acl import ALL_PERMISSIONS from happy.acl import Deny root = DummyModel() context = root['foo'] = DummyModel() root.__acl__ = [ (Allow, 'Everyone', 'view'), (Allow, 'group.Admin', 'view,edit'), (Deny, 'Everyone', ALL_PERMISSIONS), ] self.failUnless(may(['chris', 'Everyone'], 'view', context)) self.failUnless(may(['chris', 'group.Admin'], 'edit', context)) self.failIf(may(['chris', 'Everyone'], 'edit', context))
def test_local_acl_allow(self): from happy.acl import may from happy.acl import Allow context = DummyModel() context.__acl__ = [ (Allow, 'chris', ['view']), ] self.failUnless(may(['chris', 'group.Admin'], 'view', context))
def test_local_acl_deny(self): from happy.acl import may from happy.acl import Allow from happy.acl import Deny context = DummyModel() context.__acl__ = [ (Deny, 'chris', ['havefun']), (Allow, 'group.Admin', ['havefun']), ] self.failIf(may(['chris', 'group.Admin'], 'havefun', context))
def test_no_acl(self): from happy.acl import may context = DummyModel() self.failIf(may(['chris', 'group.Admin'], 'view', context))