未验证 提交 619bab21 编写于 作者: J jingkl 提交者: GitHub

[test]Add the string testcase of delete (#17085)

Signed-off-by: Njingkl <jingjing.jia@zilliz.com>
上级 b9568177
......@@ -255,9 +255,10 @@ class ResponseChecker:
raise Exception("No expect values found in the check task")
exp_res = check_items.get("exp_res", None)
with_vec = check_items.get("with_vec", False)
primary_field = check_items.get("primary_field", None)
if exp_res is not None:
if isinstance(query_res, list):
assert pc.equal_entities_list(exp=exp_res, actual=query_res, with_vec=with_vec)
assert pc.equal_entities_list(exp=exp_res, actual=query_res, primary_field=primary_field, with_vec=with_vec)
return True
else:
log.error(f"Query result {query_res} is not list")
......
......@@ -148,7 +148,7 @@ def equal_entity(exp, actual):
return True
def entity_in(entity, entities, primary_field=ct.default_int64_field_name):
def entity_in(entity, entities, primary_field):
"""
according to the primary key to judge entity in the entities list
:param entity: dict
......@@ -158,6 +158,8 @@ def entity_in(entity, entities, primary_field=ct.default_int64_field_name):
:param primary_field: collection primary field
:return: True or False
"""
primary_default = ct.default_int64_field_name
primary_field = primary_default if primary_field is None else primary_field
primary_key = entity.get(primary_field, None)
primary_keys = []
for e in entities:
......@@ -168,7 +170,7 @@ def entity_in(entity, entities, primary_field=ct.default_int64_field_name):
return equal_entity(entities[index], entity)
def remove_entity(entity, entities, primary_field=ct.default_int64_field_name):
def remove_entity(entity, entities, primary_field):
"""
according to the primary key to remove an entity from an entities list
:param entity: dict
......@@ -178,6 +180,8 @@ def remove_entity(entity, entities, primary_field=ct.default_int64_field_name):
:param primary_field: collection primary field
:return: entities of removed entity
"""
primary_default = ct.default_int64_field_name
primary_field = primary_default if primary_field is None else primary_field
primary_key = entity.get(primary_field, None)
primary_keys = []
for e in entities:
......@@ -187,7 +191,7 @@ def remove_entity(entity, entities, primary_field=ct.default_int64_field_name):
return entities
def equal_entities_list(exp, actual, with_vec=False):
def equal_entities_list(exp, actual, primary_field, with_vec=False):
"""
compare two entities lists in inconsistent order
:param with_vec: whether entities with vec field
......@@ -206,10 +210,10 @@ def equal_entities_list(exp, actual, with_vec=False):
if with_vec:
for a in actual:
# if vec field returned in query res
if entity_in(a, exp):
if entity_in(a, exp, primary_field):
try:
# if vec field returned in query res
remove_entity(a, exp)
remove_entity(a, exp, primary_field)
except Exception as ex:
log.error(ex)
else:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册