Beispiel #1
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()
     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])
Beispiel #2
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')
Beispiel #3
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()
     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])
Beispiel #4
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])
Beispiel #5
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])
Beispiel #6
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')