code: def wait_training(self, model_name):
      # wait
      done = False
      for attempt in range(900):
          ret = self.run_mindsdb_sql(
              f"select status from mindsdb.predictors where name='{model_name}'"
          )
          if len(ret.data) > 0:
              if ret.data[0][0] == "complete":
                  done = True
                  break
              elif ret.data[0][0] == "error":
                  break
          time.sleep(0.5)
      if not done:
          raise RuntimeError("predictor didn't created: " + model_name)
  
imports: import os
  import time
  from unittest.mock import patch
  import pandas
  from mindsdb_sql import parse_sql
  from mindsdb.integrations.handlers.merlion_handler.adapters import DefaultForecasterAdapter, SarimaForecasterAdapter, ProphetForecasterAdapter, MSESForecasterAdapter, IsolationForestDetectorAdapter, WindStatsDetectorAdapter, ProphetDetectorAdapter
  from .executor_test_base import BaseExecutorTest
  import pandas
label_desc: Use image node_id 11 for calling the TestMerlion obj's underlying member method code with example usage: obj.wait_training(model_name) without return types