class_docstr: Test case of database 
class_docstr_tok: ["Test","case","of","database"]
docstr: target: test normal db interface
  method: 1. connect with default db
          2. create a new db
          3. list db and verify db created successfully
          4. using new db and create collection without specifying a name
          4. using default db
          5. create new collection and specify db name
          6. list collection in the new db
          7. drop db, collections will also be dropped
  expected: 1. all db interface
            2. using db can change the default db
            3. drop databases also drop collections
docstr_tok: ["target",":","test","normal","db","interface","method",":","1.","connect","with","default","db","2.","create","a","new","db","3.","list","db","and","verify","db","created","successfully","4.","using","new","db","and","create","collection","without","specifying","a","name","4.","using","default","db","5.","create","new","collection","and","specify","db","name","6.","list","collection","in","the","new","db","7.","drop","db",",","collections","will","also","be","dropped","expected",":","1.","all","db","interface","2.","using","db","can","change","the","default","db","3.","drop","databases","also","drop","collections"]
code: def test_db_default(self):
      """
      target: test normal db interface
      method: 1. connect with default db
              2. create a new db
              3. list db and verify db created successfully
              4. using new db and create collection without specifying a name
              4. using default db
              5. create new collection and specify db name
              6. list collection in the new db
              7. drop db, collections will also be dropped
      expected: 1. all db interface
                2. using db can change the default db
                3. drop databases also drop collections
      """
      self._connect()
  
      # using default db and create collection
      collection_w_default = self.init_collection_wrap(
          name=cf.gen_unique_str(prefix)
      )
  
      # create db
      db_name = cf.gen_unique_str(prefix)
      self.database_wrap.create_database(db_name)
  
      # list db and verify db
      dbs, _ = self.database_wrap.list_database()
      assert db_name in dbs
  
      # using db and create collection
      self.database_wrap.using_database(db_name)
      collection_w = self.init_collection_wrap(
          name=cf.gen_unique_str(prefix)
      )
  
      # using default db
      self.database_wrap.using_database(ct.default_db)
      collections_default, _ = self.utility_wrap.list_collections()
      assert collection_w_default.name in collections_default
      assert collection_w.name not in collections_default
  
      # using db
      self.database_wrap.using_database(db_name)
      collections, _ = self.utility_wrap.list_collections()
      assert collection_w.name in collections
      assert collection_w_default.name not in collections
  
      # drop collection and drop db
      collection_w.drop()
      self.database_wrap.drop_database(db_name=db_name)
      dbs_afrer_drop, _ = self.database_wrap.list_database()
      assert db_name not in dbs_afrer_drop
  
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 TestDatabaseParams obj's underlying member method code with example usage: obj.test_db_default() without return types