def test_checkPermission_report_hit(self): from zope.interface import directlyProvides from karl.models.interfaces import IPeopleDirectory from karl.testing import DummyUsers from karl.testing import registerDummySecurityPolicy registerDummySecurityPolicy('phred', permissive=True) context = self._makeRoot() pd = context['people'] = self._makeContext() directlyProvides(pd, IPeopleDirectory) section = pd['section'] = self._makeContext() report = section['report'] = self._makeContext() users = context.users = DummyUsers() userinfo = users._by_id['phred'] = {} mailin = self._makeOne(context) info = { 'author': 'phred', 'targets': [{ 'community': None, 'tool': None, 'report': 'section+report', }] } mailin.checkPermission(info) self.failIf('error' in info['targets'][0])
def test_checkPermission_community_miss(self): from karl.testing import DummyUsers from karl.testing import registerDummySecurityPolicy registerDummySecurityPolicy('phred', permissive=False) context = self._makeRoot() communities = context['communities'] = self._makeContext() community = communities['testcommunity'] = self._makeContext() community['testtool'] = self._makeContext() users = context.users = DummyUsers() userinfo = users._by_id['phred'] = {} mailin = self._makeOne(context) info = { 'author': 'phred', 'targets': [{ 'community': 'testcommunity', 'tool': 'testtool', 'report': None, }, { 'error': 'Some other previous error', }], } mailin.checkPermission(info) self.assertEqual(info['targets'][0]['error'], 'Permission Denied') self.assertEqual(info['targets'][1]['error'], 'Some other previous error')
def test_checkPermission_community_hit(self): from karl.testing import DummyUsers from karl.testing import registerDummySecurityPolicy registerDummySecurityPolicy('phred', permissive=True) context = self._makeRoot() communities = context['communities'] = self._makeContext() community = communities['testcommunity'] = self._makeContext() community['testtool'] = self._makeContext() users = context.users = DummyUsers() users._by_id['phred'] = {} mailin = self._makeOne(context) info = {'author': 'phred', 'targets': [{ 'community': 'testcommunity', 'tool': 'testtool', 'report': None, }] } mailin.checkPermission(info) self.failIf('error' in info['targets'][0])
def test_checkPermission_community_hit(self): from karl.testing import DummyUsers from karl.testing import registerDummySecurityPolicy registerDummySecurityPolicy('phred', permissive=True) context = self._makeRoot() communities = context['communities'] = self._makeContext() community = communities['testcommunity'] = self._makeContext() community['testtool'] = self._makeContext() users = context.users = DummyUsers() userinfo = users._by_id['phred'] = {} mailin = self._makeOne(context) info = { 'author': 'phred', 'targets': [{ 'community': 'testcommunity', 'tool': 'testtool', 'report': None, }] } mailin.checkPermission(info) self.failIf('error' in info['targets'][0])
def test_checkPermission_report_hit(self): from zope.interface import directlyProvides from karl.models.interfaces import IPeopleDirectory from karl.testing import DummyUsers from karl.testing import registerDummySecurityPolicy registerDummySecurityPolicy('phred', permissive=True) context = self._makeRoot() pd = context['people'] = self._makeContext() directlyProvides(pd, IPeopleDirectory) section = pd['section'] = self._makeContext() section['report'] = self._makeContext() users = context.users = DummyUsers() users._by_id['phred'] = {} mailin = self._makeOne(context) info = {'author': 'phred', 'targets': [{ 'community': None, 'tool': None, 'report': 'section+report', }] } mailin.checkPermission(info) self.failIf('error' in info['targets'][0])
def test_checkPermission_community_miss(self): from karl.testing import DummyUsers from karl.testing import registerDummySecurityPolicy registerDummySecurityPolicy('phred', permissive=False) context = self._makeRoot() communities = context['communities'] = self._makeContext() community = communities['testcommunity'] = self._makeContext() community['testtool'] = self._makeContext() users = context.users = DummyUsers() users._by_id['phred'] = {} mailin = self._makeOne(context) info = {'author': 'phred', 'targets': [{ 'community': 'testcommunity', 'tool': 'testtool', 'report': None, }, { 'error': 'Some other previous error', }], } mailin.checkPermission(info) self.assertEqual(info['targets'][0]['error'], 'Permission Denied') self.assertEqual(info['targets'][1]['error'], 'Some other previous error')