code: def test_Sarimax_predict_UserWarning_exog_length_greater_that_steps(
      y, exog, exog_predict
  ):
      """
      Test Sarimax predict UserWarning is raised with numpy and pandas when length
      exog is greater than the number of steps.
      """
  
      # skforecast
      sarimax = Sarimax(
          order=(1, 1, 1), maxiter=1000, method="cg", disp=False
      )
      sarimax.fit(y=y, exog=exog)
  
      steps = 5
  
      warn_msg = re.escape(
          (
              f"when predicting using exogenous variables, the `exog` parameter "
              f"must have the same length as the number of predicted steps. Since "
              f"len(exog) > steps, only the first {steps} observations are used."
          )
      )
      with pytest.warns(UserWarning, match=warn_msg):
          sarimax.predict(steps=steps, exog=exog_predict)
  
imports: import re
  import pytest
  import numpy
  import pandas
  from sklearn.exceptions import NotFittedError
  from skforecast.Sarimax import Sarimax
  from statsmodels.tsa.statespace.sarimax import SARIMAX
  from statsmodels.tsa.statespace.sarimax import SARIMAXResults
  from statsmodels.tsa.statespace.sarimax import SARIMAXResultsWrapper
  from .fixtures_Sarimax import y
  from .fixtures_Sarimax import y_lw
  from .fixtures_Sarimax import exog
  from .fixtures_Sarimax import exog_lw
  from .fixtures_Sarimax import exog_predict
  from .fixtures_Sarimax import exog_lw_predict
  from .fixtures_Sarimax import y_datetime
  from .fixtures_Sarimax import exog_datetime
  from .fixtures_Sarimax import exog_predict_datetime
label_desc: Use image node_id 12 for calling a global function with example usage: test_Sarimax_predict_UserWarning_exog_length_greater_that_steps(y, exog, exog_predict) without return types