code: def test_recipe(
      enter_test_recipe_directory, pandas_df, tmp_path
  ):  # pylint: disable=unused-argument
      dataset_path = tmp_path / "df.parquet"
      pandas_df.to_parquet(dataset_path)
      ingest_step = IngestStep.from_recipe_config(
          recipe_config={
              "target_col": "C",
              "steps": {
                  "ingest": {
                      "using": "parquet",
                      "location": str(dataset_path),
                  }
              },
          },
          recipe_root=os.getcwd(),
      )
      split_step = SplitStep.from_recipe_config(
          recipe_config={
              "target_col": "C",
              "steps": {
                  "split": {
                      "split_ratios": [0.34, 0.33, 0.33],
                  },
              },
          },
          recipe_root=os.getcwd(),
      )
      with open(
          pathlib.Path().cwd() / "steps" / "transform.py", "w"
      ) as f:
          f.write(
              "\n".join(
                  [
                      "from sklearn.pipeline import Pipeline",
                      "from sklearn.preprocessing import FunctionTransformer",
                      "",
                      "def add_column(df):",
                      "    df['useless'] = 'useless'",
                      "    return df",
                      "",
                      "def transform_fn():",
                      "    return Pipeline(steps=[('add_column', FunctionTransformer(add_column))])",
                  ]
              )
          )
      transform_step = TransformStep.from_recipe_config(
          recipe_config={
              "target_col": "C",
              "steps": {
                  "transform": {
                      "using": "custom",
                      "transformer_method": "transform_fn",
                  },
              },
          },
          recipe_root=os.getcwd(),
      )
      return [ingest_step, split_step, transform_step]
  
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 2 for calling a global function with example usage: test_recipe(enter_test_recipe_directory, pandas_df, tmp_path) and returns: list