[Product-Developers] pure python test

JeanMichel FRANCOIS jeanmichel.francois at makina-corpus.com
Tue Jul 1 07:04:11 UTC 2008


  following an old article from zopyx blog, i have
try to make something just to play a bit with zope. here is the code

#coding utf-8
import os
from AccessControl import getSecurityManager
from AccessControl.SecurityManagement import newSecurityManager
from AccessControl.SecurityManagement import setSecurityManager
import Zope2

def createDocumentContent(plone):
    plone.invokeFactory("Document", 'test-doc', "Test of document without request object")
    mydoc = getattr(self, 'test-doc')
    DESC = "my description"
    BODY = "akelfapfkaefp"

os.environ['ZOPE_CONFIG'] = '/home/jmfrancois/workspace/stagemcol/
app = Zope2.app()
plone = app.plone
user = plone.acl_users.getUser('administrator').__of__(plone.acl_users)
newSecurityManager(app, plone.acl_users.getUser('administrator'))

And here the traceback on a plone3.1 instance:
Traceback (most recent call last):
  File "/home/jmfrancois/workspace/stagemcol/plone3/bin/zopepy", line
64, in ?
  File "test.py", line 26, in ?
  File "test.py", line 9, in createDocumentContent
    plone.invokeFactory("Document", 'test-doc', "Test of document
without request object")
  File "/home/jmfrancois/workspace/stagemcol/plone3/parts/plone/
CMFCore/PortalFolder.py", line 315, in invokeFactory
    return pt.constructContent(type_name, self, id, RESPONSE, *args,
  File "/home/jmfrancois/workspace/stagemcol/plone3/parts/plone/
CMFCore/TypesTool.py", line 721, in constructContent
    RESPONSE.redirect( immediate_url )
AttributeError: 'str' object has no attribute 'redirect'

I m posting this because i have testing the same code on Plone 2.5,
and i have got an Attribute error not on RESPONSE but REQUEST. For
sure i m not throw the web with a request. When i m doing unit tests i
m not creating fake request for those kind of tests (create content
type instance).

- Am i doing wrong with this code ?
- Is plone can be used without request object (i m sure it is) ?

The goal of this test for me is to replace classique migration done
throw portal_migration; I m working on a big plone web site atm (more
than 100 000 entries inside the portal_catalog and more than 6000
people registred) When i m trying to do partial reindex on the
portal_catalog to add a metadata or sth like that i m getting timeout
from the server. So i m trying this way to do without web browser.

Thx for the help.

More information about the Product-Developers mailing list