code: def test_preprocess_setup_raises_missing_exo(
      load_uni_exo_data_target_missing,
  ):
      """Tests setup conditions that raise errors due to missing data
      Univariate with exogenous variables"""
  
      data, target = load_uni_exo_data_target_missing
  
      exp = TSForecastingExperiment()
      with pytest.raises(ValueError) as errmsg:
          exp.setup(data=data, target=target)
      exceptionmsg = errmsg.value.args[0]
      assert "Please enable imputation to proceed" in exceptionmsg
  
      exp = TSForecastingExperiment()
      with pytest.raises(ValueError) as errmsg:
          exp.setup(
              data=data,
              target=target,
              numeric_imputation_target=None,
          )
      exceptionmsg = errmsg.value.args[0]
      assert "Please enable imputation to proceed" in exceptionmsg
  
      exp = TSForecastingExperiment()
      with pytest.raises(ValueError) as errmsg:
          exp.setup(
              data=data,
              target=target,
              numeric_imputation_exogenous=None,
          )
      exceptionmsg = errmsg.value.args[0]
      assert "Please enable imputation to proceed" in exceptionmsg
  
imports: import os
  import numpy
  import pytest
  import sktime
  from packaging import version
  from sktime.forecasting.compose import ForecastingPipeline, TransformedTargetForecaster
  from time_series_test_utils import _IMPUTE_METHODS_STR, _SCALE_METHODS, _TRANSFORMATION_METHODS, _TRANSFORMATION_METHODS_NO_NEG, _return_model_names_for_missing_data
  from pycaret.time_series import TSForecastingExperiment
label_desc: Use image node_id 5 for calling a global function with example usage: test_preprocess_setup_raises_missing_exo(load_uni_exo_data_target_missing) without return types