code: def test_auto_model_template():
      df = pd.DataFrame(
          {
              "ts": pd.date_range("2020-01-01", freq="D", periods=60),
              "y": range(60),
          }
      )
      config = ForecastConfig(
          model_template=ModelTemplateEnum.AUTO.name,
          forecast_horizon=1,
          metadata_param=MetadataParam(
              time_col="ts", value_col="y", freq="D"
          ),
          evaluation_period_param=EvaluationPeriodParam(
              cv_max_splits=1, test_horizon=0
          ),
      )
      forecaster = Forecaster()
      forecaster.apply_forecast_config(df=df, config=config)
      assert (
          forecaster.config.model_template
          == ModelTemplateEnum.SILVERKITE_DAILY_1_CONFIG_1.name
      )
  
      # Not able to infer frequency, so the default is SILVERKITE
      df = df.drop(
          [1, 24, 55]
      )  # drops rows within every block size of 20
      config.metadata_param.freq = None
      forecaster = Forecaster()
      assert (
          forecaster._Forecaster__get_model_template(df, config)
          == ModelTemplateEnum.SILVERKITE.name
      )
      forecaster.apply_forecast_config(df=df, config=config)
      assert (
          forecaster.config.model_template
          == ModelTemplateEnum.SILVERKITE.name
      )
  
imports: import sys
  import warnings
  from enum import Enum
  import numpy
  import pandas
  import pytest
  from testfixtures import LogCapture
  from greykite.common.constants import LOGGER_NAME
  from greykite.common.constants import PREDICTED_LOWER_COL
  from greykite.common.constants import PREDICTED_UPPER_COL
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import VALUE_COL
  from greykite.common.data_loader import DataLoader
  from greykite.common.evaluation import EvaluationMetricEnum
  from greykite.common.python_utils import assert_equal
  from greykite.common.testing_utils import generate_df_for_tests
  from greykite.common.testing_utils import generate_df_with_reg_for_tests
  from greykite.framework.templates.autogen.forecast_config import ComputationParam
  from greykite.framework.templates.autogen.forecast_config import EvaluationMetricParam
  from greykite.framework.templates.autogen.forecast_config import EvaluationPeriodParam
  from greykite.framework.templates.autogen.forecast_config import ForecastConfig
  from greykite.framework.templates.autogen.forecast_config import MetadataParam
  from greykite.framework.templates.autogen.forecast_config import ModelComponentsParam
  from greykite.framework.templates.forecaster import Forecaster
  from greykite.framework.templates.model_templates import ModelTemplate
  from greykite.framework.templates.model_templates import ModelTemplateEnum
  from greykite.framework.templates.prophet_template import ProphetTemplate
  from greykite.framework.templates.silverkite_template import SilverkiteTemplate
  from greykite.framework.templates.simple_silverkite_template import SimpleSilverkiteTemplate
  from greykite.framework.templates.simple_silverkite_template_config import SILVERKITE_COMPONENT_KEYWORDS
  from greykite.framework.templates.simple_silverkite_template_config import SimpleSilverkiteTemplateOptions
  from greykite.framework.utils.framework_testing_utils import assert_basic_pipeline_equal
  from greykite.framework.utils.framework_testing_utils import assert_forecast_pipeline_result_equal
  from greykite.framework.utils.framework_testing_utils import check_forecast_pipeline_result
  from greykite.framework.utils.result_summary import summarize_grid_search_results
label_desc: Use image node_id 12 for calling a global function with example usage: test_auto_model_template() without return types