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
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
def test_configure(self): callbacks_list = [ obj_append('mouse'), [ obj_append('dog'), jump_call(1), obj_append('cat'), obj_append('puppy') ], obj_append('horse'), ] we = GenericWorkflowEngine() we.addManyCallbacks('*', callbacks_list) # process using defaults we.process(self.d1) r = 'one mouse dog cat puppy horse'.split() we = GenericWorkflowEngine() we.addManyCallbacks('*', callbacks_list) we.process(self.d2) assert self.d1[0] == r assert self.d2[0] == r assert self.d1 == self.d2
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): class GenericWEWithXChooser(GenericWorkflowEngine): def callback_chooser(self, obj): return self.callbacks.get('x') we0 = GenericWorkflowEngine() we1 = GenericWorkflowEngine() we2 = GenericWEWithXChooser() we0.addManyCallbacks('*', [ obj_append('mouse'), [obj_append('dog'), jump_call(1), obj_append('cat'), obj_append('puppy')], obj_append('horse'), ]) we1.setWorkflow([ obj_append('mouse'), [obj_append('dog'), jump_call(1), obj_append('cat'), obj_append('puppy')], obj_append('horse'), ]) we2.addManyCallbacks('x', [ obj_append('mouse'), [obj_append('dog'), jump_call(1), obj_append('cat'), obj_append('puppy')], obj_append('horse'), ]) we0.process(self.d0) we1.process(self.d1) we2.process(self.d2) assert self.d0 == self.d1 assert self.d0 == self.d2
def test_init(self): # init with empty to full parameters we1 = GenericWorkflowEngine() callbacks = [ obj_append('mouse'), [obj_append('dog'), jump_call(1), obj_append('cat'), obj_append('puppy')], obj_append('horse'), ] we1.addManyCallbacks('*', deepcopy(callbacks)) we1.process(self.d1)
def test_workflow01(self): class GenericWEWithXChooser(GenericWorkflowEngine): def callback_chooser(self, obj): return self.callbacks.get('x') we0 = GenericWorkflowEngine() we1 = GenericWorkflowEngine() we2 = GenericWEWithXChooser() we0.addManyCallbacks('*', [ obj_append('mouse'), [ obj_append('dog'), jump_call(1), obj_append('cat'), obj_append('puppy') ], obj_append('horse'), ]) we1.setWorkflow([ obj_append('mouse'), [ obj_append('dog'), jump_call(1), obj_append('cat'), obj_append('puppy') ], obj_append('horse'), ]) we2.addManyCallbacks('x', [ obj_append('mouse'), [ obj_append('dog'), jump_call(1), obj_append('cat'), obj_append('puppy') ], obj_append('horse'), ]) we0.process(self.d0) we1.process(self.d1) we2.process(self.d2) assert self.d0 == self.d1 assert self.d0 == self.d2
def test_init(self): # init with empty to full parameters we1 = GenericWorkflowEngine() callbacks = [ obj_append('mouse'), [ obj_append('dog'), jump_call(1), obj_append('cat'), obj_append('puppy') ], obj_append('horse'), ] we1.addManyCallbacks('*', deepcopy(callbacks)) we1.process(self.d1)
def test_configure(self): callbacks_list = [ obj_append('mouse'), [obj_append('dog'), jump_call(1), obj_append('cat'), obj_append('puppy')], obj_append('horse'), ] we = GenericWorkflowEngine() we.addManyCallbacks('*', callbacks_list) # process using defaults we.process(self.d1) r = 'one mouse dog cat puppy horse'.split() we = GenericWorkflowEngine() we.addManyCallbacks('*', callbacks_list) we.process(self.d2) assert self.d1[0] == r assert self.d2[0] == r assert self.d1 == self.d2
def test_init(self): d1 = self.getDoc() d2 = self.getDoc() d3 = self.getDoc() # init with empty to full parameters we1 = GenericWorkflowEngine() we2 = GenericWorkflowEngine(callback_chooser=asterisk_chooser) try: we3 = GenericWorkflowEngine(processing_factory='x', callback_chooser='x', before_processing='x', after_processing='x') except Exception as msg: assert 'must be a callable' in str(msg) try: we3 = GenericWorkflowEngine(callback_chooser=asterisk_chooser, after_processing='x') except Exception as msg: assert 'must be a callable' in str(msg) we1.addManyCallbacks('*', [ m('mouse'), [m('dog'), call_forward(1), m('cat'), m('puppy')], m('horse'), ]) we2.addManyCallbacks('*', [ m('mouse'), [m('dog'), call_forward(1), m('cat'), m('puppy')], m('horse'), ]) we1.process(d1) we2.process(d2)