docstr: target: test drop the db that still has collections
  method: drop db that still has some collections
  expected: exception
docstr_tok: ["target",":","test","drop","the","db","that","still","has","collections","method",":","drop","db","that","still","has","some","collections","expected",":","exception"]
code: def test_drop_db_has_collections(self):
      """
      target: test drop the db that still has collections
      method: drop db that still has some collections
      expected: exception
      """
      self._connect()
  
      # create db and using db
      db_name = cf.gen_unique_str(prefix)
      self.database_wrap.create_database(db_name)
      self.database_wrap.using_database(db_name)
  
      # create collection in db
      collection_w = self.init_collection_wrap(name=cf.gen_unique_str())
  
      # drop db
      self.database_wrap.drop_database(
          db_name,
          check_task=CheckTasks.err_res,
          check_items={
              ct.err_code: 1,
              ct.err_msg: "can not drop default database",
          },
      )
  
      # drop collection and drop db
      collection_w.drop()
      self.database_wrap.drop_database(db_name)
  
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 9 for calling the TestDatabaseOperation obj's underlying member method code with example usage: obj.test_drop_db_has_collections() without return types