def test_configure(self): d1 = self.getDoc() d2 = self.getDoc() d3 = self.getDoc() we = GenericWorkflowEngine() we.addManyCallbacks('*', [ m('mouse'), [m('dog'), call_forward(1), m('cat'), m('puppy')], m('horse'), ]) # process using defaults we.process(d1) r = 'one mouse dog cat puppy horse'.split() # pass our own callback chooser we.configure(callback_chooser=asterisk_chooser) we.process(d2) assert d1[0] == r assert d2[0] == r assert d1 == d2 # configure it wrongly we.configure(callback_chooser='') self.failUnlessRaises(Exception, we.process, d3) assert d3 == self.getDoc()
def test_workflow01(self): we0 = GenericWorkflowEngine() we1 = GenericWorkflowEngine() we2 = GenericWorkflowEngine() d0 = self.getDoc() d1 = self.getDoc() d2 = self.getDoc() we0.addManyCallbacks('*', [ m('mouse'), [m('dog'), call_forward(1), m('cat'), m('puppy')], m('horse'), ]) we1.setWorkflow([ m('mouse'), [m('dog'), call_forward(1), m('cat'), m('puppy')], m('horse'), ]) we2.addManyCallbacks('x', [ m('mouse'), [m('dog'), call_forward(1), m('cat'), m('puppy')], m('horse'), ]) we2.configure(callback_chooser=lambda o, e: e.getCallbacks('x')) we0.process(d0) we1.process(d1) we2.process(d2) assert d0 == d1 assert d0 == d2