Can't create an ATTopic using invokeFactory in ftest

Derek Richardson derek.richardson at gatech.edu
Sun Jul 29 00:36:06 UTC 2007


The following ftest fails in 3.0 rc1:


# Start test case

from Products.PloneTestCase.PloneTestCase import FunctionalTestCase
from Products.PloneTestCase.PloneTestCase import setupPloneSite
setupPloneSite()

class TestTopic(FunctionalTestCase):
     def testCreate(self):
         self.portal.error_log._ignored_exceptions = ()
         self.folder.invokeFactory('Topic', 'fooTopic', name='fooTopic')

def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()
     suite.addTest(makeSuite(TestTopic

# end test case

I'm doing this like I've seen it done in other packages. I get the following 
traceback:


Error in test testCreate (plone.app.syndication.outbound.tests.testTopic.TestTopic)
Traceback (most recent call last):
   File 
"/Users/dkr/zope-insts/vice/parts/zope2/lib/python/Testing/ZopeTestCase/profiler.py", 
line 98, in __call__
     testMethod()
   File 
"/Users/dkr/zope-insts/vice/src/plone.app.syndication.outbound/plone/app/syndication/outbound/tests/testTopic.py", 
line 7, in testCreate
     self.folder.invokeFactory('Topic', 'fooTopic', name='fooTopic')
   File 
"/Users/dkr/zope-insts/vice/parts/plone/ATContentTypes/lib/constraintypes.py", 
line 281, in invokeFactory
     RESPONSE=None, *args, **kw)
   File "/Users/dkr/zope-insts/vice/parts/plone/CMFCore/PortalFolder.py", line 
311, in invokeFactory
     return pt.constructContent(type_name, self, id, RESPONSE, *args, **kw)
   File "/Users/dkr/zope-insts/vice/parts/plone/CMFCore/TypesTool.py", line 716, 
in constructContent
     ob = info.constructInstance(container, id, *args, **kw)
   File "/Users/dkr/zope-insts/vice/parts/plone/CMFCore/TypesTool.py", line 274, 
in constructInstance
     raise AccessControl_Unauthorized('Cannot create %s' % self.getId())
Unauthorized: Cannot create Topic

I am surprised to get an Unauthorized error when directly manipulating the zodb 
in a functional test. I have verbose security on. But I get no additional info.

Any hints appreciated!

Derek





More information about the Product-Developers mailing list