docstr: Method：
  1. create a collection with invalid num_partitions
  2. verify the error raised
docstr_tok: ["Method\uff1a","1.","create","a","collection","with","invalid","num_partitions","2.","verify","the","error","raised"]
code: def test_invalid_partitions_values(self, num_partitions):
      """
      Method：
      1. create a collection with invalid num_partitions
      2. verify the error raised
      """
      self._connect()
      pk_field = cf.gen_int64_field(name="pk", is_primary=True)
      int64_field = cf.gen_int64_field(is_partition_key=True)
      string_field = cf.gen_string_field()
      vector_field = cf.gen_float_vec_field()
      schema = cf.gen_collection_schema(
          fields=[pk_field, int64_field, string_field, vector_field]
      )
  
      err_msg = "invalid num_partitions type"
      c_name = cf.gen_unique_str("par_key")
      collection_w, _ = self.collection_wrap.init_collection(
          name=c_name,
          schema=schema,
          num_partitions=num_partitions,
          check_task=CheckTasks.err_res,
          check_items={"err_code": 2, "err_msg": err_msg},
      )
  
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 TestPartitionKeyInvalidParams obj's underlying member method code with example usage: obj.test_invalid_partitions_values(num_partitions) without return types