docstr: method:
  1. create a rg with name starts with "_"
  2. create a rg with name abc again
  verify: fail with error msg when creating with a dup name
docstr_tok: ["method",":","1.","create","a","rg","with","name","starts","with","``","_","''","2.","create","a","rg","with","name","abc","again","verify",":","fail","with","error","msg","when","creating","with","a","dup","name"]
code: def test_create_rg_dup_name(self):
      """
      method:
      1. create a rg with name starts with "_"
      2. create a rg with name abc again
      verify: fail with error msg when creating with a dup name
      """
      self._connect()
      rg_name = cf.gen_unique_str("_rg")
      self.init_resource_group(name=rg_name)
      self.utility_wrap.describe_resource_group(
          name=rg_name,
          check_task=ct.CheckTasks.check_rg_property,
          check_items={"name": rg_name},
      )
      error = {
          ct.err_code: 999,
          ct.err_msg: "resource group already exist",
      }
      self.init_resource_group(
          name=rg_name,
          check_task=ct.CheckTasks.err_res,
          check_items=error,
      )
  
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 7 for calling the TestResourceGroupParams obj's underlying member method code with example usage: obj.test_create_rg_dup_name() without return types