code: def test_run_forecast_config():
      """Tests `run_forecast_config`"""
      data = generate_df_for_tests(freq="H", periods=14 * 24)
      df = data["df"]
  
      # Checks if exception is raised
      with pytest.raises(ValueError, match="is not recognized"):
          forecaster = Forecaster()
          forecaster.run_forecast_config(
              df=df,
              config=ForecastConfig(model_template="unknown_template"),
          )
      with pytest.raises(ValueError, match="is not recognized"):
          forecaster = Forecaster()
          forecaster.run_forecast_json(
              df=df,
              json_str="""{ "model_template": "unknown_template" }""",
          )
  
      # All run_forecast_config* functions return the same result for the default config,
      # call forecast_pipeline, and return a result with the proper format.
      np.random.seed(123)
      forecaster = Forecaster()
      default_result = forecaster.run_forecast_config(df=df)
      score_func = EvaluationMetricEnum.MeanAbsolutePercentError.name
      check_forecast_pipeline_result(
          default_result,
          coverage=None,
          strategy=None,
          score_func=score_func,
          greater_is_better=False,
      )
      assert_equal(forecaster.forecast_result, default_result)
  
      np.random.seed(123)
      forecaster = Forecaster()
      json_result = forecaster.run_forecast_json(df=df)
      check_forecast_pipeline_result(
          json_result,
          coverage=None,
          strategy=None,
          score_func=score_func,
          greater_is_better=False,
      )
      assert_forecast_pipeline_result_equal(
          json_result, default_result, rel=0.02
      )
  
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 6 for calling a global function with example usage: test_run_forecast_config() without return types