docstr: method:
  1. create a rg with name abc
  2. list rgs and describe the rg abc
  3. drop the rg abc
  4. list rgs and describe the rg abc
  5. create rg with the same name
  6. list rgs and describe the rg abc
  verify: create rg successfully for both times
docstr_tok: ["method",":","1.","create","a","rg","with","name","abc","2.","list","rgs","and","describe","the","rg","abc","3.","drop","the","rg","abc","4.","list","rgs","and","describe","the","rg","abc","5.","create","rg","with","the","same","name","6.","list","rgs","and","describe","the","rg","abc","verify",":","create","rg","successfully","for","both","times"]
code: def test_create_rg_dropped_name(self):
      """
      method:
      1. create a rg with name abc
      2. list rgs and describe the rg abc
      3. drop the rg abc
      4. list rgs and describe the rg abc
      5. create rg with the same name
      6. list rgs and describe the rg abc
      verify: create rg successfully for both times
      """
      self._connect()
      rg_name = cf.gen_unique_str("rg")
      self.init_resource_group(name=rg_name)
      rgs_count = len(self.utility_wrap.list_resource_groups()[0])
      self.utility_wrap.describe_resource_group(
          name=rg_name,
          check_task=ct.CheckTasks.check_rg_property,
          check_items={"name": rg_name},
      )
      # drop the rg
      self.utility_wrap.drop_resource_group(name=rg_name)
      assert (
          len(self.utility_wrap.list_resource_groups()[0])
          == rgs_count - 1
      )
      error = {
          ct.err_code: 999,
          ct.err_msg: "failed to describe resource group, err=resource group doesn't exist",
      }
      self.utility_wrap.describe_resource_group(
          name=rg_name,
          check_task=ct.CheckTasks.err_res,
          check_items=error,
      )
      # create the rg with the same name again
      self.init_resource_group(name=rg_name)
      assert rgs_count == len(
          self.utility_wrap.list_resource_groups()[0]
      )
      self.utility_wrap.describe_resource_group(
          name=rg_name,
          check_task=ct.CheckTasks.check_rg_property,
          check_items={"name": rg_name},
      )
  
imports: import pytest
  from base.client_base import TestcaseBase
  from common import common_func
  from common import common_type
  from common.common_type import CaseLabel, CheckTasks
  from utils.util_pymilvus import *
label_desc: Use image node_id 8 for calling the TestResourceGroupParams obj's underlying member method code with example usage: obj.test_create_rg_dropped_name() without return types