mirror of https://github.com/milvus-io/milvus.git
[test]Update deploy test testcases (#20014)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com> Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>pull/19986/head
parent
69822bdf4f
commit
d90f9cab55
|
@ -89,11 +89,14 @@ class TestcaseBase(Base):
|
|||
def _connect(self):
|
||||
""" Add a connection and create the connect """
|
||||
if cf.param_info.param_user and cf.param_info.param_password:
|
||||
res, is_succ = self.connection_wrap.connect(alias=DefaultConfig.DEFAULT_USING, host=cf.param_info.param_host,
|
||||
res, is_succ = self.connection_wrap.connect(alias=DefaultConfig.DEFAULT_USING,
|
||||
host=cf.param_info.param_host,
|
||||
port=cf.param_info.param_port, user=cf.param_info.param_user,
|
||||
password=cf.param_info.param_password, secure=cf.param_info.param_secure)
|
||||
password=cf.param_info.param_password,
|
||||
secure=cf.param_info.param_secure)
|
||||
else:
|
||||
res, is_succ = self.connection_wrap.connect(alias=DefaultConfig.DEFAULT_USING, host=cf.param_info.param_host,
|
||||
res, is_succ = self.connection_wrap.connect(alias=DefaultConfig.DEFAULT_USING,
|
||||
host=cf.param_info.param_host,
|
||||
port=cf.param_info.param_port)
|
||||
return res
|
||||
|
||||
|
@ -103,7 +106,8 @@ class TestcaseBase(Base):
|
|||
if not self.connection_wrap.has_connection(alias=DefaultConfig.DEFAULT_USING)[0]:
|
||||
self._connect()
|
||||
collection_w = ApiCollectionWrapper()
|
||||
collection_w.init_collection(name=name, schema=schema, shards_num=shards_num, check_task=check_task, check_items=check_items, **kwargs)
|
||||
collection_w.init_collection(name=name, schema=schema, shards_num=shards_num, check_task=check_task,
|
||||
check_items=check_items, **kwargs)
|
||||
self.collection_object_list.append(collection_w)
|
||||
return collection_w
|
||||
|
||||
|
@ -127,6 +131,41 @@ class TestcaseBase(Base):
|
|||
**kwargs)
|
||||
return partition_wrap
|
||||
|
||||
def insert_data_general(self, prefix="test", insert_data=False, nb=ct.default_nb,
|
||||
partition_num=0, is_binary=False, is_all_data_type=False,
|
||||
auto_id=False, dim=ct.default_dim,
|
||||
primary_field=ct.default_int64_field_name, is_flush=True, name=None, **kwargs):
|
||||
"""
|
||||
|
||||
"""
|
||||
self._connect()
|
||||
collection_name = cf.gen_unique_str(prefix)
|
||||
if name is not None:
|
||||
collection_name = name
|
||||
vectors = []
|
||||
binary_raw_vectors = []
|
||||
insert_ids = []
|
||||
time_stamp = 0
|
||||
# 1 create collection
|
||||
default_schema = cf.gen_default_collection_schema(auto_id=auto_id, dim=dim, primary_field=primary_field)
|
||||
if is_binary:
|
||||
default_schema = cf.gen_default_binary_collection_schema(auto_id=auto_id, dim=dim,
|
||||
primary_field=primary_field)
|
||||
if is_all_data_type:
|
||||
default_schema = cf.gen_collection_schema_all_datatype(auto_id=auto_id, dim=dim,
|
||||
primary_field=primary_field)
|
||||
log.info("init_collection_general: collection creation")
|
||||
collection_w = self.init_collection_wrap(name=collection_name, schema=default_schema, **kwargs)
|
||||
pre_entities = collection_w.num_entities
|
||||
if insert_data:
|
||||
collection_w, vectors, binary_raw_vectors, insert_ids, time_stamp = \
|
||||
cf.insert_data(collection_w, nb, is_binary, is_all_data_type, auto_id=auto_id, dim=dim)
|
||||
if is_flush:
|
||||
collection_w.flush()
|
||||
assert collection_w.num_entities == nb + pre_entities
|
||||
|
||||
return collection_w, vectors, binary_raw_vectors, insert_ids, time_stamp
|
||||
|
||||
def init_collection_general(self, prefix="test", insert_data=False, nb=ct.default_nb,
|
||||
partition_num=0, is_binary=False, is_all_data_type=False,
|
||||
auto_id=False, dim=ct.default_dim, is_index=False,
|
||||
|
@ -152,9 +191,11 @@ class TestcaseBase(Base):
|
|||
# 1 create collection
|
||||
default_schema = cf.gen_default_collection_schema(auto_id=auto_id, dim=dim, primary_field=primary_field)
|
||||
if is_binary:
|
||||
default_schema = cf.gen_default_binary_collection_schema(auto_id=auto_id, dim=dim, primary_field=primary_field)
|
||||
default_schema = cf.gen_default_binary_collection_schema(auto_id=auto_id, dim=dim,
|
||||
primary_field=primary_field)
|
||||
if is_all_data_type:
|
||||
default_schema = cf.gen_collection_schema_all_datatype(auto_id=auto_id, dim=dim, primary_field=primary_field)
|
||||
default_schema = cf.gen_collection_schema_all_datatype(auto_id=auto_id, dim=dim,
|
||||
primary_field=primary_field)
|
||||
log.info("init_collection_general: collection creation")
|
||||
collection_w = self.init_collection_wrap(name=collection_name, schema=default_schema, **kwargs)
|
||||
# 2 add extra partitions if specified (default is 1 partition named "_default")
|
||||
|
|
|
@ -238,7 +238,6 @@ class ApiCollectionWrapper:
|
|||
index_name = INDEX_NAME if index_name is None else index_name
|
||||
index_name = kwargs.get("index_name", index_name)
|
||||
kwargs.update({"timeout": timeout, "index_name": index_name})
|
||||
|
||||
func_name = sys._getframe().f_code.co_name
|
||||
res, check = api_request([self.collection.create_index, field_name, index_params], **kwargs)
|
||||
check_result = ResponseChecker(res, func_name, check_task, check_items, check,
|
||||
|
|
|
@ -16,6 +16,7 @@ def task_1(data_size, host):
|
|||
connections.connect(host=host, port=19530, timeout=60)
|
||||
col_list = get_collections(prefix, check=True)
|
||||
assert len(col_list) == len(all_index_types)
|
||||
create_index(prefix)
|
||||
load_and_search(prefix)
|
||||
create_collections_and_insert_data(prefix, data_size)
|
||||
create_index(prefix)
|
||||
|
|
|
@ -52,7 +52,10 @@ class TestActionFirstDeployment(TestDeployBase):
|
|||
is_binary = False
|
||||
if "BIN" in name:
|
||||
is_binary = True
|
||||
self.init_collection_general(insert_data=False, is_binary=is_binary, name=name)[0]
|
||||
collection_w = self.init_collection_general(insert_data=False, is_binary=is_binary, name=name)[0]
|
||||
if collection_w.has_index():
|
||||
collection_w.drop_index()
|
||||
|
||||
|
||||
|
||||
@pytest.mark.tags(CaseLabel.L3)
|
||||
|
|
|
@ -41,6 +41,21 @@ class TestActionSecondDeployment(TestDeployBase):
|
|||
method.__name__)
|
||||
log.info("skip drop collection")
|
||||
|
||||
def create_index(self, collection_w, default_index_field, default_index_param):
|
||||
index_field_map = dict([(index.field_name, index.index_name) for index in collection_w.indexes])
|
||||
index_infos = [index.to_dict() for index in collection_w.indexes]
|
||||
log.info(index_infos)
|
||||
# log.info(f"{default_index_field:} {default_index_param:}")
|
||||
if len(index_infos) > 0:
|
||||
log.info(
|
||||
f"current index param is {index_infos[0]['index_param']}, passed in param is {default_index_param}")
|
||||
log.info(
|
||||
f"current index name is {index_infos[0]['index_name']}, passed in param is {index_field_map.get(default_index_field)}")
|
||||
collection_w.create_index(default_index_field, default_index_param,
|
||||
index_name=index_field_map.get(default_index_field, gen_unique_str("test")))
|
||||
collection_w.create_index(default_string_field_name, {},
|
||||
index_name=index_field_map.get(default_string_field_name, gen_unique_str("test")))
|
||||
|
||||
@pytest.mark.tags(CaseLabel.L3)
|
||||
def test_check(self, all_collection_name, data_size):
|
||||
"""
|
||||
|
@ -93,11 +108,7 @@ class TestActionSecondDeployment(TestDeployBase):
|
|||
# load if not loaded
|
||||
if replicas_loaded == 0:
|
||||
default_index_param = gen_index_param(vector_index_type)
|
||||
collection_w.create_index(default_index_field, default_index_param,
|
||||
index_name=index_field_map[default_index_field])
|
||||
collection_w.create_index(default_string_field_name, {},
|
||||
index_name=index_field_map[default_string_field_name])
|
||||
|
||||
self.create_index(collection_w, default_index_field, default_index_param)
|
||||
collection_w.load()
|
||||
|
||||
# search and query
|
||||
|
@ -148,8 +159,8 @@ class TestActionSecondDeployment(TestDeployBase):
|
|||
|
||||
# insert data and flush
|
||||
for i in range(2):
|
||||
self.init_collection_general(insert_data=True, is_binary=is_binary, nb=data_size,
|
||||
is_flush=False, is_index=True, name=name)
|
||||
self.insert_data_general(insert_data=True, is_binary=is_binary, nb=data_size,
|
||||
is_flush=False, is_index=True, name=name)
|
||||
if pymilvus_version >= "2.2.0":
|
||||
collection_w.flush()
|
||||
else:
|
||||
|
@ -175,12 +186,8 @@ class TestActionSecondDeployment(TestDeployBase):
|
|||
for index_name in index_names:
|
||||
collection_w.release()
|
||||
collection_w.drop_index(index_name=index_name)
|
||||
|
||||
default_index_param = gen_index_param(vector_index_type)
|
||||
collection_w.create_index(default_index_field, default_index_param,
|
||||
index_name=index_field_map[default_index_field])
|
||||
collection_w.create_index(default_string_field_name, {},
|
||||
index_name=index_field_map[default_string_field_name])
|
||||
self.create_index(collection_w, default_index_field, default_index_param)
|
||||
|
||||
collection_w.load()
|
||||
collection_w.search(vectors_to_search[:default_nq], default_search_field,
|
||||
|
@ -193,11 +200,9 @@ class TestActionSecondDeployment(TestDeployBase):
|
|||
collection_w.query(default_term_expr, output_fields=[ct.default_int64_field_name],
|
||||
check_task=CheckTasks.check_query_not_empty)
|
||||
|
||||
# create index
|
||||
# create index
|
||||
default_index_param = gen_index_param(vector_index_type)
|
||||
collection_w.create_index(default_index_field, default_index_param,
|
||||
index_name=index_field_map[default_index_field])
|
||||
collection_w.create_index(default_string_field_name, {}, index_name=index_field_map[default_string_field_name])
|
||||
self.create_index(collection_w, default_index_field, default_index_param)
|
||||
|
||||
# search and query
|
||||
collection_w.search(vectors_to_search[:default_nq], default_search_field,
|
||||
|
|
Loading…
Reference in New Issue