Rob Miller wrote:
that being said, your original problem may not be related to the
security settings on the script at all. it may be that even if you get
the security all dialed in, there's some explicit security check in the
code that is causing the problem. if you end up performing your
operation from trusted code but still have the problem, then you'll need
to dig more deeply to find out exactly why the action is being
disallowed. see http://plone.org/documentation/how-to/debug-unauthorized.
I tested this with few luck; fortunately Carlos de la Guardia came into
rescue and recommended me to use import transaction and
transaction.savepoint(optimistic=True).
in case someone needs to do something like this, this is the way it worked:
import transaction
class TestWorkflow(JuliusLiteTestCase):
""" ensure workflow script works """
def afterSetUp(self):
self.catalog = getattr(self.folder, 'portal_catalog')
self.workflow = getattr(self.folder, 'portal_workflow')
self.folder.invokeFactory('News Item', 'object')
self.object = getattr(self.folder, 'object')
self.object.setTitle('test')
def testArchiveItem(self):
""" test the script inside the workflow """
#need to commit transaction to be able to copy and paste
transaction.savepoint(optimistic=True)
self.folder.archiveItem(self)
self.failUnless(getattr(self.folder, 'object', None) is None)
results = self.catalog.searchResults(Title='test')
self.failUnlessEqual(len(results), 1)
_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers