code: def test_base_models_are_populated():
      train = h2o.import_file(
          pu.locate("smalldata/iris/iris_train.csv")
      )
      test = h2o.import_file(pu.locate("smalldata/iris/iris_test.csv"))
      x = train.columns
      y = "species"
      x.remove(y)
  
      nfolds = 2
      gbm = H2OGradientBoostingEstimator(
          nfolds=nfolds,
          fold_assignment="Modulo",
          keep_cross_validation_predictions=True,
      )
      gbm.train(x=x, y=y, training_frame=train)
      rf = H2ORandomForestEstimator(
          nfolds=nfolds,
          fold_assignment="Modulo",
          keep_cross_validation_predictions=True,
      )
      rf.train(x=x, y=y, training_frame=train)
      se = H2OStackedEnsembleEstimator(
          training_frame=train,
          validation_frame=test,
          base_models=[gbm.model_id, rf.model_id],
      )
      se.train(x=x, y=y, training_frame=train)
      retrieved_se = get_model(se.model_id)
  
      assert len(se.base_models) == 2
      assert len(retrieved_se.base_models) == 2
      assert se.base_models == retrieved_se.base_models
      # ensure that we are getting the model_ids
      assert pu.is_type(se.base_models, [str])
      assert pu.is_type(retrieved_se.base_models, [str])
  
file_path: h2o-3/h2o-py/tests/testdir_algos/stackedensemble/pyunit_stackedensemble_base_models.py
imports: import h2o
  import sys
  from h2o.grid import H2OGridSearch
  from h2o.estimators.random_forest import H2ORandomForestEstimator
  from h2o.estimators.gbm import H2OGradientBoostingEstimator
  from h2o.estimators.stackedensemble import H2OStackedEnsembleEstimator
  from h2o.exceptions import H2OResponseError
  from h2o import get_model
  from tests import pyunit_utils
label_desc: Use image node_id 5 for calling a global function with example usage: test_base_models_are_populated() without return types