def test_RUN_WF01(self): """Test wfe is reinit=False, eng must remember previous invocations""" we = GenericWorkflowEngine() doc = self.getDoc()[0:1] we.setWorkflow([ i('start'), ut.RUN_WF( [ lambda obj, eng: obj.append('bom'), lambda obj, eng: obj.append('bam'), lambda obj, eng: obj.append('bum'), lambda obj, eng: obj.append('end'), lambda obj, eng: obj. append(eng.store.setdefault('eng-end', '')), e('eng-end', 'eng-end') ], data_connector=lambda obj, eng: [obj], outkey='#wfe', ), ]) we.process(doc) d = ' '.join(doc[0]) assert 'start' in d assert 'bom' in d assert 'bam' in d assert 'bum' in d assert 'end' in d assert 'eng-end' not in d # run the same thing again we.process(doc) d = ' '.join(doc[0]) assert 'start' in d assert d.count('bom') == 2 assert d.count('bam') == 2 assert d.count('bum') == 2 assert 'end' in d assert 'eng-end' in d # now it must be present
def test_RUN_WF02(self): """Test wfe is reinit=True - eng must not remember""" we = GenericWorkflowEngine() doc = self.getDoc()[0:1] we.callbacks.replace([ i('start'), ut.RUN_WF([ lambda obj, eng: obj.append('bom'), lambda obj, eng: obj.append('bam'), lambda obj, eng: obj.append('bum'), lambda obj, eng: obj.append('end'), lambda obj, eng: obj. append(eng.store.setdefault('eng-end', '')), e('eng-end', 'eng-end') ], data_connector=lambda obj, eng: [obj], outkey='#wfe', reinit=True), ]) we.process(doc) d = ' '.join(doc[0]) assert 'start' in d assert 'bom' in d assert 'bam' in d assert 'bum' in d assert 'end' in d assert 'eng-end' not in d # run the same thing again we.process(doc) d = ' '.join(doc[0]) assert 'start' in d assert d.count('bom') == 2 assert d.count('bam') == 2 assert d.count('bum') == 2 assert 'end' in d assert 'eng-end' not in d # it must not be present if reinit=True