docstr: According to the check_items to check collection properties of res, which return from func_name
  :param res: actual response of init collection
  :type res: Collection
  
  :param func_name: init collection API
  :type func_name: str
  
  :param check_items: which items expected to be checked, including name, schema, num_entities, primary
  :type check_items: dict, {check_key: expected_value}
docstr_tok: ["According","to","the","check_items","to","check","collection","properties","of","res",",","which","return","from","func_name",":","param","res",":","actual","response","of","init","collection",":","type","res",":","Collection",":","param","func_name",":","init","collection","API",":","type","func_name",":","str",":","param","check_items",":","which","items","expected","to","be","checked",",","including","name",",","schema",",","num_entities",",","primary",":","type","check_items",":","dict",",","{","check_key",":","expected_value","}"]
code: def check_collection_property(res, func_name, check_items):
      """
      According to the check_items to check collection properties of res, which return from func_name
      :param res: actual response of init collection
      :type res: Collection
  
      :param func_name: init collection API
      :type func_name: str
  
      :param check_items: which items expected to be checked, including name, schema, num_entities, primary
      :type check_items: dict, {check_key: expected_value}
      """
      exp_func_name = "init_collection"
      exp_func_name_2 = "construct_from_dataframe"
      if func_name != exp_func_name and func_name != exp_func_name_2:
          log.warning(
              "The function name is {} rather than {}".format(
                  func_name, exp_func_name
              )
          )
      if isinstance(res, Collection):
          collection = res
      elif isinstance(res, tuple):
          collection = res[0]
          log.debug(collection.schema)
      else:
          raise Exception(
              "The result to check isn't collection type object"
          )
      if len(check_items) == 0:
          raise Exception("No expect values found in the check task")
      if check_items.get("name", None):
          assert collection.name == check_items.get("name")
      if check_items.get("schema", None):
          assert collection.schema == check_items.get("schema")
      if check_items.get("num_entities", None):
          if check_items.get("num_entities") == 0:
              assert collection.is_empty
          assert collection.num_entities == check_items.get(
              "num_entities"
          )
      if check_items.get("primary", None):
          assert collection.primary_field.name == check_items.get(
              "primary"
          )
      return True
  
imports: from pymilvus.client.types import CompactionPlans
  from pymilvus import Role
  from utils.util_log import test_log
  from common import common_type
  from common import common_func
  from common.common_type import CheckTasks, Connect_Object_Name
  from pymilvus import Collection, Partition, ResourceGroupInfo
  from utils.api_request import Error
  import check.param_check
label_desc: Use image node_id 6 for calling the ResponseChecker obj's underlying member method code with example usage: obj.check_collection_property(res, func_name, check_items) and returns: True