class OpenWfeXmlReaderTest(unittest.TestCase): def setUp(self): self.reader = OpenWfeXmlReader() self.taken_path = [] def on_reached_cb(self, workflow, instance): on_reached_cb(workflow, instance, []) instance.set_attribute(test_attribute1='false') instance.set_attribute(test_attribute2='true') return True def testParseString(self): self.assertRaises(ExpatError, self.reader.parse_string, '') self.reader.parse_string('<xml></xml>') def testParseFile(self): # File not found. self.assertRaises(IOError, self.reader.parse_file, 'foo') # 0 byte sized file. self.assertRaises( ExpatError, self.reader.parse_file, os.path.join(os.path.dirname(__file__), 'xml/empty1.xml')) # File containing only "<xml></xml>". self.reader.parse_file( os.path.join(os.path.dirname(__file__), 'xml/empty2.xml')) # Read a complete workflow. self.reader.parse_file( os.path.join(os.path.dirname(__file__), 'xml/openwfe/workflow1.xml')) def testRunWorkflow(self): filename = os.path.join(os.path.dirname(__file__), 'xml/openwfe/workflow1.xml') wf_specs = self.reader.parse_file(filename) wf_spec = wf_specs[0] for name in wf_spec.task_specs: wf_spec.task_specs[name].reached_event.connect(self.on_reached_cb) wf_spec.task_specs[name].completed_event.connect( on_complete_cb, self.taken_path) workflow = Workflow(wf_spec) try: workflow.complete_all() except: workflow.dump() raise path = [(1, 'Start'), (2, 'concurrence_1'), (3, 'task_a1'), (4, 'task_a2'), (5, 'if_condition_1'), (6, 'task_a3'), (7, 'if_condition_1_end'), (8, 'if_condition_2'), (9, 'task_a5'), (10, 'if_condition_2_end'), (3, 'task_b1'), (4, 'task_b2'), (5, 'concurrence_1_end'), (6, 'task_c1'), (7, 'task_c2'), (8, 'End')] assert_same_path(self, path, self.taken_path)
def setUp(self): self.reader = OpenWfeXmlReader() self.taken_path = []
class OpenWfeXmlReaderTest(unittest.TestCase): def setUp(self): self.reader = OpenWfeXmlReader() self.taken_path = [] def on_reached_cb(self, workflow, instance): on_reached_cb(workflow, instance, []) instance.set_attribute(test_attribute1 = 'false') instance.set_attribute(test_attribute2 = 'true') return True def testParseString(self): self.assertRaises(ExpatError, self.reader.parse_string, '') self.reader.parse_string('<xml></xml>') def testParseFile(self): # File not found. self.assertRaises(IOError, self.reader.parse_file, 'foo') # 0 byte sized file. self.assertRaises(ExpatError, self.reader.parse_file, os.path.join(os.path.dirname(__file__), 'xml/empty1.xml')) # File containing only "<xml></xml>". self.reader.parse_file(os.path.join(os.path.dirname(__file__), 'xml/empty2.xml')) # Read a complete workflow. self.reader.parse_file(os.path.join(os.path.dirname(__file__), 'xml/openwfe/workflow1.xml')) def testRunWorkflow(self): filename = os.path.join(os.path.dirname(__file__), 'xml/openwfe/workflow1.xml') wf_specs = self.reader.parse_file(filename) wf_spec = wf_specs[0] for name in wf_spec.task_specs: wf_spec.task_specs[name].reached_event.connect(self.on_reached_cb) wf_spec.task_specs[name].completed_event.connect(on_complete_cb, self.taken_path) workflow = Workflow(wf_spec) try: workflow.complete_all() except: workflow.dump() raise path = [( 1, 'Start'), ( 2, 'concurrence_1'), ( 3, 'task_a1'), ( 4, 'task_a2'), ( 5, 'if_condition_1'), ( 6, 'task_a3'), ( 7, 'if_condition_1_end'), ( 8, 'if_condition_2'), ( 9, 'task_a5'), (10, 'if_condition_2_end'), ( 3, 'task_b1'), ( 4, 'task_b2'), ( 5, 'concurrence_1_end'), ( 6, 'task_c1'), ( 7, 'task_c2'), ( 8, 'End')] assert_same_path(self, path, self.taken_path)