def test_add_import_to_existing_imports(fs): source=full_path("processExamples/SimpleValidationMessageDialog.xml") fs.add_real_file(source) package_entry = SourceObjectParser().parse(source) import3='FrameworkCommon.API.PopUpQuestion.ConfirmationDialog' package_entry.add_import(import3) assert [import3,import1,import2] == package_entry.imports()
def test_add_first_imports(fs): source=full_path("processExamples/EmptyProcess.xml") fs.add_real_file(source) package_entry = SourceObjectParser().parse(source) package_entry.add_import(import1) package_entry.add_import(import2) assert [import2,import1] == package_entry.imports()
def test_add_duplicate_import_adds_nothing(fs): source=full_path("processExamples/EmptyProcess.xml") fs.add_real_file(source) package_entry = SourceObjectParser().parse(source) import3='FrameworkCommon.API.PopUpQuestion.ConfirmationDialog' package_entry.add_import(import3) package_entry.add_import(import3) assert [import3] == package_entry.imports()
def test_replaces_multiple_popups(): logger = FakeLogger() source = full_path("processExamples/MultiplePopups.xml") package_entry = SourceObjectParser().parse(source) assert 2 == len( list(package_entry.process_definition.findall("PopupQuestionNode"))) replace(logger, os.path.dirname(source)) assert "INFO Replacing 2 popup(s) for '" + source + "'" == logger.lines[1] assert "INFO 1 Processes found containing PopupQuestions" == logger.lines[ 2] package_entry = SourceObjectParser().parse(source) assert "FrameworkCommon.API.PopUpQuestion.MessageDialog" in package_entry.imports( ) assert None == package_entry.process_definition.find("PopupQuestionNode") assert 1 == len(package_entry.process_definition.findall("ThisNode"))
def test_replace_inner_process(): logger = FakeLogger() source = full_path( "processExamples/MainProcess/ValidationProcess/SubValidationProcess.xml" ) parent = full_path("processExamples/MainProcess/ValidationProcess.xml") main = full_path("processExamples/MainProcess.xml") process_definition = SourceObjectParser().parse(source) assert process_definition.root.find("PopupQuestionNode") is not None replace(logger, os.path.dirname(source)) process_definition = SourceObjectParser().parse(source) assert None == process_definition.root.find("PopupQuestionNode") main_process = SourceObjectParser().parse(main) assert "FrameworkCommon.API.PopUpQuestion.MessageDialog" in main_process.imports( ) assert "INFO 1 Processes found containing PopupQuestions" == logger.lines[ 2]
def test_imports(fs): source=full_path("processExamples/SimpleValidationMessageDialog.xml") fs.add_real_file(source) package_entry = SourceObjectParser().parse(source) assert [import1,import2] == package_entry.imports()
def test_replaces_one_popup(): logger = FakeLogger() source = full_path(validation_process) package_entry = SourceObjectParser().parse(source) assert package_entry.process_definition.find( "PopupQuestionNode") is not None assert "noCustomersFound" == package_entry.process_definition.find( "PopupQuestionNode").get("name") assert "198" == package_entry.process_definition.find( "PopupQuestionNode").get("x") assert "48" == package_entry.process_definition.find( "PopupQuestionNode").get("y") replace(logger, os.path.dirname(source)) assert "INFO 1 Processes found containing PopupQuestions" == logger.lines[ 2] assert "INFO Replacing 1 popup(s) for '" + source + "'" == logger.lines[1] package_entry = SourceObjectParser().parse(source) assert "FrameworkCommon.API.PopUpQuestion.MessageDialog" in package_entry.imports( ) assert None == package_entry.process_definition.find("PopupQuestionNode") message_dialog_node = package_entry.process_definition.find("ChildProcess") assert message_dialog_node is not None assert "MessageDialog" == message_dialog_node.find( "ProcessDefinitionReference").get("name") assert "fieldStore0" == package_entry.process_definition.find( "ThisNode").get("name") assert "148" == package_entry.process_definition.find("ThisNode").get("x") assert "128" == package_entry.process_definition.find("ThisNode").get("y") data_flow = package_entry.process_definition.find("DataFlow") assert "fieldStore0" == data_flow.find("FromNode").get("name") assert "noCustomersFound" == data_flow.find("ToNode").get("name") data_flow_entries = data_flow.findall("DataFlowEntry") line1_from = data_flow_entries[0].find("FromField") parameter_assigment = line1_from.find("ParameterAssignment") assert "0" == parameter_assigment.get("exceptionStrategy") assert "EcmaScript" == parameter_assigment.get("language") assert "" == parameter_assigment.get("name") assert "" == parameter_assigment.get("version") verbatim = parameter_assigment.find("Verbatim") assert "text" == verbatim.get("fieldName") text = '"The search criteria retrieved no Customers"' assert text==\ verbatim.text.strip() message_type = data_flow_entries[1].find("FromField") parameter_assigment = message_type.find("ParameterAssignment") assert "0" == parameter_assigment.get("exceptionStrategy") assert "EcmaScript" == parameter_assigment.get("language") assert "" == parameter_assigment.get("name") assert "" == parameter_assigment.get("version") verbatim = parameter_assigment.find("Verbatim") assert "text" == verbatim.get("fieldName") assert 'MessageDialog.INFORMATION_TYPE' ==\ verbatim.text.strip() line1 = data_flow.find("DataFlowEntry").find("ToField") assert "line1" == line1.find("FieldDefinitionReference").get("name") assert "The search criteria retrieved no Customers" graph_node_list = data_flow.find("GraphNodeList") assert "" == graph_node_list.get("name") graph_node = graph_node_list.find("GraphNode") assert "" == graph_node.get("icon") assert "true" == graph_node.get("isLabelHolder") assert "" == graph_node.get("label") assert "" == graph_node.get("name") assert "198" == graph_node.get("x") assert "128" == graph_node.get("y")