code: def run_test(
      data: pd.Series,
      test: str,
      data_name: Optional[str] = None,
      alpha: float = 0.05,
      data_kwargs: Optional[Dict] = None,
      *kwargs,
  ) -> pd.DataFrame:
      """Performs the specified test on the data.
  
      Parameters
      ----------
      data : pd.Series
          Time Series data on which the test needs to be performed
      test : str
          Test to run on the data. Allowed tests are
          - "summary": Summary Statistics
          - "white_noise": Ljung-Box Test for white noise
          - "adf": ADF test for difference stationarity
          - "kpss": KPSS test for trend stationarity
          - "stationarity": ADF and KPSS test
          - "normality": Shapiro Test for Normality
          - "all": All of the above tests
      alpha : float, optional
          Significance Level, by default 0.05
      data_kwargs : Optional[Dict], optional
          Users can specify `lags list` or `order_list` to run the test for the
          data as well as for its lagged versions, by default None
  
          >>> run_test(data=data, test="white_noise", data_kwargs={"order_list": [1, 2]})
          >>> run_test(data=data, test="white_noise", data_kwargs={"lags_list": [1, [1, 12]]})
  
      Returns
      -------
      pd.DataFrame
          Detailed results dataframe
  
      Raises
      ------
      ValueError
          Wrong test name provided
      """
      if test == "all":
          results = _test_all(
              data=data,
              data_name=data_name,
              alpha=alpha,
              data_kwargs=data_kwargs,
          )
      elif test == "summary":
          results = _summary_stats(
              data=data, data_name=data_name, data_kwargs=data_kwargs
          )
      elif test == "white_noise":
          results = _is_white_noise(
              data=data,
              data_name=data_name,
              alpha=alpha,
              verbose=True,
              data_kwargs=data_kwargs,
              *kwargs,
          )[1]
      elif test == "stationarity":
          results = _is_stationary(
              data=data,
              data_name=data_name,
              alpha=alpha,
              data_kwargs=data_kwargs,
          )
      elif test == "adf":
          results = _is_stationary_adf(
              data=data,
              data_name=data_name,
              alpha=alpha,
              verbose=True,
              data_kwargs=data_kwargs,
          )[1]
      elif test == "kpss":
          results = _is_stationary_kpss(
              data=data,
              data_name=data_name,
              alpha=alpha,
              verbose=True,
              data_kwargs=data_kwargs,
          )[1]
      elif test == "normality":
          results = _is_gaussian(
              data=data,
              data_name=data_name,
              alpha=alpha,
              verbose=True,
              data_kwargs=data_kwargs,
          )[1]
      else:
          raise ValueError(f"Tests: '{test}' is not supported.")
      return results
  
imports: from typing import Dict, List, Optional, Tuple, Union
  import numpy
  import pandas
  import statsmodels.api
  from pmdarima.arima.utils import ndiffs, nsdiffs
  from statsmodels.tools.sm_exceptions import MissingDataError
  from statsmodels.tsa.api import kpss
  from statsmodels.tsa.stattools import adfuller
  from pycaret.internal.logging import get_logger
  from pycaret.internal.tests import _format_test_results
  from pycaret.internal.tests.stats import _is_gaussian, _summary_stats
  from pycaret.utils.time_series import _get_diff_name_list
  from pycaret.utils.time_series.exceptions import MissingDataError
label_desc: Use image node_id 1 for calling a global function with example usage: run_test(data, test, data_name, alpha, data_kwargs) and returns: results