diff --git a/tests/python_client/requirements.txt b/tests/python_client/requirements.txt index 57ef524b34..715e66ff45 100644 --- a/tests/python_client/requirements.txt +++ b/tests/python_client/requirements.txt @@ -12,7 +12,7 @@ allure-pytest==2.7.0 pytest-print==0.2.1 pytest-level==0.1.1 pytest-xdist==2.5.0 -pymilvus==2.3.2.post1.dev5 +pymilvus==2.3.3.post1.dev3 pytest-rerunfailures==9.1.1 git+https://github.com/Projectplace/pytest-tags ndg-httpsclient diff --git a/tests/python_client/testcases/test_collection.py b/tests/python_client/testcases/test_collection.py index 97cec1fbe2..9f2c6e3920 100644 --- a/tests/python_client/testcases/test_collection.py +++ b/tests/python_client/testcases/test_collection.py @@ -1103,7 +1103,7 @@ class TestCollectionOperation(TestcaseBase): fields = [] for k, v in DataType.__members__.items(): if v and v != DataType.UNKNOWN and v != DataType.STRING \ - and v != DataType.VARCHAR and v != DataType.FLOAT_VECTOR and v != DataType.FLOAT16_VECTOR\ + and v != DataType.VARCHAR and v != DataType.FLOAT_VECTOR \ and v != DataType.BINARY_VECTOR and v != DataType.ARRAY: field, _ = self.field_schema_wrap.init_field_schema(name=k.lower(), dtype=v) fields.append(field) @@ -3335,10 +3335,9 @@ class TestLoadPartition(TestcaseBase): description=description, check_task=CheckTasks.check_partition_property, check_items={"name": partition_name, "description": description, - "is_empty": True, "num_entities": 0} - ) + "is_empty": True, "num_entities": 0}) partition_w.drop() - error = {ct.err_code: 1, ct.err_msg: 'partitionID of partitionName:%s can not be find' % partition_name} + error = {ct.err_code: 200, ct.err_msg: 'partition not found[partition=%s]' % partition_name} partition_w.release(check_task=CheckTasks.err_res, check_items=error) @pytest.mark.tags(CaseLabel.L0) diff --git a/tests/python_client/testcases/test_high_level_api.py b/tests/python_client/testcases/test_high_level_api.py index 3d7c215cc8..74f764530b 100644 --- a/tests/python_client/testcases/test_high_level_api.py +++ b/tests/python_client/testcases/test_high_level_api.py @@ -144,7 +144,8 @@ class TestHighLevelApi(TestcaseBase): rng = np.random.default_rng(seed=19530) vectors_to_search = rng.random((1, 8)) search_params = {"metric_type": metric_type} - error = {ct.err_code: 1, ct.err_msg: f"metric type not match: expected=IP, actual={metric_type}"} + error = {ct.err_code: 65535, ct.err_msg: f"metric type not match: invalid " + f"parameter[expected=IP][actual={metric_type}]"} client_w.search(client, collection_name, vectors_to_search, limit=default_limit, search_params=search_params, check_task=CheckTasks.err_res, check_items=error) diff --git a/tests/python_client/testcases/test_insert.py b/tests/python_client/testcases/test_insert.py index 8563417b8a..383e2d7855 100644 --- a/tests/python_client/testcases/test_insert.py +++ b/tests/python_client/testcases/test_insert.py @@ -1150,7 +1150,7 @@ class TestInsertAsync(TestcaseBase): collection_w = self.init_collection_wrap( name=cf.gen_unique_str(prefix)) df = cf.gen_default_dataframe_data() - err_msg = "partition=p: partition not found" + err_msg = "partition not found" future, _ = collection_w.insert( data=df, partition_name="p", _async=True) future.done() @@ -2142,7 +2142,7 @@ class TestUpsertInvalid(TestcaseBase): collection_w = self.init_collection_wrap(name=c_name) data = cf.gen_default_dataframe_data(nb=2) partition_name = "partition1" - error = {ct.err_code: 15, ct.err_msg: f"partition={partition_name}: partition not found"} + error = {ct.err_code: 200, ct.err_msg: f"partition not found[partition={partition_name}]"} collection_w.upsert(data=data, partition_name=partition_name, check_task=CheckTasks.err_res, check_items=error) diff --git a/tests/python_client/testcases/test_partition.py b/tests/python_client/testcases/test_partition.py index df0ab55603..f7795725eb 100644 --- a/tests/python_client/testcases/test_partition.py +++ b/tests/python_client/testcases/test_partition.py @@ -720,8 +720,7 @@ class TestPartitionOperations(TestcaseBase): assert not collection_w.has_partition(partition_name)[0] # verify that drop the partition again with exception - partition_w.drop(check_task=CheckTasks.err_res, - check_items={ct.err_code: 1, ct.err_msg: PartitionErrorMessage.PartitionNotExist}) + partition_w.drop() @pytest.mark.tags(CaseLabel.L2) def test_partition_create_and_drop_multi_times(self): @@ -947,7 +946,8 @@ class TestPartitionOperations(TestcaseBase): # insert data to partition partition_w.insert(cf.gen_default_dataframe_data(), check_task=CheckTasks.err_res, - check_items={ct.err_code: 1, ct.err_msg: "Partition not exist"}) + check_items={ct.err_code: 200, + ct.err_msg: "partition not found[partition=%s]" % partition_w.name}) # TODO: update the assert error @pytest.mark.tags(CaseLabel.L1) @@ -1095,7 +1095,8 @@ class TestPartitionOperations(TestcaseBase): # insert data to partition partition_w.upsert(cf.gen_default_dataframe_data(), check_task=CheckTasks.err_res, - check_items={ct.err_code: 1, ct.err_msg: "Partition not exist"}) + check_items={ct.err_code: 200, + ct.err_msg: "partition not found[partition=%s]" % partition_w.name}) @pytest.mark.tags(CaseLabel.L2) def test_partition_upsert_mismatched_data(self): diff --git a/tests/python_client/testcases/test_search.py b/tests/python_client/testcases/test_search.py index 90958d3fac..c5fbcc04bd 100644 --- a/tests/python_client/testcases/test_search.py +++ b/tests/python_client/testcases/test_search.py @@ -343,7 +343,7 @@ class TestCollectionSearchInvalid(TestcaseBase): search_params, default_limit, default_search_exp, check_task=CheckTasks.err_res, - check_items={"err_code": 65538, + check_items={"err_code": 65535, "err_msg": "failed to search"}) @pytest.mark.skip("not fixed yet") @@ -873,14 +873,9 @@ class TestCollectionSearchInvalid(TestcaseBase): collection_w.search(vectors[:default_nq], default_search_field, search_params, reorder_k + 1, check_task=CheckTasks.err_res, - check_items={"err_code": 65538, - "err_msg": "failed to search: attempt #0: failed to search/query " - "delegator 1 for channel by-dev-rootcoord-dml_12_44501" - "8735380972010v0: fail to Search, QueryNode ID=1, reaso" - "n=worker(1) query failed: UnknownError: => failed to " - "search: out of range in json: reorder_k(100) should be" - " larger than k(101): attempt #1: no available shard de" - "legator found: service unavailable"}) + check_items={"err_code": 65535, + "err_msg": f"reorder_k({reorder_k}) should be larger than " + f"k({reorder_k + 1})"}) @pytest.mark.tags(CaseLabel.L2) @pytest.mark.parametrize("nq", [16385]) @@ -942,8 +937,9 @@ class TestCollectionSearchInvalid(TestcaseBase): collection_w.search(binary_vectors[:default_nq], "binary_vector", search_params, default_limit, "int64 >= 0", check_task=CheckTasks.err_res, - check_items={"err_code": 65538, "err_msg": "metric type not match: " - "expected=JACCARD, actual=L2"}) + check_items={"err_code": 65535, + "err_msg": "metric type not match: invalid parameter" + "[expected=JACCARD][actual=L2]"}) @pytest.mark.tags(CaseLabel.L2) def test_search_with_output_fields_not_exist(self): @@ -6053,7 +6049,7 @@ class TestSearchDiskann(TestcaseBase): default_search_exp, output_fields=output_fields, check_task=CheckTasks.err_res, - check_items={"err_code": 65538, + check_items={"err_code": 65535, "err_msg": "fail to search on all shard leaders"}) @pytest.mark.tags(CaseLabel.L2) @@ -6511,8 +6507,9 @@ class TestCollectionRangeSearch(TestcaseBase): range_search_params, default_limit, default_search_exp, check_task=CheckTasks.err_res, - check_items={ct.err_code: 1, - ct.err_msg: "metric type not match: expected=COSINE, actual=IP"}) + check_items={ct.err_code: 65535, + ct.err_msg: "metric type not match: invalid parameter" + "[expected=COSINE][actual=IP]"}) @pytest.mark.tags(CaseLabel.L2) def test_range_search_only_radius(self): @@ -6544,8 +6541,9 @@ class TestCollectionRangeSearch(TestcaseBase): range_search_params, default_limit, default_search_exp, check_task=CheckTasks.err_res, - check_items={ct.err_code: 1, - ct.err_msg: "metric type not match: expected=L2, actual=IP"}) + check_items={ct.err_code: 65535, + ct.err_msg: "metric type not match: invalid parameter" + "[expected=L2][actual=IP]"}) @pytest.mark.tags(CaseLabel.L2) def test_range_search_radius_range_filter_not_in_params(self): @@ -6577,8 +6575,9 @@ class TestCollectionRangeSearch(TestcaseBase): range_search_params, default_limit, default_search_exp, check_task=CheckTasks.err_res, - check_items={ct.err_code: 1, - ct.err_msg: "metric type not match: expected=COSINE, actual=IP"}) + check_items={ct.err_code: 65535, + ct.err_msg: "metric type not match: invalid parameter" + "[expected=COSINE][actual=IP]"}) @pytest.mark.tags(CaseLabel.L1) @pytest.mark.parametrize("dup_times", [1, 2]) diff --git a/tests/python_client/testcases/test_utility.py b/tests/python_client/testcases/test_utility.py index 3b66fd0e96..b553d50d48 100644 --- a/tests/python_client/testcases/test_utility.py +++ b/tests/python_client/testcases/test_utility.py @@ -245,7 +245,7 @@ class TestUtilityParams(TestcaseBase): self.collection_wrap.construct_from_dataframe(c_name, df, primary_field=ct.default_int64_field_name) self.collection_wrap.create_index(ct.default_float_vec_field_name, index_params=ct.default_flat_index) self.collection_wrap.load() - error = {ct.err_code: 4, ct.err_msg: "collection default:not_existed_name: collection not found"} + error = {ct.err_code: 100, ct.err_msg: "collection not found[database=default][collection=not_existed_name]"} self.utility_wrap.loading_progress("not_existed_name", check_task=CheckTasks.err_res, check_items=error) @pytest.mark.tags(CaseLabel.L2) @@ -289,7 +289,7 @@ class TestUtilityParams(TestcaseBase): self.utility_wrap.wait_for_loading_complete( c_name, check_task=CheckTasks.err_res, - check_items={ct.err_code: 4, ct.err_msg: f"collection default:{c_name}: collection not found"}) + check_items={ct.err_code: 100, ct.err_msg: f"collection not found[database=default][collection={c_name}]"}) @pytest.mark.tags(CaseLabel.L2) def test_wait_for_loading_partition_not_existed(self): @@ -607,9 +607,9 @@ class TestUtilityParams(TestcaseBase): new_collection_name = cf.gen_unique_str(prefix) self.utility_wrap.rename_collection(old_collection_name, new_collection_name, check_task=CheckTasks.err_res, - check_items={"err_code": 4, - "err_msg": "collection 1:test_collection_non_exist: " - "collection not found"}) + check_items={"err_code": 100, + "err_msg": "collection not found[database=1][collection=" + "%s]" % old_collection_name}) @pytest.mark.tags(CaseLabel.L1) def test_rename_collection_existed_collection_name(self):