code: def test_when_get_info_is_called_then_all_keys_are_present(
      model_class, prediction_length, trained_models
  ):
      model = trained_models[(prediction_length, repr(model_class))]
      info = model.get_info()
      expected_keys = [
          "name",
          "model_type",
          "eval_metric",
          "fit_time",
          "predict_time",
          "freq",
          "prediction_length",
          "quantile_levels",
          "val_score",
          "hyperparameters",
      ]
      for key in expected_keys:
          assert key in info
  
imports: import itertools
  import shutil
  import sys
  import tempfile
  from unittest import mock
  import numpy
  import pandas
  import pytest
  from flaky import flaky
  from autogluon.common import space
  from autogluon.core.hpo.constants import RAY_BACKEND
  from autogluon.timeseries import TimeSeriesDataFrame
  from autogluon.timeseries.dataset.ts_dataframe import ITEMID, TIMESTAMP
  from autogluon.timeseries.metrics import AVAILABLE_METRICS
  from autogluon.timeseries.models import DeepARModel, ETSModel
  from autogluon.timeseries.models.abstract import AbstractTimeSeriesModel
  from autogluon.timeseries.models.multi_window import MultiWindowBacktestingModel
  from ..common import DUMMY_TS_DATAFRAME, CustomMetric, dict_equal_primitive, get_data_frame_with_item_index
  from .test_gluonts import TESTABLE_MODELS
  from .test_local import TESTABLE_MODELS
  from .test_mlforecast import TESTABLE_MODELS
  from .test_multi_window_model import get_multi_window_deepar
label_desc: Use image node_id 15 for calling a global function with example usage: test_when_get_info_is_called_then_all_keys_are_present(model_class, prediction_length, trained_models) without return types