docstr: Method:
  1. prepare a collection with 1 replica loaded
  2. prepare rgA
  2. transfer invalid number of replicas from default to rgA
  verify fail with error
docstr_tok: ["Method",":","1.","prepare","a","collection","with","1","replica","loaded","2.","prepare","rgA","2.","transfer","invalid","number","of","replicas","from","default","to","rgA","verify","fail","with","error"]
code: def test_transfer_replica_with_wrong_num_replica(self, num_replica):
      """
      Method:
      1. prepare a collection with 1 replica loaded
      2. prepare rgA
      2. transfer invalid number of replicas from default to rgA
      verify fail with error
      """
      # prepare a collection with 1 replica loaded
      collection_w, _, _, _, _ = self.init_collection_general(
          insert_data=True, nb=200
      )
      # create rgA
      rg_name = cf.gen_unique_str("rg")
      self.init_resource_group(rg_name)
  
      # transfer replicas
      error = {
          ct.err_code: 999,
          ct.err_msg: f"failed to transfer replica between resource group, err=nodes not enough",
      }
      if not type(num_replica) in [int, bool]:
          error = {ct.err_code: 999, ct.err_msg: "expected one of: int"}
      if num_replica in [0, -1]:
          error = {
              ct.err_code: 999,
              ct.err_msg: f"transfer replica num can't be [{num_replica}]",
          }
      if num_replica == 99:
          error = {
              ct.err_code: 999,
              ct.err_msg: f"only found [1] replicas in source resource group[__default_resource_group]",
          }
  
      self.utility_wrap.transfer_replica(
          source=ct.default_resource_group_name,
          target=rg_name,
          collection_name=collection_w.name,
          num_replica=num_replica,
          check_task=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 4 for calling the TestTransferNode obj's underlying member method code with example usage: obj.test_transfer_replica_with_wrong_num_replica(num_replica) without return types