Exemplo n.º 1
0
 def testAddRedirectToPathAndGetRedirect(self):
     self.setRoles(['Manager'])
     testid = 'testobj'
     testfolderid = 'testfolder'
     testurl = '/testredirect'
     testfolderurl = '/testfolderredirect'
     testfolder = utils.makeContent(self.portal, 'Folder', testfolderid)
     testobj = utils.makeContent(testfolder, 'Document', testid)
     self.failUnless(
         self.rt.addRedirect(
             testurl,
             self.portal.portal_url.getRelativeContentURL(testobj)))
     self.failUnless(self.rt.getRedirect(testurl))
     self.failUnlessEqual(self.rt.getRedirectObject(testurl), testobj)
     self.failUnless(self.rt.getRedirect(testurl + '/'))
     self.failUnlessEqual(self.rt.getRedirectObject(testurl + '/'), testobj)
     self.failUnless(
         self.rt.addRedirect(
             testfolderurl,
             self.portal.portal_url.getRelativeContentURL(testfolder)))
     self.failUnless(self.rt.getRedirect(testfolderurl))
     self.failUnlessEqual(self.rt.getRedirectObject(testfolderurl),
                          testfolder)
     self.failUnless(self.rt.getRedirect('%s/%s' % (testfolderurl, testid)))
     self.failUnlessEqual(
         self.rt.getRedirectObject('%s/%s' % (testfolderurl, testid)),
         testobj)
     self.setRoles(['Member'])
Exemplo n.º 2
0
 def testBasicAddRedirectToUIDAndGetRedirect(self):
     self.setRoles(['Manager'])
     testurl = '/testredirect'
     testobj = utils.makeContent(self.portal, 'Document', 'testobj')
     self.failUnless(self.rt.addRedirect(testurl, testobj.UID()))
     self.failUnless(self.rt.getRedirect(testurl))
     self.failUnlessEqual(self.rt.getRedirectObject(testurl), testobj)
     self.setRoles(['Member'])
Exemplo n.º 3
0
 def testBasicAddRedirectToPathAndGetRedirect(self):
     self.setRoles(['Manager'])
     testurl = '/testredirect'
     testobj = utils.makeContent(self.portal, 'Document', 'testobj')
     testpath = self.portal.portal_url.getRelativeContentURL(testobj)
     self.failUnless(self.rt.addRedirect(testurl, testpath))
     self.failUnless(self.rt.getRedirect(testurl))
     self.failUnlessEqual(self.rt.getRedirectObject(testurl), testobj)
     self.setRoles(['Member'])
Exemplo n.º 4
0
 def testRemoveRedirect(self):
     self.setRoles(['Manager'])
     testurl = '/testredirect'
     testobj = utils.makeContent(self.portal, 'Document', 'testobj')
     self.rt.addRedirect(testurl, testobj)
     self.failUnless(self.rt.getRedirect(testurl))
     self.failUnless(self.rt.removeRedirect(testurl))
     self.failIf(self.rt.getRedirect(testurl))
     self.setRoles(['Member'])
Exemplo n.º 5
0
    def testMigrationOfUIDs(self):
        logger = logging.getLogger("RedirectionTool")
        storage = getUtility(IRedirectionStorage)
        self.setRoles(['Manager'])
        testurl = '/testredirect'
        testobj = utils.makeContent(self.portal, 'Document', 'testobj')
        self.rt._redirectionmap[testurl] = testobj.UID()

        self.assertEquals(self.rt.getRedirect(testurl), None)
        self.assertEquals(storage.get('/plone%s' % testurl), None)

        self.rt.migrateStorage(logger)

        self.assertEquals(self.rt.getRedirectObject(testurl), testobj)
        self.assertEquals(storage.get('/plone%s' % testurl),
                          "/".join(testobj.getPhysicalPath()))
Exemplo n.º 6
0
 def testExtractReferenceFromATObject(self):
     self.setRoles(['Manager'])
     testobj = utils.makeContent(self.portal, 'Document', 'testobj')
     reference = self.rt.extractReference(testobj)
     self.failUnless(reference)
     self.failUnlessEqual(reference, "/".join(testobj.getPhysicalPath()))
     self.failUnlessEqual(reference,
                          self.rt.extractReference(testobj.UID()))
     self.failUnlessEqual(
         reference,
         self.rt.extractReference(
             '/%s' % self.portal.portal_url.getRelativeContentURL(testobj)))
     self.failUnlessEqual(
         reference,
         self.rt.extractReference(
             self.portal.portal_url.getRelativeContentURL(testobj)))
     self.setRoles(['Member'])
    def testCheckPermission(self):
        portal_path = self.portal.getPhysicalPath()
        self.login('user1')
        folder = self.membership.getHomeFolder('user1')
        testobj = utils.makeContent(folder, 'Document', 'testobj')
        folder_path = folder.getPhysicalPath()[len(portal_path):]
        testurl = '/%s/foo' % '/'.join(folder_path)
        # user should be able to add redirects to his own objects
        self.failUnless(self.rt.addRedirect(testurl, testobj))
        self.failUnlessEqual(self.rt.getRedirectObject(testurl), testobj)

        folder = self.membership.getHomeFolder('user2')
        folder_path = folder.getPhysicalPath()[len(portal_path):]
        testurl = '/%s/foo' % '/'.join(folder_path)
        # but only if the alias is in a place which belongs to him
        self.failIf(self.rt.addRedirect(testurl, testobj))
        self.failUnlessEqual(self.rt.getRedirectObject(testurl), None)
        testurl = '/bar'
        self.failIf(self.rt.addRedirect(testurl, testobj))
        self.failUnlessEqual(self.rt.getRedirectObject(testurl), None)
    def testCheckPermission(self):
        portal_path = self.portal.getPhysicalPath()
        self.login('user1')
        folder = self.membership.getHomeFolder('user1')
        testobj = utils.makeContent(folder, 'Document', 'testobj')
        folder_path = folder.getPhysicalPath()[len(portal_path):]
        testurl = '/%s/foo' % '/'.join(folder_path)
        # user should be able to add redirects to his own objects
        self.failUnless(self.rt.addRedirect(testurl, testobj))
        self.failUnlessEqual(self.rt.getRedirectObject(testurl), testobj)

        folder = self.membership.getHomeFolder('user2')
        folder_path = folder.getPhysicalPath()[len(portal_path):]
        testurl = '/%s/foo' % '/'.join(folder_path)
        # but only if the alias is in a place which belongs to him
        self.failIf(self.rt.addRedirect(testurl, testobj))
        self.failUnlessEqual(self.rt.getRedirectObject(testurl), None)
        testurl = '/bar'
        self.failIf(self.rt.addRedirect(testurl, testobj))
        self.failUnlessEqual(self.rt.getRedirectObject(testurl), None)