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)
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)
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)
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)