docstr: target: test db num exceeds max num
  method: create many dbs and exceeds max
  expected: exception
docstr_tok: ["target",":","test","db","num","exceeds","max","num","method",":","create","many","dbs","and","exceeds","max","expected",":","exception"]
code: def test_create_db_exceeds_max_num(self):
      """
      target: test db num exceeds max num
      method: create many dbs and exceeds max
      expected: exception
      """
      self._connect()
      dbs, _ = self.database_wrap.list_database()
  
      # because max num 64 not include default
      for i in range(ct.max_database_num + 1 - len(dbs)):
          self.database_wrap.create_database(cf.gen_unique_str(prefix))
  
      # there are ct.max_database_num-1 dbs (default is not included)
      error = {
          ct.err_code: 1,
          ct.err_msg: f"database number ({ct.max_database_num + 1}) exceeds max configuration ({ct.max_database_num})",
      }
      self.database_wrap.create_database(
          cf.gen_unique_str(prefix),
          check_task=CheckTasks.err_res,
          check_items=error,
      )
  
imports: import pandas
  import pytest
  from base.client_base import TestcaseBase
  from common.common_type import CheckTasks, CaseLabel
  from common import common_func
  from common import common_type
  from utils.util_log import test_log
label_desc: Use image node_id 3 for calling the TestDatabaseOperation obj's underlying member method code with example usage: obj.test_create_db_exceeds_max_num() without return types