docstr: target: test limit collection num per db
  method: 1. create collections in the db and exceeds perDbCollections
  expected: exception
docstr_tok: ["target",":","test","limit","collection","num","per","db","method",":","1.","create","collections","in","the","db","and","exceeds","perDbCollections","expected",":","exception"]
code: def test_create_collection_exceeds_per_db(self):
      """
      target: test limit collection num per db
      method: 1. create collections in the db and exceeds perDbCollections
      expected: exception
      """
      self._connect()
      db_name = cf.gen_unique_str(prefix)
      self.database_wrap.create_database(db_name)
      self.database_wrap.using_database(db_name)
  
      # create collections
      collections, _ = self.utility_wrap.list_collections()
      for i in range(ct.max_collections_per_db - len(collections)):
          self.init_collection_wrap(cf.gen_unique_str(prefix))
  
      error = {
          ct.err_code: 1,
          ct.err_msg: f"failed to create collection, maxCollectionNumPerDB={ct.max_collections_per_db}, exceeded the limit number of "
          f"collections per DB)",
      }
      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 4 for calling the TestDatabaseOperation obj's underlying member method code with example usage: obj.test_create_collection_exceeds_per_db() without return types