code: def test_uncertainty_fail(df, forecast_config):
      """Tests the pipeline won't fail when uncertainty fails."""
      with LogCapture(LOGGER_NAME) as log_capture:
          forecast_config.coverage = 0.95
          forecast_config.model_components_param.uncertainty = dict(
              uncertainty_dict=dict(
                  uncertainty_method=UncertaintyMethodEnum.simple_conditional_residuals.name,
                  params=dict(conditional_cols=["dowww"]),
              )
          )
          forecaster = Forecaster()
          forecast_result = forecaster.run_forecast_config(
              df=df, config=forecast_config
          )
          # The forecast is still generated.
          assert forecast_result.forecast is not None
          assert (
              LOGGER_NAME,
              "WARNING",
              "The following errors occurred during fitting the uncertainty model, "
              "the uncertainty model is skipped. "
              "The following conditional columns are not found in `train_df`: ['dowww'].",
          ) in log_capture.actual()
  
imports: import datetime
  import numpy
  import pytest
  from testfixtures import LogCapture
  from greykite.common.constants import LOGGER_NAME
  from greykite.common.constants import PREDICTED_COL
  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.testing_utils import generate_df_for_tests
  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.multistage_forecast_template import MultistageForecastTemplate
  from greykite.framework.templates.multistage_forecast_template_config import SILVERKITE_TWO_STAGE
  from greykite.framework.templates.multistage_forecast_template_config import MultistageForecastTemplateConfig
  from greykite.framework.templates.simple_silverkite_template import SimpleSilverkiteTemplate
  from greykite.sklearn.estimator.simple_silverkite_estimator import SimpleSilverkiteEstimator
  from greykite.sklearn.uncertainty.uncertainty_methods import UncertaintyMethodEnum
label_desc: Use image node_id 21 for calling a global function with example usage: test_uncertainty_fail(df, forecast_config) without return types