code: def dummy_transform_step(tmp_recipe_root_path, monkeypatch):
      # `mock.patch("steps.transform.transformer_fn", ...)` would fail without this fixture
      steps = tmp_recipe_root_path / "steps"
      steps.mkdir(exist_ok=True)
      steps.joinpath("transform.py").write_text(
          """
  def transformer_fn(estimator_params=None):
      return None
  """
      )
      monkeypatch.syspath_prepend(str(tmp_recipe_root_path))
  
file_path: mlflow/tests/recipes/test_transform_step.py
imports: import os
  from pathlib import Path
  from unittest import mock
  import pandas
  import pytest
  import mlflow
  from mlflow import MlflowClient
  from mlflow.environment_variables import MLFLOW_RECIPES_EXECUTION_DIRECTORY
  from mlflow.exceptions import MlflowException
  from mlflow.recipes.steps.transform import TransformStep, _validate_user_code_output
  from mlflow.recipes.utils import _RECIPE_CONFIG_FILE_NAME
  from mlflow.utils.file_utils import read_yaml
label_desc: Use image node_id 1 for calling a global function with example usage: dummy_transform_step(tmp_recipe_root_path, monkeypatch) without return types