code: def test_transform_steps_work_without_step_config(
      tmp_recipe_root_path, recipe
  ):
      recipe_yaml = tmp_recipe_root_path.joinpath(
          _RECIPE_CONFIG_FILE_NAME
      )
      experiment_name = "demo"
      MlflowClient().create_experiment(experiment_name)
  
      recipe_yaml.write_text(
          """
          recipe: {recipe}
          target_col: "y"
          {positive_class}
          experiment:
            name: {experiment_name}
            tracking_uri: {tracking_uri}
          steps:
            fakestep:
              something: else
          """.format(
              tracking_uri=mlflow.get_tracking_uri(),
              experiment_name=experiment_name,
              recipe=recipe,
              positive_class='positive_class: "a"'
              if recipe == "regression/v1"
              else "",
          )
      )
      recipe_config = read_yaml(
          tmp_recipe_root_path, _RECIPE_CONFIG_FILE_NAME
      )
      transform_step = TransformStep.from_recipe_config(
          recipe_config, str(tmp_recipe_root_path)
      )
      transform_step._validate_and_apply_step_config()
  
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 4 for calling a global function with example usage: test_transform_steps_work_without_step_config(tmp_recipe_root_path, recipe) without return types