code: def test_run_recipe_step_returns_expected_result(test_recipe):
      ingest_step, split_step, _ = test_recipe
  
      assert (
          run_test_recipe_step(test_recipe, ingest_step) == ingest_step
      )
      assert run_test_recipe_step(test_recipe, split_step) == split_step
      assert (
          run_test_recipe_step(test_recipe, ingest_step) == ingest_step
      )
  
      ingest_step_bad = IngestStep.from_recipe_config(
          recipe_config={
              "target_col": "C",
              "steps": {
                  "ingest": {
                      "using": "parquet",
                      "location": "badlocation",
                  }
              },
          },
          recipe_root=os.getcwd(),
      )
  
      assert (
          run_test_recipe_step(
              [ingest_step_bad, split_step], ingest_step_bad
          )
          == ingest_step_bad
      )
      assert (
          run_test_recipe_step(
              [ingest_step_bad, split_step], split_step
          )
          == ingest_step_bad
      )
  
imports: import os
  import pathlib
  import shutil
  import time
  from unittest import mock
  import pandas
  import pytest
  from mlflow.environment_variables import MLFLOW_RECIPES_EXECUTION_TARGET_STEP_NAME
  from mlflow.recipes import Recipe
  from mlflow.recipes.step import StepStatus
  from mlflow.recipes.steps.ingest import IngestStep
  from mlflow.recipes.steps.split import SplitStep
  from mlflow.recipes.steps.transform import TransformStep
  from mlflow.recipes.utils.execution import _ExecutionPlan, _get_or_create_execution_directory, get_step_output_path, run_recipe_step
  from tests.recipes.helper_functions import BaseStepImplemented
label_desc: Use image node_id 12 for calling a global function with example usage: test_run_recipe_step_returns_expected_result(test_recipe) without return types