mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-07 01:28:27 +08:00
[test]Update deploy test testcases (#20014)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com> Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
This commit is contained in:
parent
69822bdf4f
commit
d90f9cab55
@ -89,11 +89,14 @@ class TestcaseBase(Base):
|
|||||||
def _connect(self):
|
def _connect(self):
|
||||||
""" Add a connection and create the connect """
|
""" Add a connection and create the connect """
|
||||||
if cf.param_info.param_user and cf.param_info.param_password:
|
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,
|
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:
|
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)
|
port=cf.param_info.param_port)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@ -103,7 +106,8 @@ class TestcaseBase(Base):
|
|||||||
if not self.connection_wrap.has_connection(alias=DefaultConfig.DEFAULT_USING)[0]:
|
if not self.connection_wrap.has_connection(alias=DefaultConfig.DEFAULT_USING)[0]:
|
||||||
self._connect()
|
self._connect()
|
||||||
collection_w = ApiCollectionWrapper()
|
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)
|
self.collection_object_list.append(collection_w)
|
||||||
return collection_w
|
return collection_w
|
||||||
|
|
||||||
@ -127,6 +131,41 @@ class TestcaseBase(Base):
|
|||||||
**kwargs)
|
**kwargs)
|
||||||
return partition_wrap
|
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,
|
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,
|
partition_num=0, is_binary=False, is_all_data_type=False,
|
||||||
auto_id=False, dim=ct.default_dim, is_index=False,
|
auto_id=False, dim=ct.default_dim, is_index=False,
|
||||||
@ -152,9 +191,11 @@ class TestcaseBase(Base):
|
|||||||
# 1 create collection
|
# 1 create collection
|
||||||
default_schema = cf.gen_default_collection_schema(auto_id=auto_id, dim=dim, primary_field=primary_field)
|
default_schema = cf.gen_default_collection_schema(auto_id=auto_id, dim=dim, primary_field=primary_field)
|
||||||
if is_binary:
|
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:
|
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")
|
log.info("init_collection_general: collection creation")
|
||||||
collection_w = self.init_collection_wrap(name=collection_name, schema=default_schema, **kwargs)
|
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")
|
# 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 = INDEX_NAME if index_name is None else index_name
|
||||||
index_name = kwargs.get("index_name", index_name)
|
index_name = kwargs.get("index_name", index_name)
|
||||||
kwargs.update({"timeout": timeout, "index_name": index_name})
|
kwargs.update({"timeout": timeout, "index_name": index_name})
|
||||||
|
|
||||||
func_name = sys._getframe().f_code.co_name
|
func_name = sys._getframe().f_code.co_name
|
||||||
res, check = api_request([self.collection.create_index, field_name, index_params], **kwargs)
|
res, check = api_request([self.collection.create_index, field_name, index_params], **kwargs)
|
||||||
check_result = ResponseChecker(res, func_name, check_task, check_items, check,
|
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)
|
connections.connect(host=host, port=19530, timeout=60)
|
||||||
col_list = get_collections(prefix, check=True)
|
col_list = get_collections(prefix, check=True)
|
||||||
assert len(col_list) == len(all_index_types)
|
assert len(col_list) == len(all_index_types)
|
||||||
|
create_index(prefix)
|
||||||
load_and_search(prefix)
|
load_and_search(prefix)
|
||||||
create_collections_and_insert_data(prefix, data_size)
|
create_collections_and_insert_data(prefix, data_size)
|
||||||
create_index(prefix)
|
create_index(prefix)
|
||||||
|
|||||||
@ -52,7 +52,10 @@ class TestActionFirstDeployment(TestDeployBase):
|
|||||||
is_binary = False
|
is_binary = False
|
||||||
if "BIN" in name:
|
if "BIN" in name:
|
||||||
is_binary = True
|
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)
|
@pytest.mark.tags(CaseLabel.L3)
|
||||||
|
|||||||
@ -41,6 +41,21 @@ class TestActionSecondDeployment(TestDeployBase):
|
|||||||
method.__name__)
|
method.__name__)
|
||||||
log.info("skip drop collection")
|
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)
|
@pytest.mark.tags(CaseLabel.L3)
|
||||||
def test_check(self, all_collection_name, data_size):
|
def test_check(self, all_collection_name, data_size):
|
||||||
"""
|
"""
|
||||||
@ -93,11 +108,7 @@ class TestActionSecondDeployment(TestDeployBase):
|
|||||||
# load if not loaded
|
# load if not loaded
|
||||||
if replicas_loaded == 0:
|
if replicas_loaded == 0:
|
||||||
default_index_param = gen_index_param(vector_index_type)
|
default_index_param = gen_index_param(vector_index_type)
|
||||||
collection_w.create_index(default_index_field, default_index_param,
|
self.create_index(collection_w, 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])
|
|
||||||
|
|
||||||
collection_w.load()
|
collection_w.load()
|
||||||
|
|
||||||
# search and query
|
# search and query
|
||||||
@ -148,7 +159,7 @@ class TestActionSecondDeployment(TestDeployBase):
|
|||||||
|
|
||||||
# insert data and flush
|
# insert data and flush
|
||||||
for i in range(2):
|
for i in range(2):
|
||||||
self.init_collection_general(insert_data=True, is_binary=is_binary, nb=data_size,
|
self.insert_data_general(insert_data=True, is_binary=is_binary, nb=data_size,
|
||||||
is_flush=False, is_index=True, name=name)
|
is_flush=False, is_index=True, name=name)
|
||||||
if pymilvus_version >= "2.2.0":
|
if pymilvus_version >= "2.2.0":
|
||||||
collection_w.flush()
|
collection_w.flush()
|
||||||
@ -175,12 +186,8 @@ class TestActionSecondDeployment(TestDeployBase):
|
|||||||
for index_name in index_names:
|
for index_name in index_names:
|
||||||
collection_w.release()
|
collection_w.release()
|
||||||
collection_w.drop_index(index_name=index_name)
|
collection_w.drop_index(index_name=index_name)
|
||||||
|
|
||||||
default_index_param = gen_index_param(vector_index_type)
|
default_index_param = gen_index_param(vector_index_type)
|
||||||
collection_w.create_index(default_index_field, default_index_param,
|
self.create_index(collection_w, 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])
|
|
||||||
|
|
||||||
collection_w.load()
|
collection_w.load()
|
||||||
collection_w.search(vectors_to_search[:default_nq], default_search_field,
|
collection_w.search(vectors_to_search[:default_nq], default_search_field,
|
||||||
@ -195,9 +202,7 @@ class TestActionSecondDeployment(TestDeployBase):
|
|||||||
|
|
||||||
# create index
|
# create index
|
||||||
default_index_param = gen_index_param(vector_index_type)
|
default_index_param = gen_index_param(vector_index_type)
|
||||||
collection_w.create_index(default_index_field, default_index_param,
|
self.create_index(collection_w, 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])
|
|
||||||
|
|
||||||
# search and query
|
# search and query
|
||||||
collection_w.search(vectors_to_search[:default_nq], default_search_field,
|
collection_w.search(vectors_to_search[:default_nq], default_search_field,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user