Commit 4f787f3c authored by 's avatar

- converted three more tools

parent b584fbbe
...@@ -4,6 +4,8 @@ Products.DCWorkflow Changelog ...@@ -4,6 +4,8 @@ Products.DCWorkflow Changelog
2.3.0-alpha (unreleased) 2.3.0-alpha (unreleased)
------------------------ ------------------------
- Made sure converted tools are used as utilities.
- Don't crash worklist's ``manage_main`` if variables are Expression objects. - Don't crash worklist's ``manage_main`` if variables are Expression objects.
(https://bugs.launchpad.net/zope-cmf/+bug/731394) (https://bugs.launchpad.net/zope-cmf/+bug/731394)
......
...@@ -11,8 +11,6 @@ ...@@ -11,8 +11,6 @@
# #
############################################################################## ##############################################################################
""" Worklists in a web-configurable workflow. """ Worklists in a web-configurable workflow.
$Id$
""" """
import re import re
...@@ -24,8 +22,9 @@ from App.class_init import InitializeClass ...@@ -24,8 +22,9 @@ from App.class_init import InitializeClass
from App.special_dtml import DTMLFile from App.special_dtml import DTMLFile
from OFS.SimpleItem import SimpleItem from OFS.SimpleItem import SimpleItem
from Persistence import PersistentMapping from Persistence import PersistentMapping
from zope.component import getUtility
from Products.CMFCore.utils import getToolByName from Products.CMFCore.interfaces import ICatalogTool
from Products.DCWorkflow.ContainerTab import ContainerTab from Products.DCWorkflow.ContainerTab import ContainerTab
from Products.DCWorkflow.Expression import createExprContext from Products.DCWorkflow.Expression import createExprContext
from Products.DCWorkflow.Expression import Expression from Products.DCWorkflow.Expression import Expression
...@@ -169,7 +168,6 @@ class WorklistDefinition(SimpleItem): ...@@ -169,7 +168,6 @@ class WorklistDefinition(SimpleItem):
if info is None: if info is None:
info = {} info = {}
catalog = getToolByName(self, 'portal_catalog')
criteria = {} criteria = {}
for key, values in self.var_matches.items(): for key, values in self.var_matches.items():
...@@ -183,7 +181,8 @@ class WorklistDefinition(SimpleItem): ...@@ -183,7 +181,8 @@ class WorklistDefinition(SimpleItem):
criteria.update(kw) criteria.update(kw)
return catalog.searchResults(**criteria) ctool = getUtility(ICatalogTool)
return ctool.searchResults(**criteria)
InitializeClass(WorklistDefinition) InitializeClass(WorklistDefinition)
......
...@@ -17,11 +17,13 @@ import unittest ...@@ -17,11 +17,13 @@ import unittest
import Testing import Testing
import transaction import transaction
from AccessControl.SecurityManagement import newSecurityManager
from zope.component import adapter from zope.component import adapter
from zope.component import getSiteManager
from zope.component import provideHandler from zope.component import provideHandler
from zope.interface.verify import verifyClass from zope.interface.verify import verifyClass
from AccessControl.SecurityManagement import newSecurityManager
from Products.CMFCore.interfaces import IWorkflowTool
from Products.CMFCore.testing import TraversingEventZCMLLayer from Products.CMFCore.testing import TraversingEventZCMLLayer
from Products.CMFCore.tests.base.dummy import DummyContent from Products.CMFCore.tests.base.dummy import DummyContent
from Products.CMFCore.tests.base.dummy import DummySite from Products.CMFCore.tests.base.dummy import DummySite
...@@ -32,16 +34,18 @@ from Products.CMFCore.WorkflowTool import WorkflowTool ...@@ -32,16 +34,18 @@ from Products.CMFCore.WorkflowTool import WorkflowTool
from Products.DCWorkflow.interfaces import IAfterTransitionEvent from Products.DCWorkflow.interfaces import IAfterTransitionEvent
from Products.DCWorkflow.interfaces import IBeforeTransitionEvent from Products.DCWorkflow.interfaces import IBeforeTransitionEvent
class DCWorkflowDefinitionTests(SecurityTest): class DCWorkflowDefinitionTests(SecurityTest):
layer = TraversingEventZCMLLayer layer = TraversingEventZCMLLayer
def setUp(self): def setUp(self):
SecurityTest.setUp(self) SecurityTest.setUp(self)
self.root._setObject('site', DummySite('site') ) self.app._setObject('site', DummySite('site'))
self.site = self.root._getOb('site') self.site = self.app._getOb('site')
self.site._setObject( 'portal_types', DummyTool() ) self.site._setObject('portal_types', DummyTool())
self.site._setObject( 'portal_workflow', WorkflowTool() ) self.wtool = self.site._setObject('portal_workflow', WorkflowTool())
getSiteManager().registerUtility(self.wtool, IWorkflowTool)
self._constructDummyWorkflow() self._constructDummyWorkflow()
transaction.savepoint(optimistic=True) transaction.savepoint(optimistic=True)
newSecurityManager(None, OmnipotentUser().__of__(self.site)) newSecurityManager(None, OmnipotentUser().__of__(self.site))
...@@ -55,10 +59,10 @@ class DCWorkflowDefinitionTests(SecurityTest): ...@@ -55,10 +59,10 @@ class DCWorkflowDefinitionTests(SecurityTest):
def _constructDummyWorkflow(self): def _constructDummyWorkflow(self):
from Products.DCWorkflow.DCWorkflow import DCWorkflowDefinition from Products.DCWorkflow.DCWorkflow import DCWorkflowDefinition
wftool = self.site.portal_workflow wtool = self.wtool
wftool._setObject('wf', DCWorkflowDefinition('wf')) wtool._setObject('wf', DCWorkflowDefinition('wf'))
wftool.setDefaultChain('wf') wtool.setDefaultChain('wf')
wf = wftool.wf wf = wtool.wf
wf.states.addState('private') wf.states.addState('private')
sdef = wf.states['private'] sdef = wf.states['private']
...@@ -79,18 +83,15 @@ class DCWorkflowDefinitionTests(SecurityTest): ...@@ -79,18 +83,15 @@ class DCWorkflowDefinitionTests(SecurityTest):
wf.worklists.addWorklist('published_documents') wf.worklists.addWorklist('published_documents')
def _getDummyWorkflow(self): def _getDummyWorkflow(self):
wftool = self.site.portal_workflow return self.wtool.wf
return wftool.wf
def test_doActionFor(self): def test_doActionFor(self):
wtool = self.wtool
wftool = self.site.portal_workflow
wf = self._getDummyWorkflow() wf = self._getDummyWorkflow()
dummy = self.site._setObject( 'dummy', DummyContent() ) dummy = self.site._setObject( 'dummy', DummyContent() )
wftool.notifyCreated(dummy) wtool.notifyCreated(dummy)
self.assertEqual( wf._getStatusOf(dummy), self.assertEqual( wf._getStatusOf(dummy),
{'state': 'private', 'comments': ''} ) {'state': 'private', 'comments': ''} )
wf.doActionFor(dummy, 'publish', comment='foo' ) wf.doActionFor(dummy, 'publish', comment='foo' )
...@@ -100,7 +101,6 @@ class DCWorkflowDefinitionTests(SecurityTest): ...@@ -100,7 +101,6 @@ class DCWorkflowDefinitionTests(SecurityTest):
# XXX more # XXX more
def test_events(self): def test_events(self):
events = [] events = []
@adapter(IBeforeTransitionEvent) @adapter(IBeforeTransitionEvent)
...@@ -113,7 +113,6 @@ class DCWorkflowDefinitionTests(SecurityTest): ...@@ -113,7 +113,6 @@ class DCWorkflowDefinitionTests(SecurityTest):
events.append(event) events.append(event)
provideHandler(_handleAfter) provideHandler(_handleAfter)
wftool = self.site.portal_workflow
wf = self._getDummyWorkflow() wf = self._getDummyWorkflow()
dummy = self.site._setObject( 'dummy', DummyContent() ) dummy = self.site._setObject( 'dummy', DummyContent() )
...@@ -158,11 +157,10 @@ class DCWorkflowDefinitionTests(SecurityTest): ...@@ -158,11 +157,10 @@ class DCWorkflowDefinitionTests(SecurityTest):
self.assertEquals({'test' : 'bar', 'comment' : 'foo'}, evt.kwargs) self.assertEquals({'test' : 'bar', 'comment' : 'foo'}, evt.kwargs)
def test_checkTransitionGuard(self): def test_checkTransitionGuard(self):
wtool = self.wtool
wftool = self.site.portal_workflow
wf = self._getDummyWorkflow() wf = self._getDummyWorkflow()
dummy = self.site._setObject( 'dummy', DummyContent() ) dummy = self.site._setObject( 'dummy', DummyContent() )
wftool.notifyCreated(dummy) wtool.notifyCreated(dummy)
self.assertEqual( wf._getStatusOf(dummy), self.assertEqual( wf._getStatusOf(dummy),
{'state': 'private', 'comments': ''} ) {'state': 'private', 'comments': ''} )
...@@ -175,7 +173,6 @@ class DCWorkflowDefinitionTests(SecurityTest): ...@@ -175,7 +173,6 @@ class DCWorkflowDefinitionTests(SecurityTest):
dummy, arg1=1, arg2=2)) dummy, arg1=1, arg2=2))
def test_isActionSupported(self): def test_isActionSupported(self):
wf = self._getDummyWorkflow() wf = self._getDummyWorkflow()
dummy = self.site._setObject( 'dummy', DummyContent() ) dummy = self.site._setObject( 'dummy', DummyContent() )
...@@ -186,8 +183,6 @@ class DCWorkflowDefinitionTests(SecurityTest): ...@@ -186,8 +183,6 @@ class DCWorkflowDefinitionTests(SecurityTest):
self.assert_(wf.isActionSupported(dummy, 'publish', arg1=1, arg2=2)) self.assert_(wf.isActionSupported(dummy, 'publish', arg1=1, arg2=2))
def test_rename(self): def test_rename(self):
wftool = self.site.portal_workflow
wf = self._getDummyWorkflow() wf = self._getDummyWorkflow()
wf.states.manage_renameObject('private', 'private_new') wf.states.manage_renameObject('private', 'private_new')
......
...@@ -70,12 +70,11 @@ class _GuardChecker: ...@@ -70,12 +70,11 @@ class _GuardChecker:
class _WorkflowSetup(WorkflowSetupBase): class _WorkflowSetup(WorkflowSetupBase):
def _initDCWorkflow( self, workflow_id ): def _initDCWorkflow(self, wtool, workflow_id):
wtool._setObject(workflow_id, DCWorkflowDefinition(workflow_id))
wf_tool = self.root.site.portal_workflow return wtool._getOb(workflow_id)
wf_tool._setObject( workflow_id, DCWorkflowDefinition( workflow_id ) )
return wf_tool._getOb( workflow_id )
def _initVariables( self, dcworkflow ): def _initVariables( self, dcworkflow ):
...@@ -207,11 +206,10 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -207,11 +206,10 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
return WorkflowDefinitionConfigurator return WorkflowDefinitionConfigurator
def test_getWorkflowInfo_dcworkflow_defaults( self ): def test_getWorkflowInfo_dcworkflow_defaults( self ):
WF_ID = 'dcworkflow_defaults' WF_ID = 'dcworkflow_defaults'
site = self._initSite() site, wtool = self._initSite()
dcworkflow = self._initDCWorkflow( WF_ID ) dcworkflow = self._initDCWorkflow(wtool, WF_ID)
configurator = self._makeOne(dcworkflow).__of__(site) configurator = self._makeOne(dcworkflow).__of__(site)
info = configurator.getWorkflowInfo( WF_ID ) info = configurator.getWorkflowInfo( WF_ID )
...@@ -229,11 +227,10 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -229,11 +227,10 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self.assertEqual( len( info[ 'transition_info' ] ), 0 ) self.assertEqual( len( info[ 'transition_info' ] ), 0 )
def test_getWorkflowInfo_dcworkflow_permissions( self ): def test_getWorkflowInfo_dcworkflow_permissions( self ):
WF_ID = 'dcworkflow_permissions' WF_ID = 'dcworkflow_permissions'
site = self._initSite() site, wtool = self._initSite()
dcworkflow = self._initDCWorkflow( WF_ID ) dcworkflow = self._initDCWorkflow(wtool, WF_ID)
dcworkflow.permissions = _WF_PERMISSIONS dcworkflow.permissions = _WF_PERMISSIONS
configurator = self._makeOne(dcworkflow).__of__(site) configurator = self._makeOne(dcworkflow).__of__(site)
...@@ -246,11 +243,10 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -246,11 +243,10 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self.failUnless( permission in permissions ) self.failUnless( permission in permissions )
def test_getWorkflowInfo_dcworkflow_variables( self ): def test_getWorkflowInfo_dcworkflow_variables( self ):
WF_ID = 'dcworkflow_variables' WF_ID = 'dcworkflow_variables'
site = self._initSite() site, wtool = self._initSite()
dcworkflow = self._initDCWorkflow( WF_ID ) dcworkflow = self._initDCWorkflow(wtool, WF_ID)
self._initVariables( dcworkflow ) self._initVariables( dcworkflow )
configurator = self._makeOne(dcworkflow).__of__(site) configurator = self._makeOne(dcworkflow).__of__(site)
...@@ -278,12 +274,11 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -278,12 +274,11 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self._assertGuard( info, *expected[ -4: ] ) self._assertGuard( info, *expected[ -4: ] )
def test_getWorkflowInfo_dcworkflow_states( self ): def test_getWorkflowInfo_dcworkflow_states( self ):
WF_ID = 'dcworkflow_states' WF_ID = 'dcworkflow_states'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, wtool = self._initSite()
dcworkflow = self._initDCWorkflow( WF_ID ) dcworkflow = self._initDCWorkflow(wtool, WF_ID)
dcworkflow.initial_state = WF_INITIAL_STATE dcworkflow.initial_state = WF_INITIAL_STATE
self._initStates( dcworkflow ) self._initStates( dcworkflow )
...@@ -351,13 +346,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -351,13 +346,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self.assertEqual( type, 'string' ) self.assertEqual( type, 'string' )
def test_getWorkflowInfo_dcworkflow_transitions( self ): def test_getWorkflowInfo_dcworkflow_transitions( self ):
from Products.DCWorkflow.exportimport import TRIGGER_TYPES from Products.DCWorkflow.exportimport import TRIGGER_TYPES
WF_ID = 'dcworkflow_transitions' WF_ID = 'dcworkflow_transitions'
site = self._initSite() site, wtool = self._initSite()
dcworkflow = self._initDCWorkflow( WF_ID ) dcworkflow = self._initDCWorkflow(wtool, WF_ID)
self._initTransitions( dcworkflow ) self._initTransitions( dcworkflow )
configurator = self._makeOne(dcworkflow).__of__(site) configurator = self._makeOne(dcworkflow).__of__(site)
...@@ -397,11 +391,10 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -397,11 +391,10 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self._assertGuard( info, *expected[ -4: ] ) self._assertGuard( info, *expected[ -4: ] )
def test_getWorkflowInfo_dcworkflow_worklists( self ): def test_getWorkflowInfo_dcworkflow_worklists( self ):
WF_ID = 'dcworkflow_worklists' WF_ID = 'dcworkflow_worklists'
site = self._initSite() site, wtool = self._initSite()
dcworkflow = self._initDCWorkflow( WF_ID ) dcworkflow = self._initDCWorkflow(wtool, WF_ID)
self._initWorklists( dcworkflow ) self._initWorklists( dcworkflow )
configurator = self._makeOne(dcworkflow).__of__(site) configurator = self._makeOne(dcworkflow).__of__(site)
...@@ -441,11 +434,10 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -441,11 +434,10 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self._assertGuard( info, *expected[ -4: ] ) self._assertGuard( info, *expected[ -4: ] )
def test_getWorkflowInfo_dcworkflow_scripts( self ): def test_getWorkflowInfo_dcworkflow_scripts( self ):
WF_ID = 'dcworkflow_scripts' WF_ID = 'dcworkflow_scripts'
site = self._initSite() site, wtool = self._initSite()
dcworkflow = self._initDCWorkflow( WF_ID ) dcworkflow = self._initDCWorkflow(wtool, WF_ID)
self._initScripts( dcworkflow ) self._initScripts( dcworkflow )
configurator = self._makeOne(dcworkflow).__of__(site) configurator = self._makeOne(dcworkflow).__of__(site)
...@@ -474,19 +466,18 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -474,19 +466,18 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
def test_getWorkflowInfo_dcworkflow_creation_guard(self) : def test_getWorkflowInfo_dcworkflow_creation_guard(self) :
WF_ID = 'dcworkflow_creation_guard' WF_ID = 'dcworkflow_creation_guard'
site = self._initSite() _site, wtool = self._initSite()
dcworkflow = self._initDCWorkflow( WF_ID ) dcworkflow = self._initDCWorkflow(wtool, WF_ID)
self._initCreationGuard(dcworkflow) self._initCreationGuard(dcworkflow)
def test_generateXML_empty( self ): def test_generateXML_empty( self ):
WF_ID = 'empty' WF_ID = 'empty'
WF_TITLE = 'Empty DCWorkflow' WF_TITLE = 'Empty DCWorkflow'
WF_DESCRIPTION = 'This is a empty workflow' WF_DESCRIPTION = 'This is a empty workflow'
WF_INITIAL_STATE = 'initial' WF_INITIAL_STATE = 'initial'
site = self._initSite() site, wtool = self._initSite()
dcworkflow = self._initDCWorkflow( WF_ID ) dcworkflow = self._initDCWorkflow(wtool, WF_ID)
dcworkflow.title = WF_TITLE dcworkflow.title = WF_TITLE
dcworkflow.description = WF_DESCRIPTION dcworkflow.description = WF_DESCRIPTION
dcworkflow.initial_state = WF_INITIAL_STATE dcworkflow.initial_state = WF_INITIAL_STATE
...@@ -501,14 +492,13 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -501,14 +492,13 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
) ) ) )
def test_generateWorkflowXML_normal( self ): def test_generateWorkflowXML_normal( self ):
WF_ID = 'normal' WF_ID = 'normal'
WF_TITLE = 'Normal DCWorkflow' WF_TITLE = 'Normal DCWorkflow'
WF_DESCRIPTION = 'Normal Workflow' WF_DESCRIPTION = 'Normal Workflow'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, wtool = self._initSite()
dcworkflow = self._initDCWorkflow( WF_ID ) dcworkflow = self._initDCWorkflow(wtool, WF_ID)
dcworkflow.title = WF_TITLE dcworkflow.title = WF_TITLE
dcworkflow.description = WF_DESCRIPTION dcworkflow.description = WF_DESCRIPTION
dcworkflow.initial_state = WF_INITIAL_STATE dcworkflow.initial_state = WF_INITIAL_STATE
...@@ -531,7 +521,6 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -531,7 +521,6 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
} ) } )
def test_generateWorkflowXML_multiple( self ): def test_generateWorkflowXML_multiple( self ):
WF_ID_1 = 'dc1' WF_ID_1 = 'dc1'
WF_TITLE_1 = 'Normal DCWorkflow #1' WF_TITLE_1 = 'Normal DCWorkflow #1'
WF_DESCRIPTION_1 = 'Normal Number 1' WF_DESCRIPTION_1 = 'Normal Number 1'
...@@ -540,9 +529,9 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -540,9 +529,9 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
WF_DESCRIPTION_2 = 'Normal Numer 2' WF_DESCRIPTION_2 = 'Normal Numer 2'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, wtool = self._initSite()
dcworkflow_1 = self._initDCWorkflow( WF_ID_1 ) dcworkflow_1 = self._initDCWorkflow(wtool, WF_ID_1)
dcworkflow_1.title = WF_TITLE_1 dcworkflow_1.title = WF_TITLE_1
dcworkflow_1.description = WF_DESCRIPTION_1 dcworkflow_1.description = WF_DESCRIPTION_1
dcworkflow_1.initial_state = WF_INITIAL_STATE dcworkflow_1.initial_state = WF_INITIAL_STATE
...@@ -553,7 +542,7 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -553,7 +542,7 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self._initWorklists( dcworkflow_1 ) self._initWorklists( dcworkflow_1 )
self._initScripts( dcworkflow_1 ) self._initScripts( dcworkflow_1 )
dcworkflow_2 = self._initDCWorkflow( WF_ID_2 ) dcworkflow_2 = self._initDCWorkflow(wtool, WF_ID_2)
dcworkflow_2.title = WF_TITLE_2 dcworkflow_2.title = WF_TITLE_2
dcworkflow_2.description = WF_DESCRIPTION_2 dcworkflow_2.description = WF_DESCRIPTION_2
dcworkflow_2.initial_state = WF_INITIAL_STATE dcworkflow_2.initial_state = WF_INITIAL_STATE
...@@ -587,13 +576,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -587,13 +576,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
} ) } )
def test_parseWorkflowXML_empty( self ): def test_parseWorkflowXML_empty( self ):
WF_ID = 'empty' WF_ID = 'empty'
WF_TITLE = 'Empty DCWorkflow' WF_TITLE = 'Empty DCWorkflow'
WF_DESCRIPTION = 'This is an empty workflow' WF_DESCRIPTION = 'This is an empty workflow'
WF_INITIAL_STATE = 'initial' WF_INITIAL_STATE = 'initial'
site = self._initSite() site, _wtool = self._initSite()
configurator = self._makeOne( site ).__of__( site ) configurator = self._makeOne( site ).__of__( site )
...@@ -626,13 +614,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -626,13 +614,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self.assertEqual( len( scripts ), 0 ) self.assertEqual( len( scripts ), 0 )
def test_parseWorkflowXML_normal_attribs( self ): def test_parseWorkflowXML_normal_attribs( self ):
WF_ID = 'normal' WF_ID = 'normal'
WF_TITLE = 'Normal DCWorkflow' WF_TITLE = 'Normal DCWorkflow'
WF_DESCRIPTION = 'This is a normal DCWorkflow' WF_DESCRIPTION = 'This is a normal DCWorkflow'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, _wtool = self._initSite()
configurator = self._makeOne( site ).__of__( site ) configurator = self._makeOne( site ).__of__( site )
...@@ -665,13 +652,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -665,13 +652,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self.assertEqual( initial_state, WF_INITIAL_STATE ) self.assertEqual( initial_state, WF_INITIAL_STATE )
def test_parseWorkflowXML_normal_states( self ): def test_parseWorkflowXML_normal_states( self ):
WF_ID = 'normal' WF_ID = 'normal'
WF_TITLE = 'Normal DCWorkflow' WF_TITLE = 'Normal DCWorkflow'
WF_DESCRIPTION = 'Normal workflow' WF_DESCRIPTION = 'Normal workflow'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, _wtool = self._initSite()
configurator = self._makeOne( site ).__of__( site ) configurator = self._makeOne( site ).__of__( site )
...@@ -731,13 +717,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -731,13 +717,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self.assertEqual( v_info[ 'type' ], 'string' ) self.assertEqual( v_info[ 'type' ], 'string' )
def test_parseWorkflowXML_state_w_missing_acquired( self ): def test_parseWorkflowXML_state_w_missing_acquired( self ):
WF_ID = 'missing_acquired' WF_ID = 'missing_acquired'
WF_TITLE = 'DCWorkflow w/o acquired on state' WF_TITLE = 'DCWorkflow w/o acquired on state'
WF_DESCRIPTION = WF_TITLE WF_DESCRIPTION = WF_TITLE
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, _wtool = self._initSite()
configurator = self._makeOne( site ).__of__( site ) configurator = self._makeOne( site ).__of__( site )
...@@ -783,7 +768,6 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -783,7 +768,6 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
, tuple( expected[ 4 ] ) ) , tuple( expected[ 4 ] ) )
def test_parseWorkflowXML_normal_transitions( self ): def test_parseWorkflowXML_normal_transitions( self ):
from Products.DCWorkflow.exportimport import TRIGGER_TYPES from Products.DCWorkflow.exportimport import TRIGGER_TYPES
WF_ID = 'normal' WF_ID = 'normal'
...@@ -791,7 +775,7 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -791,7 +775,7 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
WF_DESCRIPTION = 'Normal workflow' WF_DESCRIPTION = 'Normal workflow'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, _wtool = self._initSite()
configurator = self._makeOne( site ).__of__( site ) configurator = self._makeOne( site ).__of__( site )
...@@ -856,13 +840,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -856,13 +840,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self.assertEqual( guard.get( 'expression', '' ), expected[ 14 ] ) self.assertEqual( guard.get( 'expression', '' ), expected[ 14 ] )
def test_parseWorkflowXML_normal_variables( self ): def test_parseWorkflowXML_normal_variables( self ):
WF_ID = 'normal' WF_ID = 'normal'
WF_TITLE = 'Normal DCWorkflow' WF_TITLE = 'Normal DCWorkflow'
WF_DESCRIPTION = 'Normal workflow' WF_DESCRIPTION = 'Normal workflow'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, _wtool = self._initSite()
configurator = self._makeOne( site ).__of__( site ) configurator = self._makeOne( site ).__of__( site )
...@@ -936,13 +919,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -936,13 +919,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self.assertEqual( guard.get( 'expression', '' ), expected[ 9 ] ) self.assertEqual( guard.get( 'expression', '' ), expected[ 9 ] )
def test_parseWorkflowXML_w_variables_missing_attrs( self ): def test_parseWorkflowXML_w_variables_missing_attrs( self ):
WF_ID = 'normal' WF_ID = 'normal'
WF_TITLE = 'DCWorkflow w/ missing attrs' WF_TITLE = 'DCWorkflow w/ missing attrs'
WF_DESCRIPTION = WF_TITLE WF_DESCRIPTION = WF_TITLE
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, _wtool = self._initSite()
configurator = self._makeOne( site ).__of__( site ) configurator = self._makeOne( site ).__of__( site )
...@@ -1016,13 +998,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -1016,13 +998,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self.assertEqual( guard.get( 'expression', '' ), expected[ 9 ] ) self.assertEqual( guard.get( 'expression', '' ), expected[ 9 ] )
def test_parseWorkflowXML_normal_worklists( self ): def test_parseWorkflowXML_normal_worklists( self ):
WF_ID = 'normal' WF_ID = 'normal'
WF_TITLE = 'Normal DCWorkflow' WF_TITLE = 'Normal DCWorkflow'
WF_DESCRIPTION = 'Normal workflow' WF_DESCRIPTION = 'Normal workflow'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, _wtool = self._initSite()
configurator = self._makeOne( site ).__of__( site ) configurator = self._makeOne( site ).__of__( site )
...@@ -1081,13 +1062,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -1081,13 +1062,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self.assertEqual( guard.get( 'expression', '' ), expected[ 10 ] ) self.assertEqual( guard.get( 'expression', '' ), expected[ 10 ] )
def test_parseWorkflowXML_normal_permissions( self ): def test_parseWorkflowXML_normal_permissions( self ):
WF_ID = 'normal' WF_ID = 'normal'
WF_TITLE = 'Normal DCWorkflow' WF_TITLE = 'Normal DCWorkflow'
WF_DESCRIPTION = 'Normal workflow' WF_DESCRIPTION = 'Normal workflow'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, _wtool = self._initSite()
configurator = self._makeOne( site ).__of__( site ) configurator = self._makeOne( site ).__of__( site )
...@@ -1120,13 +1100,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ): ...@@ -1120,13 +1100,12 @@ class WorkflowDefinitionConfiguratorTests( _WorkflowSetup, _GuardChecker ):
self.failUnless( permission in _WF_PERMISSIONS ) self.failUnless( permission in _WF_PERMISSIONS )
def test_parseWorkflowXML_normal_scripts( self ): def test_parseWorkflowXML_normal_scripts( self ):
WF_ID = 'normal' WF_ID = 'normal'
WF_TITLE = 'Normal DCWorkflow' WF_TITLE = 'Normal DCWorkflow'
WF_DESCRIPTION = 'Normal workflow' WF_DESCRIPTION = 'Normal workflow'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, _wtool = self._initSite()
configurator = self._makeOne( site ).__of__( site ) configurator = self._makeOne( site ).__of__( site )
...@@ -2544,7 +2523,7 @@ class Test_exportWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2544,7 +2523,7 @@ class Test_exportWorkflow(_WorkflowSetup, _GuardChecker):
def test_empty( self ): def test_empty( self ):
from Products.CMFCore.exportimport.workflow import exportWorkflowTool from Products.CMFCore.exportimport.workflow import exportWorkflowTool
site = self._initSite() site, _wtool = self._initSite()
context = DummyExportContext( site ) context = DummyExportContext( site )
exportWorkflowTool( context ) exportWorkflowTool( context )
...@@ -2565,15 +2544,14 @@ class Test_exportWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2565,15 +2544,14 @@ class Test_exportWorkflow(_WorkflowSetup, _GuardChecker):
WF_DESCRIPTION_DC = 'I am a DCWorkflow' WF_DESCRIPTION_DC = 'I am a DCWorkflow'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, wtool = self._initSite()
wf_tool = site.portal_workflow
nondcworkflow = DummyWorkflow( WF_TITLE_NON ) nondcworkflow = DummyWorkflow( WF_TITLE_NON )
nondcworkflow.title = WF_TITLE_NON nondcworkflow.title = WF_TITLE_NON
nondcworkflow.description = WF_DESCRIPTION_NON nondcworkflow.description = WF_DESCRIPTION_NON
wf_tool._setObject( WF_ID_NON, nondcworkflow ) wtool._setObject(WF_ID_NON, nondcworkflow)
dcworkflow = self._initDCWorkflow( WF_ID_DC ) dcworkflow = self._initDCWorkflow(wtool, WF_ID_DC)
dcworkflow.title = WF_TITLE_DC dcworkflow.title = WF_TITLE_DC
dcworkflow.description = WF_DESCRIPTION_DC dcworkflow.description = WF_DESCRIPTION_DC
dcworkflow.initial_state = WF_INITIAL_STATE dcworkflow.initial_state = WF_INITIAL_STATE
...@@ -2621,9 +2599,8 @@ class Test_exportWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2621,9 +2599,8 @@ class Test_exportWorkflow(_WorkflowSetup, _GuardChecker):
WF_DESCRIPTION_DC = 'Workflow w/spaces' WF_DESCRIPTION_DC = 'Workflow w/spaces'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
site = self._initSite() site, wtool = self._initSite()
dcworkflow = self._initDCWorkflow(wtool, WF_ID_DC)
dcworkflow = self._initDCWorkflow( WF_ID_DC )
dcworkflow.title = WF_TITLE_DC dcworkflow.title = WF_TITLE_DC
dcworkflow.description = WF_DESCRIPTION_DC dcworkflow.description = WF_DESCRIPTION_DC
dcworkflow.initial_state = WF_INITIAL_STATE dcworkflow.initial_state = WF_INITIAL_STATE
...@@ -2674,17 +2651,18 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2674,17 +2651,18 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
wf_description, wf_initial_state ): wf_description, wf_initial_state ):
from Products.CMFCore.exportimport.workflow import importWorkflowTool from Products.CMFCore.exportimport.workflow import importWorkflowTool
site, context = self._prepareImportNormalWorkflow( _site, context = self._prepareImportNormalWorkflow(
wf_id, wf_title, wf_description, wf_initial_state) wf_id, wf_title, wf_description, wf_initial_state)
importWorkflowTool(context) importWorkflowTool(context)
return site.portal_workflow return self.wtool
def _prepareImportNormalWorkflow(self, wf_id, wf_title, wf_description, def _prepareImportNormalWorkflow(self, wf_id, wf_title, wf_description,
wf_initial_state, site=None, purge=True): wf_initial_state, site=None, purge=True):
if site is None: if site is None:
site = self._initSite() site, wtool = self._initSite()
self.wtool = wtool
workflow_filename = wf_id.replace(' ', '_') workflow_filename = wf_id.replace(' ', '_')
context = DummyImportContext(site, purge=purge) context = DummyImportContext(site, purge=purge)
...@@ -2719,8 +2697,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2719,8 +2697,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
def _importOldWorkflow( self, wf_id, wf_title, wf_initial_state ): def _importOldWorkflow( self, wf_id, wf_title, wf_initial_state ):
from Products.CMFCore.exportimport.workflow import importWorkflowTool from Products.CMFCore.exportimport.workflow import importWorkflowTool
site = self._initSite() site, wf_tool = self._initSite()
wf_tool = site.portal_workflow
workflow_filename = wf_id.replace(' ', '_') workflow_filename = wf_id.replace(' ', '_')
context = DummyImportContext( site ) context = DummyImportContext( site )
...@@ -2758,8 +2735,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2758,8 +2735,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
WF_ID_NON = 'non_dcworkflow_%s' WF_ID_NON = 'non_dcworkflow_%s'
WF_TITLE_NON = 'Non-DCWorkflow #%s' WF_TITLE_NON = 'Non-DCWorkflow #%s'
site = self._initSite() site, wf_tool = self._initSite()
wf_tool = site.portal_workflow
for i in range( 4 ): for i in range( 4 ):
nondcworkflow = DummyWorkflow( WF_TITLE_NON % i ) nondcworkflow = DummyWorkflow( WF_TITLE_NON % i )
...@@ -2784,8 +2760,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2784,8 +2760,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
WF_ID_NON = 'non_dcworkflow_%s' WF_ID_NON = 'non_dcworkflow_%s'
WF_TITLE_NON = 'Non-DCWorkflow #%s' WF_TITLE_NON = 'Non-DCWorkflow #%s'
site = self._initSite() site, wf_tool = self._initSite()
wf_tool = site.portal_workflow
for i in range( 4 ): for i in range( 4 ):
nondcworkflow = DummyWorkflow( WF_TITLE_NON % i ) nondcworkflow = DummyWorkflow( WF_TITLE_NON % i )
...@@ -2810,8 +2785,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2810,8 +2785,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
WF_ID_NON = 'non_dcworkflow_%s' WF_ID_NON = 'non_dcworkflow_%s'
WF_TITLE_NON = 'Non-DCWorkflow #%s' WF_TITLE_NON = 'Non-DCWorkflow #%s'
site = self._initSite() site, wf_tool = self._initSite()
wf_tool = site.portal_workflow
for i in range( 4 ): for i in range( 4 ):
nondcworkflow = DummyWorkflow( WF_TITLE_NON % i ) nondcworkflow = DummyWorkflow( WF_TITLE_NON % i )
...@@ -2840,8 +2814,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2840,8 +2814,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
WF_ID_NON = 'non_dcworkflow_%s' WF_ID_NON = 'non_dcworkflow_%s'
WF_TITLE_NON = 'Non-DCWorkflow #%s' WF_TITLE_NON = 'Non-DCWorkflow #%s'
site = self._initSite() site, wf_tool = self._initSite()
wf_tool = site.portal_workflow
for i in range( 4 ): for i in range( 4 ):
nondcworkflow = DummyWorkflow( WF_TITLE_NON % i ) nondcworkflow = DummyWorkflow( WF_TITLE_NON % i )
...@@ -2886,7 +2859,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2886,7 +2859,7 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
WF_ID, WF_TITLE, WF_DESCRIPTION, WF_INITIAL_STATE, WF_ID, WF_TITLE, WF_DESCRIPTION, WF_INITIAL_STATE,
site=site, purge=False) site=site, purge=False)
importWorkflowTool(context) importWorkflowTool(context)
workflow = site.portal_workflow.objectValues()[1] workflow = self.wtool.objectValues()[1]
self.assertEqual(workflow.getId(), WF_ID) self.assertEqual(workflow.getId(), WF_ID)
self.assertEqual(workflow.meta_type, DCWorkflowDefinition.meta_type) self.assertEqual(workflow.meta_type, DCWorkflowDefinition.meta_type)
...@@ -2908,7 +2881,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2908,7 +2881,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
def test_from_empty_dcworkflow_top_level( self ): def test_from_empty_dcworkflow_top_level( self ):
WF_ID = 'dcworkflow_tool' WF_ID = 'dcworkflow_tool'
WF_TITLE = 'DC Workflow testing tool' WF_TITLE = 'DC Workflow testing tool'
WF_DESCRIPTION = 'Testing Tool' WF_DESCRIPTION = 'Testing Tool'
...@@ -2921,7 +2893,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2921,7 +2893,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
self.assertEqual( tool.objectIds()[ 1 ], WF_ID ) self.assertEqual( tool.objectIds()[ 1 ], WF_ID )
def test_from_empty_dcworkflow_workflow_attrs( self ): def test_from_empty_dcworkflow_workflow_attrs( self ):
WF_ID = 'dcworkflow_attrs' WF_ID = 'dcworkflow_attrs'
WF_TITLE = 'DC Workflow testing attrs' WF_TITLE = 'DC Workflow testing attrs'
WF_DESCRIPTION = 'Testing Attributes' WF_DESCRIPTION = 'Testing Attributes'
...@@ -2937,7 +2908,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2937,7 +2908,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
self.assertEqual( workflow.initial_state, WF_INITIAL_STATE ) self.assertEqual( workflow.initial_state, WF_INITIAL_STATE )
def test_from_empty_dcworkflow_workflow_permissions( self ): def test_from_empty_dcworkflow_workflow_permissions( self ):
WF_ID = 'dcworkflow_permissions' WF_ID = 'dcworkflow_permissions'
WF_TITLE = 'DC Workflow testing permissions' WF_TITLE = 'DC Workflow testing permissions'
WF_DESCRIPTION = 'Testing Permissions' WF_DESCRIPTION = 'Testing Permissions'
...@@ -2955,7 +2925,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2955,7 +2925,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
self.failUnless( permission in _WF_PERMISSIONS ) self.failUnless( permission in _WF_PERMISSIONS )
def test_from_empty_dcworkflow_workflow_variables( self ): def test_from_empty_dcworkflow_workflow_variables( self ):
WF_ID = 'dcworkflow_variables' WF_ID = 'dcworkflow_variables'
WF_TITLE = 'DC Workflow testing variables' WF_TITLE = 'DC Workflow testing variables'
WF_DESCRIPTION = 'Testing Variables' WF_DESCRIPTION = 'Testing Variables'
...@@ -2989,7 +2958,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -2989,7 +2958,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
self.assertEqual( guard.getExprText(), expected[ 9 ] ) self.assertEqual( guard.getExprText(), expected[ 9 ] )
def test_from_empty_dcworkflow_workflow_states( self ): def test_from_empty_dcworkflow_workflow_states( self ):
WF_ID = 'dcworkflow_states' WF_ID = 'dcworkflow_states'
WF_TITLE = 'DC Workflow testing states' WF_TITLE = 'DC Workflow testing states'
WF_DESCRIPTION = 'Testing States' WF_DESCRIPTION = 'Testing States'
...@@ -3048,7 +3016,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -3048,7 +3016,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
self.assertEqual( value, expected[ 5 ][ var_id ] ) self.assertEqual( value, expected[ 5 ][ var_id ] )
def test_from_empty_dcworkflow_workflow_transitions( self ): def test_from_empty_dcworkflow_workflow_transitions( self ):
WF_ID = 'dcworkflow_transitions' WF_ID = 'dcworkflow_transitions'
WF_TITLE = 'DC Workflow testing transitions' WF_TITLE = 'DC Workflow testing transitions'
WF_DESCRIPTION = 'Testing Transitions' WF_DESCRIPTION = 'Testing Transitions'
...@@ -3093,7 +3060,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -3093,7 +3060,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
self.assertEqual( guard.getExprText(), expected[ 14 ] ) self.assertEqual( guard.getExprText(), expected[ 14 ] )
def test_from_empty_dcworkflow_workflow_worklists( self ): def test_from_empty_dcworkflow_workflow_worklists( self ):
WF_ID = 'dcworkflow_worklists' WF_ID = 'dcworkflow_worklists'
WF_TITLE = 'DC Workflow testing worklists' WF_TITLE = 'DC Workflow testing worklists'
WF_DESCRIPTION = 'Testing Worklists' WF_DESCRIPTION = 'Testing Worklists'
...@@ -3138,7 +3104,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -3138,7 +3104,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
self.assertEqual( guard.getExprText(), expected[ 10 ] ) self.assertEqual( guard.getExprText(), expected[ 10 ] )
def test_from_old_dcworkflow_workflow_scripts( self ): def test_from_old_dcworkflow_workflow_scripts( self ):
WF_ID = 'old_dcworkflow_scripts' WF_ID = 'old_dcworkflow_scripts'
WF_TITLE = 'Old DC Workflow testing scripts' WF_TITLE = 'Old DC Workflow testing scripts'
WF_INITIAL_STATE = 'closed' WF_INITIAL_STATE = 'closed'
...@@ -3162,7 +3127,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker): ...@@ -3162,7 +3127,6 @@ class Test_importWorkflow(_WorkflowSetup, _GuardChecker):
self.assertEqual( script.manage_FTPget(), expected[ 1 ] ) self.assertEqual( script.manage_FTPget(), expected[ 1 ] )
def test_from_empty_dcworkflow_workflow_scripts( self ): def test_from_empty_dcworkflow_workflow_scripts( self ):
WF_ID = 'dcworkflow_scripts' WF_ID = 'dcworkflow_scripts'
WF_TITLE = 'DC Workflow testing scripts' WF_TITLE = 'DC Workflow testing scripts'
WF_DESCRIPTION = 'Testing Scripts' WF_DESCRIPTION = 'Testing Scripts'
......
...@@ -17,29 +17,35 @@ import unittest ...@@ -17,29 +17,35 @@ import unittest
import Testing import Testing
from AccessControl import getSecurityManager from AccessControl import getSecurityManager
from zope.component import getSiteManager
from zope.testing.cleanup import cleanUp
from Products.CMFCore.interfaces import IWorkflowTool
from Products.CMFCore.tests.base.dummy import DummyContent from Products.CMFCore.tests.base.dummy import DummyContent
from Products.CMFCore.tests.base.dummy import DummySite from Products.CMFCore.tests.base.dummy import DummySite
from Products.CMFCore.tests.base.dummy import DummyTool from Products.CMFCore.tests.base.dummy import DummyTool
from Products.CMFCore.WorkflowTool import WorkflowTool from Products.CMFCore.WorkflowTool import WorkflowTool
from Products.DCWorkflow.Guard import Guard
from Products.DCWorkflow.DCWorkflow import DCWorkflowDefinition from Products.DCWorkflow.DCWorkflow import DCWorkflowDefinition
from Products.DCWorkflow.Guard import Guard
class TestGuard(unittest.TestCase): class TestGuard(unittest.TestCase):
def setUp(self): def setUp(self):
self.site = DummySite('site') self.site = DummySite('site')
self.site._setObject( 'portal_types', DummyTool() ) self.site._setObject('portal_types', DummyTool())
self.site._setObject( 'portal_workflow', WorkflowTool() )
# Construct a workflow # Construct a workflow
wftool = self.site.portal_workflow self.wtool = WorkflowTool()
wftool._setObject('wf', DCWorkflowDefinition('wf')) self.wtool._setObject('wf', DCWorkflowDefinition('wf'))
wftool.setDefaultChain('wf') self.wtool.setDefaultChain('wf')
getSiteManager().registerUtility(self.wtool, IWorkflowTool)
def tearDown(self):
cleanUp()
def _getDummyWorkflow(self): def _getDummyWorkflow(self):
return self.site.portal_workflow['wf'] return self.wtool.wf
def test_BaseGuardAPI(self): def test_BaseGuardAPI(self):
from zope.tales.tales import CompilerError from zope.tales.tales import CompilerError
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment