docstr: target: test create collection in different db and each db's colelction within max,
          but total exceeds max collection num
  method: 1. create a db and create 10 collections in db
          2. create another db and create collection larger than (max - 10) but less than collectionPerDb
  expected: exception
docstr_tok: ["target",":","test","create","collection","in","different","db","and","each","db","'s","colelction","within","max",",","but","total","exceeds","max","collection","num","method",":","1.","create","a","db","and","create","10","collections","in","db","2.","create","another","db","and","create","collection","larger","than","(","max","-","10",")","but","less","than","collectionPerDb","expected",":","exception"]
code: def test_create_db_collections_exceeds_max_num(self):
      """
      target: test create collection in different db and each db's colelction within max,
              but total exceeds max collection num
      method: 1. create a db and create 10 collections in db
              2. create another db and create collection larger than (max - 10) but less than collectionPerDb
      expected: exception
      """
      self._connect()
  
      # create and using db_a
      db_a = cf.gen_unique_str("a")
      self.database_wrap.create_database(db_a)
      self.database_wrap.using_database(db_a)
  
      # create 50 collections in db_a
      collection_num_a = 50
      for i in range(collection_num_a):
          self.init_collection_wrap(cf.gen_unique_str(prefix))
  
      # create and using db_b
      db_b = cf.gen_unique_str("b")
      self.database_wrap.create_database(db_b)
      self.database_wrap.using_database(db_b)
  
      dbs, _ = self.database_wrap.list_database()
      exist_coll_num = 0
      for db in dbs:
          self.database_wrap.using_database(db)
          exist_coll_num += len(self.utility_wrap.list_collections()[0])
  
      # create collection so that total collection num exceed maxCollectionNum
      self.database_wrap.using_database(db_b)
      log.debug(f"exist collection num: {exist_coll_num}")
      collections, _ = self.utility_wrap.list_collections()
      for i in range(ct.max_collection_num - exist_coll_num):
          self.init_collection_wrap(cf.gen_unique_str(prefix))
  
      log.debug(
          f"db_b collection num: {len(self.utility_wrap.list_collections()[0])}"
      )
  
      dbs, _ = self.database_wrap.list_database()
      total_coll_num = 0
      for db in dbs:
          self.database_wrap.using_database(db)
          total_coll_num += len(self.utility_wrap.list_collections()[0])
  
      log.debug(f"total collection num: {total_coll_num}")
      error = {
          ct.err_code: 1,
          ct.err_msg: f"failed to create collection, maxCollectionNum={ct.max_collection_num}, exceeded the limit number of",
      }
      self.collection_wrap.init_collection(
          cf.gen_unique_str(prefix),
          cf.gen_default_collection_schema(),
          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 5 for calling the TestDatabaseOperation obj's underlying member method code with example usage: obj.test_create_db_collections_exceeds_max_num() without return types