コード例 #1
0
ファイル: test_objects.py プロジェクト: vecin2/cedtask
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()
コード例 #2
0
def test_replace_formProcess_popup():
    logger = FakeLogger()
    source = full_path("processExamples/FormProcessQuestionPopup.xml")
    package_entry = SourceObjectParser().parse(source)
    popupquestion = package_entry.process_definition.find("PopupQuestionNode")
    assert "Error" == popupquestion.get("question")
    replace(logger, os.path.dirname(source))

    package_entry = SourceObjectParser().parse(source)
    data_flow = package_entry.process_definition.find("DataFlow")
    assert "fieldStore0" == data_flow.find("FromNode").get("name")
    assert "invalidUsername" == 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")
    assert '"The usename is not valid"' ==\
            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.ERROR_TYPE' ==\
            verbatim.text.strip()
コード例 #3
0
ファイル: test_objects.py プロジェクト: vecin2/cedtask
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()
コード例 #4
0
def test_simple_file():
    #parser = ET.XMLParser(strip_cdata=False)
    source = "test/processExamples/SimpleValidationMessageDialogCopy.xml"
    #tree = ET.parse(source, parser)
    #target ="test/processExamples/SimpleValidationMessageDialog1.xml"
    #tree.getroot().text = ET.CDATA('"This is a string"')
    #content = ET.tostring(tree.getroot(),encoding='unicode')
    package_entry = SourceObjectParser().parse(source)
    package_entry.save()
コード例 #5
0
ファイル: test_objects.py プロジェクト: vecin2/cedtask
def test_get_package_entry_null_if_not_found(fs):
    source=full_path("processExamples/MainProcess/ValidationProcess/SubValidationProcess.xml")
    fs.add_real_file(source)
    fs.add_real_file(full_path("processExamples/MainProcess/ValidationProcess.xml"))
    #we do not add main

    validation_process_def= SourceObjectParser().parse(source)
    package_entry = validation_process_def.get_main_process()

    assert None == package_entry
コード例 #6
0
ファイル: test_objects.py プロジェクト: vecin2/cedtask
def test_get_package_entry_from_process_definition(fs):
    source=full_path("processExamples/MainProcess/ValidationProcess.xml")
    fs.add_real_file(source)
    outer_filepath=full_path("processExamples/MainProcess.xml")
    fs.add_real_file(outer_filepath)

    validation_process_def= SourceObjectParser().parse(source)
    package_entry = validation_process_def.get_main_process()

    assert outer_filepath == package_entry.filepath
コード例 #7
0
ファイル: test_objects.py プロジェクト: vecin2/cedtask
def test_get_package_entry_from_process_definition_recursive(fs):
    source=full_path("processExamples/MainProcess/ValidationProcess/SubValidationProcess.xml")
    fs.add_real_file(source)
    fs.add_real_file(full_path("processExamples/MainProcess/ValidationProcess.xml"))
    main_process=full_path("processExamples/MainProcess.xml")
    fs.add_real_file(main_process)

    validation_process_def= SourceObjectParser().parse(source)
    package_entry = validation_process_def.get_main_process()

    assert main_process == package_entry.filepath
コード例 #8
0
 def visit_file(self, dirpath, name):
     if name.lower().endswith(".xml"):
         filepath = os.path.join(dirpath, name)
         parser = ET.XMLParser(strip_cdata=False)
         tree = ET.parse(filepath, parser)
         f = self.get_visitor(tree)
         if f is not None:
             ced_object = SourceObjectParser().parse_xml_tree(tree)
             ced_object.filepath = filepath
             return f(ced_object)
         return None
コード例 #9
0
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"))
コード例 #10
0
def test_read_fromfile_popup():
    logger = FakeLogger()
    source = full_path("processExamples/SimpleValidationQuestionPopup.xml")
    script_dir = os.path.dirname(__file__)
    paths_file = script_dir + "/tmp/my_paths.txt"
    with open(paths_file, 'w') as f:
        f.write(source)

    package_entry = SourceObjectParser().parse(source)

    replace(logger, file_with_paths=paths_file)
    message = "Replacing 1 popup(s) for '/home/dgarcia/dev/python/cedtask/test/tmp/test_processes/processExamples/SimpleValidationQuestionPopup.xml'"
    assert "INFO " + message == logger.lines[1]
    package_entry = SourceObjectParser().parse(source)
    data_flow = package_entry.process_definition.find("DataFlow")
    assert "fieldStore0" == data_flow.find("FromNode").get("name")
コード例 #11
0
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]
コード例 #12
0
ファイル: test_objects.py プロジェクト: vecin2/cedtask
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()
コード例 #13
0
def test_replace_inner_formProcess_popup():
    logger = FakeLogger()
    source = full_path("processExamples/MainProcess/ValidationFormProcess.xml")
    main = full_path("processExamples/MainProcess.xml")

    form_process = SourceObjectParser().parse(source)
    popupquestion = form_process.process_definition.find("PopupQuestionNode")
    assert "Error" == popupquestion.get("question")

    replace(logger, os.path.dirname(source))

    package_entry = SourceObjectParser().parse(source)
    assert ["FrameworkCommon.API.PopUpQuestion.MessageDialog"
            ] == package_entry.get_main_process().imports()
    data_flow = package_entry.process_definition.find("DataFlow")
    assert "fieldStore0" == data_flow.find("FromNode").get("name")
    assert "invalidPassword" == 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")
    assert '"Please make sure you password is correct"' ==\
            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.ERROR_TYPE' ==\
            verbatim.text.strip()
コード例 #14
0
ファイル: test_objects.py プロジェクト: vecin2/cedtask
def test_package_entry_replace_popupQuestionNode(fs):
    source=full_path("processExamples/SimpleValidationQuestionPopup.xml")
    fs.add_real_file(source)
    package_entry = SourceObjectParser().parse(source)
    popup_question =package_entry.process_definition.find("PopupQuestionNode")
    assert 4 == package_entry.process_def_index(popup_question)
    assert "noCustomersFound"== popup_question.attrib['name']
    assert "noCustomersFound"== popup_question.get('displayName')
    assert "198"== popup_question.attrib['x']
    assert "48"== popup_question.attrib['y']

    package_entry.replace_node_ref(popup_question, "MessageDialog")

    assert not list(package_entry.iter("PopupQuestionNode"))
    message_dialog= package_entry.process_definition.find("ChildProcess")
    assert 4 == package_entry.process_def_index(message_dialog)
    assert "noCustomersFound" == message_dialog.attrib["name"]
    assert "198"== message_dialog.attrib['x']
    assert "48"== message_dialog.attrib['y']
    assert ""== message_dialog.get('displayName')
    assert "false"== message_dialog.get('executeAsAsynchronous')
    assert "false"== message_dialog.get('waitOnParent')
    assert "MessageDialog" == message_dialog.find("ProcessDefinitionReference").attrib["name"]
コード例 #15
0
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")
コード例 #16
0
ファイル: test_objects.py プロジェクト: vecin2/cedtask
def test_process_definition(fs):
    source=full_path("processExamples/MainProcess/ValidationProcess.xml")
    fs.add_real_file(source)
    process_definition = SourceObjectParser().parse(source)
    assert None is not process_definition.root.find("ProcessDefinition")
コード例 #17
0
ファイル: test_objects.py プロジェクト: vecin2/cedtask
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()