Exemple #1
0
def test_runtime_values(caplog):
    state_machine_manager.delete_all_state_machines()

    sm = state_machine_execution_engine.execute_state_machine_from_path(
        path=testing_utils.get_test_sm_path(os.path.join("unit_test_state_machines", "library_runtime_value_test")))
    state_machine_manager.remove_state_machine(sm.state_machine_id)
    assert sm.root_state.output_data["data_output_port1"] == 114
    testing_utils.assert_logger_warnings_and_errors(caplog)
Exemple #2
0
def test_error_propagation(caplog):
    testing_utils.initialize_environment_core()

    sm = state_machine_execution_engine.execute_state_machine_from_path(
        path=testing_utils.get_test_sm_path(
            os.path.join("unit_test_state_machines",
                         "error_propagation_test")))
    state_machine_manager.remove_state_machine(sm.state_machine_id)
    try:
        assert sm.root_state.output_data["error_check"] == "successfull"
    finally:
        testing_utils.shutdown_environment_only_core(caplog=caplog,
                                                     expected_warnings=0,
                                                     expected_errors=2)
Exemple #3
0
def test_multi_events(caplog):
    testing_utils.initialize_environment_core()

    execution_trigger_thread = threading.Thread(target=trigger_exectuion_engine,
                                                args=[global_variable_manager, state_machine_execution_engine])
    execution_trigger_thread.start()

    sm = state_machine_execution_engine.execute_state_machine_from_path(
        path=testing_utils.get_test_sm_path(os.path.join("unit_test_state_machines", "multi_events_test")))

    execution_trigger_thread.join()
    state_machine_manager.remove_state_machine(sm.state_machine_id)
    try:
        assert global_variable_manager.get_variable("sm_status") == 2
    finally:
        testing_utils.shutdown_environment_only_core(caplog=caplog, expected_warnings=0, expected_errors=0)
Exemple #4
0
def test_error_propagation(caplog, recompile):
    testing_utils.initialize_environment_core(
        {"SCRIPT_RECOMPILATION_ON_STATE_EXECUTION": recompile})

    sm = state_machine_execution_engine.execute_state_machine_from_path(
        path=testing_utils.get_test_sm_path(
            os.path.join("unit_test_state_machines",
                         "error_propagation_test")))
    state_machine_manager.remove_state_machine(sm.state_machine_id)
    try:
        assert sm.root_state.output_data["error_check"] == "successfull"
    finally:
        if recompile:
            testing_utils.shutdown_environment_only_core(caplog=caplog,
                                                         expected_warnings=0,
                                                         expected_errors=2)
        else:
            testing_utils.shutdown_environment_only_core(caplog=caplog,
                                                         expected_warnings=0,
                                                         expected_errors=3)