code: def test_get_basic_pipeline():
      """Tests get_basic_pipeline with default parameters"""
      estimator = ProphetEstimator()
      pipeline = get_basic_pipeline(
          estimator=estimator,
          score_func=EvaluationMetricEnum.MeanSquaredError.name,
          score_func_greater_is_better=False,
          agg_periods=None,
          agg_func=None,
          relative_error_tolerance=None,
          coverage=0.95,
          null_model_params=None,
          regressor_cols=["regressor1", "regressor2"],
      )
      # checks classes
      assert pipeline.steps[-1][-1] is not estimator
      assert isinstance(pipeline.steps[-1][-1], ProphetEstimator)
      assert pipeline.steps[-1][-1].coverage == 0.95  # set to 0.95
      assert pipeline.steps[-1][-1].score_func
      assert estimator.score_func == mean_squared_error  # not modified
      assert isinstance(
          pipeline.named_steps["input"]
          .transformer_list[0][1]
          .named_steps["select_date"],
          ColumnSelector,
      )
      # checks length of each part of the pipeline
      assert len(pipeline) == 3  # features, degenerate, estimator
      assert (
          len(pipeline.named_steps["input"].transformer_list) == 4
      )  # date, numeric, regressors x2
      assert (
          len(
              pipeline.named_steps["input"]
              .transformer_list[1][1]
              .named_steps
          )
          == 3
      )  # select_val, outlier, null
      # checks date ColumnSelector parameters
      assert (
          pipeline.named_steps["input"].transformer_list[0][0] == "date"
      )
      assert (
          pipeline.named_steps["input"]
          .transformer_list[0][1]
          .named_steps["select_date"]
          .column_names[0]
          == "ts"
      )
      # checks value column transformation parameters
      assert (
          pipeline.named_steps["input"].transformer_list[1][0]
          == "response"
      )
      assert (
          pipeline.named_steps["input"]
          .transformer_list[1][1]
          .named_steps["outlier"]
          .z_cutoff
          is None
      )
      assert (
          pipeline.named_steps["input"]
          .transformer_list[1][1]
          .named_steps["null"]
          .impute_algorithm
          == "interpolate"
      )
      # checks regressor column transformation parameters
      assert (
          pipeline.named_steps["input"].transformer_list[2][0]
          == "regressors_numeric"
      )
      assert pipeline.named_steps["input"].transformer_list[2][
          1
      ].named_steps["select_reg"].column_names == [
          "regressor1",
          "regressor2",
      ]
      assert (
          pipeline.named_steps["input"]
          .transformer_list[2][1]
          .named_steps["outlier"]
          .z_cutoff
          is None
      )
      assert (
          pipeline.named_steps["input"]
          .transformer_list[2][1]
          .named_steps["normalize"]
          .normalize_algorithm
          is None
      )
      assert (
          pipeline.named_steps["input"]
          .transformer_list[2][1]
          .named_steps["null"]
          .impute_algorithm
          == "interpolate"
      )
      assert (
          pipeline.named_steps["input"].transformer_list[3][0]
          == "regressors_other"
      )
      # checks degenerate parameters
      assert pipeline.named_steps["degenerate"].drop_degenerate is False
      # checks estimator parameters
      assert pipeline.steps[-1][-1].growth == "linear"
      assert pipeline.steps[-1][-1].n_changepoints == 25
      assert pipeline.steps[-1][-1].uncertainty_samples == 1000
      assert pipeline.steps[-1][-1].coverage == 0.95
      assert pipeline.steps[-1][-1].null_model_params is None
      assert_eval_function_equal(
          pipeline.steps[-1][-1].score_func,
          EvaluationMetricEnum.MeanSquaredError.get_metric_func(),
      )
  
imports: import sys
  import warnings
  from functools import partial
  import numpy
  import pandas
  import pytest
  from scipy.stats import randint
  from sklearn.metrics import mean_absolute_error
  from sklearn.metrics import mean_squared_error
  from sklearn.metrics import median_absolute_error
  from sklearn.pipeline import Pipeline
  from testfixtures import LogCapture
  from greykite.common import constants
  from greykite.common.constants import FRACTION_OUTSIDE_TOLERANCE
  from greykite.common.constants import LOGGER_NAME
  from greykite.common.evaluation import EvaluationMetricEnum
  from greykite.common.evaluation import add_preaggregation_to_scorer
  from greykite.common.evaluation import fraction_outside_tolerance
  from greykite.common.python_utils import assert_equal
  from greykite.common.testing_utils import assert_eval_function_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.constants import CUSTOM_SCORE_FUNC_NAME
  from greykite.framework.constants import CV_REPORT_METRICS_ALL
  from greykite.framework.constants import FRACTION_OUTSIDE_TOLERANCE_NAME
  from greykite.framework.pipeline.utils import get_basic_pipeline
  from greykite.framework.pipeline.utils import get_best_index
  from greykite.framework.pipeline.utils import get_default_time_parameters
  from greykite.framework.pipeline.utils import get_forecast
  from greykite.framework.pipeline.utils import get_hyperparameter_searcher
  from greykite.framework.pipeline.utils import get_score_func_with_aggregation
  from greykite.framework.pipeline.utils import get_scoring_and_refit
  from greykite.framework.utils.framework_testing_utils import assert_proper_grid_search
  from greykite.framework.utils.framework_testing_utils import assert_refit
  from greykite.framework.utils.framework_testing_utils import assert_scoring
  from greykite.sklearn.cross_validation import RollingTimeSeriesSplit
  from greykite.sklearn.estimator.null_model import DummyEstimator
  from greykite.sklearn.estimator.prophet_estimator import ProphetEstimator
  from greykite.sklearn.estimator.silverkite_estimator import SilverkiteEstimator
  from greykite.sklearn.transform.column_selector import ColumnSelector
label_desc: Use image node_id 3 for calling a global function with example usage: test_get_basic_pipeline() without return types