Add test wrapper describe and its cases (#21590)

Signed-off-by: nico <cheng.yuan@zilliz.com>
pull/21642/head
NicoYuan1986 2023-01-11 09:19:39 +08:00 committed by GitHub
parent cc5ecabac6
commit 939f55518f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 44 additions and 0 deletions

View File

@ -340,3 +340,10 @@ class ApiCollectionWrapper:
res, check = api_request([self.collection.get_replicas, timeout], **kwargs)
check_result = ResponseChecker(res, func_name, check_task, check_items, check, **kwargs).run()
return res, check_result
def describe(self, timeout=None, check_task=None, check_items=None):
timeout = TIMEOUT if timeout is None else timeout
func_name = sys._getframe().f_code.co_name
res, check = api_request([self.collection.describe, timeout])
check_result = ResponseChecker(res, func_name, check_task, check_items, check).run()
return res, check_result

View File

@ -2579,6 +2579,43 @@ class TestLoadCollection(TestcaseBase):
"err_msg": "index not exist"})
class TestDescribeCollection(TestcaseBase):
"""
******************************************************************
The following cases are used to test `collection.describe` function
******************************************************************
"""
@pytest.mark.tags(CaseLabel.L2)
def test_collection_describe(self):
"""
target: test describe collection
method: create a collection and check its information when describe
expected: return correct information
"""
self._connect()
c_name = cf.gen_unique_str(prefix)
collection_w = self.init_collection_wrap(name=c_name)
collection_w.create_index(ct.default_float_vec_field_name, index_params=ct.default_flat_index)
description = {'collection_name': c_name, 'auto_id': False, 'description': '',
'fields': [{'field_id': 100, 'name': 'int64', 'description': '', 'type': 5,
'params': {}, 'is_primary': True, 'auto_id': False},
{'field_id': 101, 'name': 'float', 'description': '', 'type': 10,
'params': {}, 'is_primary': False, 'auto_id': False},
{'field_id': 102, 'name': 'varchar', 'description': '', 'type': 21,
'params': {'max_length': 65535}, 'is_primary': False, 'auto_id': False},
{'field_id': 103, 'name': 'float_vector', 'description': '', 'type': 101,
'params': {'dim': 128}, 'is_primary': False, 'auto_id': False}],
'aliases': [], 'consistency_level': 0, 'properties': []}
res = collection_w.describe()[0]
del res['collection_id']
log.info(res)
assert description['fields'] == res['fields'], description['aliases'] == res['aliases']
del description['fields'], res['fields'], description['aliases'], res['aliases']
del description['properties'], res['properties']
assert description == res
class TestReleaseAdvanced(TestcaseBase):
@pytest.mark.tags(CaseLabel.L0)
def test_release_collection_during_searching(self):