def test_blacklisting_intermediate_wildcards_does_not_affect_parents(self):
        config = IConfig(self.portal)
        config.setPathBlacklist(PersistentList())
        config.appendPathToBlacklist('/demo/one*two')
        blacklist = IPathBlacklist(self.portal)

        self.assertFalse(blacklist.is_blacklisted('/demo/one'))
        self.assertFalse(blacklist.is_blacklisted('/demo/oneXtwo'))
        self.assertFalse(blacklist.is_blacklisted('/demo/one/two'))
    def test_blacklist_does_not_affect_parents(self):
        config = IConfig(self.portal)
        config.setPathBlacklist(PersistentList())
        config.appendPathToBlacklist('/foo/bar/one/two/three')
        blacklist = IPathBlacklist(self.portal)

        self.assertFalse(blacklist.is_blacklisted('/foo/bar'))
        self.assertFalse(blacklist.is_blacklisted('/foo/bar/one/two'))
        self.assertTrue(blacklist.is_blacklisted('/foo/bar/one/two/three'))
    def test_blacklisting_intermediate_wildcards_does_not_affect_parents(self):
        config = IConfig(self.portal)
        config.setPathBlacklist(PersistentList())
        config.appendPathToBlacklist('/demo/one*two')
        blacklist = IPathBlacklist(self.portal)

        self.assertFalse(blacklist.is_blacklisted('/demo/one'))
        self.assertFalse(blacklist.is_blacklisted('/demo/oneXtwo'))
        self.assertFalse(blacklist.is_blacklisted('/demo/one/two'))
    def test_blacklist_does_not_affect_parents(self):
        config = IConfig(self.portal)
        config.setPathBlacklist(PersistentList())
        config.appendPathToBlacklist('/foo/bar/one/two/three')
        blacklist = IPathBlacklist(self.portal)

        self.assertFalse(blacklist.is_blacklisted('/foo/bar'))
        self.assertFalse(blacklist.is_blacklisted('/foo/bar/one/two'))
        self.assertTrue(blacklist.is_blacklisted('/foo/bar/one/two/three'))
    def test_portal_can_be_blacklisted(self):
        config = IConfig(self.portal)
        config.setPathBlacklist(PersistentList())
        blacklist = IPathBlacklist(self.portal)

        # The portal is not blacklisted by default.
        self.assertFalse(blacklist.is_blacklisted(self.portal))

        # Blacklist the portal.
        config.appendPathToBlacklist('/'.join(self.portal.getPhysicalPath()))
        self.assertTrue(blacklist.is_blacklisted(self.portal))
    def test_item_can_be_added_to_blacklist(self):
        config = IConfig(self.portal)
        config.setPathBlacklist(PersistentList())

        # The blacklist is empty by default.
        self.assertEqual(0, len(config.getPathBlacklist()))

        # Items can be added to the blacklist.
        config.appendPathToBlacklist('hans')
        self.assertIn('hans', config.getPathBlacklist())
        self.assertEqual(1, len(config.getPathBlacklist()))
    def test_portal_can_be_blacklisted(self):
        config = IConfig(self.portal)
        config.setPathBlacklist(PersistentList())
        blacklist = IPathBlacklist(self.portal)

        # The portal is not blacklisted by default.
        self.assertFalse(blacklist.is_blacklisted(self.portal))

        # Blacklist the portal.
        config.appendPathToBlacklist('/'.join(self.portal.getPhysicalPath()))
        self.assertTrue(blacklist.is_blacklisted(self.portal))
示例#8
0
 def handleAdd(self, action):
     portal = self.context.portal_url.getPortalObject()
     config = IConfig(portal)
     data, errors = self.extractData()
     if not len(errors):
         path = data.get('path').strip()
         if not path.startswith('/'):
             raise Exception('Path does not start with /')
         config.appendPathToBlacklist(path)
         message = _(u'info_path_added', default=u'Path added')
         IStatusMessage(self.request).addStatusMessage(message, type='info')
         return self.request.RESPONSE.redirect(
             './@@publisher-config-blacklist')
    def test_item_can_be_added_to_blacklist(self):
        config = IConfig(self.portal)
        config.setPathBlacklist(PersistentList())

        # The blacklist is empty by default.
        self.assertEqual(0, len(config.getPathBlacklist()))

        # Items can be added to the blacklist.
        config.appendPathToBlacklist('hans')
        self.assertIn(
            'hans',
            config.getPathBlacklist()
        )
        self.assertEqual(1, len(config.getPathBlacklist()))
示例#10
0
 def handleAdd(self, action):
     portal = self.context.portal_url.getPortalObject()
     config = IConfig(portal)
     data, errors = self.extractData()
     if not len(errors):
         path = data.get('path').strip()
         if not path.startswith('/'):
             raise Exception('Path does not start with /')
         config.appendPathToBlacklist(path)
         message = _(u'info_path_added',
                     default=u'Path added')
         IStatusMessage(self.request).addStatusMessage(
             message, type='info')
         return self.request.RESPONSE.redirect('./@@publisher-config-blacklist')