From b2a2ef1820f423e2e744ebd150e0c0b78f73bc20 Mon Sep 17 00:00:00 2001 From: XuanYang-cn Date: Fri, 14 Jan 2022 12:55:34 +0800 Subject: [PATCH] Update pymilvus version to 2.0.0rc10.dev5 (#15197) Signed-off-by: yangxuan --- tests/python_client/base/client_base.py | 11 +++--- .../python_client/base/collection_wrapper.py | 2 ++ .../python_client/base/connections_wrapper.py | 12 +++++-- tests/python_client/check/func_check.py | 11 +++--- tests/python_client/common/common_type.py | 2 +- tests/python_client/requirements.txt | 4 +-- .../testcases/test_collection.py | 10 +++--- .../testcases/test_connection.py | 35 +++++++++---------- tests/python_client/testcases/test_delete.py | 1 - tests/python_client/testcases/test_index.py | 3 +- 10 files changed, 50 insertions(+), 41 deletions(-) diff --git a/tests/python_client/base/client_base.py b/tests/python_client/base/client_base.py index f2291b034..512bdba73 100644 --- a/tests/python_client/base/client_base.py +++ b/tests/python_client/base/client_base.py @@ -64,7 +64,7 @@ class Base: try: """ Drop collection before disconnect """ - if self.connection_wrap.get_connection(alias=DefaultConfig.DEFAULT_USING)[0] is None: + if not self.connection_wrap.has_connection(alias=DefaultConfig.DEFAULT_USING)[0]: self.connection_wrap.connect(alias=DefaultConfig.DEFAULT_USING, host=param_info.param_host, port=param_info.param_port) @@ -107,7 +107,7 @@ class TestcaseBase(Base): def init_collection_wrap(self, name=None, schema=None, shards_num=2, check_task=None, check_items=None, **kwargs): name = cf.gen_unique_str('coll_') if name is None else name schema = cf.gen_default_collection_schema() if schema is None else schema - if self.connection_wrap.get_connection(alias=DefaultConfig.DEFAULT_USING)[0] is None: + 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) @@ -133,7 +133,7 @@ class TestcaseBase(Base): check_task=check_task, check_items=check_items, **kwargs) return partition_wrap - + def init_collection_general(self, prefix, 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): @@ -185,7 +185,7 @@ class TestcaseBase(Base): :param half: half of nb :return: collection wrap and partition wrap """ - conn = self._connect() + self._connect() collection_w = self.init_collection_wrap(name=cf.gen_unique_str(prefix)) partition_w = self.init_partition_wrap(collection_wrap=collection_w) # insert [0, half) into partition_w @@ -194,7 +194,8 @@ class TestcaseBase(Base): # insert [half, nb) into _default df_default = cf.gen_default_dataframe_data(nb=half, start=half) collection_w.insert(df_default) - conn.flush([collection_w.name]) + # flush + collection_w.num_entities collection_w.load(partition_names=[partition_w.name, "_default"]) return collection_w, partition_w, df_partition, df_default diff --git a/tests/python_client/base/collection_wrapper.py b/tests/python_client/base/collection_wrapper.py index f81885f8a..2b952ac7f 100644 --- a/tests/python_client/base/collection_wrapper.py +++ b/tests/python_client/base/collection_wrapper.py @@ -1,4 +1,5 @@ import sys +import time from pymilvus import Collection @@ -120,6 +121,7 @@ class ApiCollectionWrapper: def query(self, expr, output_fields=None, partition_names=None, timeout=None, check_task=None, check_items=None, **kwargs): + time.sleep(5) timeout = TIMEOUT if timeout is None else timeout func_name = sys._getframe().f_code.co_name diff --git a/tests/python_client/base/connections_wrapper.py b/tests/python_client/base/connections_wrapper.py index 461caacec..80d4f01ca 100644 --- a/tests/python_client/base/connections_wrapper.py +++ b/tests/python_client/base/connections_wrapper.py @@ -35,12 +35,18 @@ class ApiConnectionsWrapper: check_result = ResponseChecker(response, func_name, check_task, check_items, succ, alias=alias, **kwargs).run() return response, check_result - def get_connection(self, alias=DefaultConfig.DEFAULT_USING, check_task=None, check_items=None): + def has_connection(self, alias=DefaultConfig.DEFAULT_USING, check_task=None, check_items=None): func_name = sys._getframe().f_code.co_name - response, is_succ = api_request([self.connection.get_connection, alias]) - check_result = ResponseChecker(response, func_name, check_task, check_items, is_succ, alias=alias).run() + response, succ = api_request([self.connection.has_connection, alias]) + check_result = ResponseChecker(response, func_name, check_task, check_items, succ, alias=alias).run() return response, check_result + # def get_connection(self, alias=DefaultConfig.DEFAULT_USING, check_task=None, check_items=None): + # func_name = sys._getframe().f_code.co_name + # response, is_succ = api_request([self.connection.get_connection, alias]) + # check_result = ResponseChecker(response, func_name, check_task, check_items, is_succ, alias=alias).run() + # return response, check_result + def list_connections(self, check_task=None, check_items=None): func_name = sys._getframe().f_code.co_name response, is_succ = api_request([self.connection.list_connections]) diff --git a/tests/python_client/check/func_check.py b/tests/python_client/check/func_check.py index b3a7fe3db..0d187f9b8 100644 --- a/tests/python_client/check/func_check.py +++ b/tests/python_client/check/func_check.py @@ -108,12 +108,13 @@ class ResponseChecker: if func_name == "connect": class_obj = Connect_Object_Name - res_obj = type(res).__name__ - assert res_obj == class_obj + # res_obj = type(res).__name__ + # assert res_obj == class_obj - if func_name == "get_connection": - value_content = params.get(ct.value_content, None) - res_obj = type(res).__name__ if res is not None else None + if func_name == "has_connection": + + value_content = params.get(ct.value_content, False) + res_obj = res if res is not None else False assert res_obj == value_content return True diff --git a/tests/python_client/common/common_type.py b/tests/python_client/common/common_type.py index 6e4cdf79c..c903afaf5 100644 --- a/tests/python_client/common/common_type.py +++ b/tests/python_client/common/common_type.py @@ -52,7 +52,7 @@ max_compaction_interval = 60 # the max time interval (s) from the last compacti max_field_num = 256 # Maximum number of fields in a collection Not_Exist = "Not_Exist" -Connect_Object_Name = "Milvus" +Connect_Object_Name = True list_content = "list_content" dict_content = "dict_content" value_content = "value_content" diff --git a/tests/python_client/requirements.txt b/tests/python_client/requirements.txt index 5db02cf36..b0b44a08c 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.2.1 -pymilvus==2.0.0rc9.dev24 +pymilvus==2.0.0rc10.dev5 pytest-rerunfailures==9.1.1 git+https://github.com/Projectplace/pytest-tags ndg-httpsclient @@ -32,4 +32,4 @@ pytest-random-order python-benedict==0.24.3 # version need to be consistent with protobuf used in pymilvus -protobuf==3.17.1 \ No newline at end of file +protobuf==3.17.1 diff --git a/tests/python_client/testcases/test_collection.py b/tests/python_client/testcases/test_collection.py index 83b82be7a..ba1a17982 100644 --- a/tests/python_client/testcases/test_collection.py +++ b/tests/python_client/testcases/test_collection.py @@ -1138,13 +1138,14 @@ class TestCollectionDataframe(TestcaseBase): method: create collection and insert with dataframe expected: collection num entities equal to nb """ - conn = self._connect() + self._connect() c_name = cf.gen_unique_str(prefix) df = cf.gen_default_dataframe_data(ct.default_nb) self.collection_wrap.construct_from_dataframe(c_name, df, primary_field=ct.default_int64_field_name, check_task=CheckTasks.check_collection_property, check_items={exp_name: c_name, exp_schema: default_schema}) - conn.flush([c_name]) + # flush + self.collection_wrap.num_entities assert self.collection_wrap.num_entities == ct.default_nb @pytest.mark.tags(CaseLabel.L0) @@ -1406,7 +1407,7 @@ class TestCollectionDataframe(TestcaseBase): method: create collection with dup name, none schema, dataframe expected: two collection object is correct """ - conn = self._connect() + self._connect() c_name = cf.gen_unique_str(prefix) collection_w = self.init_collection_wrap(name=c_name, primary_field=ct.default_int64_field_name, check_task=CheckTasks.check_collection_property, @@ -1415,7 +1416,8 @@ class TestCollectionDataframe(TestcaseBase): self.collection_wrap.construct_from_dataframe(c_name, df, primary_field=ct.default_int64_field_name, check_task=CheckTasks.check_collection_property, check_items={exp_name: c_name, exp_schema: default_schema}) - conn.flush([collection_w.name]) + # flush + self.collection_wrap.num_entities assert collection_w.num_entities == ct.default_nb assert collection_w.num_entities == self.collection_wrap.num_entities diff --git a/tests/python_client/testcases/test_connection.py b/tests/python_client/testcases/test_connection.py index c67507f53..077135113 100644 --- a/tests/python_client/testcases/test_connection.py +++ b/tests/python_client/testcases/test_connection.py @@ -67,7 +67,7 @@ class TestConnectionParams(TestcaseBase): self.connection_wrap.connect(alias=alias, check_task=ct.CheckTasks.err_res, check_items={ct.err_code: 0, ct.err_msg: cem.AliasType % type(alias)}) - @pytest.mark.tags(ct.CaseLabel.L2) + @pytest.mark.skip("get_connection is replaced by has_connection") @pytest.mark.parametrize("alias", ct.get_not_string) def test_connection_get_alias_param_check(self, alias): """ @@ -173,8 +173,8 @@ class TestConnectionOperation(TestcaseBase): alias2={"host": "192.168.1.1", "port": "123"}) # get the object of alias - self.connection_wrap.get_connection(alias=DefaultConfig.DEFAULT_USING, check_task=ct.CheckTasks.ccr, - check_items={ct.value_content: None}) + self.connection_wrap.has_connection(alias=DefaultConfig.DEFAULT_USING, check_task=ct.CheckTasks.ccr, + check_items={ct.value_content: False}) # list all connections and check the response self.connection_wrap.list_connections(check_task=ct.CheckTasks.ccr, @@ -436,7 +436,7 @@ class TestConnectionOperation(TestcaseBase): # list all connections and check the response self.connection_wrap.list_connections(check_task=ct.CheckTasks.ccr, check_items={ct.list_content: [(DefaultConfig.DEFAULT_USING, - ct.Connect_Object_Name)]}) + "GrpcHandler")]}) # get all addr of alias and check the response self.connection_wrap.get_connection_addr(alias=DefaultConfig.DEFAULT_USING, check_task=ct.CheckTasks.ccr, @@ -458,14 +458,14 @@ class TestConnectionOperation(TestcaseBase): self.connection_wrap.connect(alias=connect_name, check_task=ct.CheckTasks.ccr) # get the object of alias - res_obj1 = self.connection_wrap.get_connection(alias=connect_name, check_task=ct.CheckTasks.ccr, + res_obj1 = self.connection_wrap.has_connection(alias=connect_name, check_task=ct.CheckTasks.ccr, check_items={ct.value_content: ct.Connect_Object_Name})[0] # connect twice with the same params self.connection_wrap.connect(alias=connect_name, host=host, port=port, check_task=ct.CheckTasks.ccr) # get the object of alias - res_obj2 = self.connection_wrap.get_connection(alias=connect_name, check_task=ct.CheckTasks.ccr, + res_obj2 = self.connection_wrap.has_connection(alias=connect_name, check_task=ct.CheckTasks.ccr, check_items={ct.value_content: ct.Connect_Object_Name})[0] # check the response of the same alias is equal @@ -490,11 +490,11 @@ class TestConnectionOperation(TestcaseBase): self.connection_wrap.connect(alias=connect_name, host=host, port=port, check_task=ct.CheckTasks.ccr) # get the object of alias - self.connection_wrap.get_connection(alias=connect_name, check_task=ct.CheckTasks.ccr, + self.connection_wrap.has_connection(alias=connect_name, check_task=ct.CheckTasks.ccr, check_items={ct.value_content: ct.Connect_Object_Name}) # list all connections and check the response - list_content = [(connect_name, ct.Connect_Object_Name)] if connect_name is DefaultConfig.DEFAULT_USING else \ + list_content = [(connect_name, "GrpcHandler")] if connect_name is DefaultConfig.DEFAULT_USING else \ [(DefaultConfig.DEFAULT_USING, None), (connect_name, ct.Connect_Object_Name)] self.connection_wrap.list_connections(check_task=ct.CheckTasks.ccr, check_items={ct.list_content: list_content}) @@ -558,7 +558,7 @@ class TestConnectionOperation(TestcaseBase): method: 1. connect with default alias 2. get connection 3. disconnect with default alias - 4. get connection + 4. has connection 5. disconnect again 6. list connections and get connection address expected: the connection was successfully terminated @@ -571,15 +571,15 @@ class TestConnectionOperation(TestcaseBase): self.connection_wrap.connect(alias=DefaultConfig.DEFAULT_USING, check_task=ct.CheckTasks.ccr) # get the object of alias - self.connection_wrap.get_connection(alias=DefaultConfig.DEFAULT_USING, check_task=ct.CheckTasks.ccr, + self.connection_wrap.has_connection(alias=DefaultConfig.DEFAULT_USING, check_task=ct.CheckTasks.ccr, check_items={ct.value_content: ct.Connect_Object_Name}) # disconnect alias is exist self.connection_wrap.disconnect(alias=DefaultConfig.DEFAULT_USING) # get the object of alias - self.connection_wrap.get_connection(alias=DefaultConfig.DEFAULT_USING, check_task=ct.CheckTasks.ccr, - check_items={ct.value_content: None}) + self.connection_wrap.has_connection(alias=DefaultConfig.DEFAULT_USING, check_task=ct.CheckTasks.ccr, + check_items={ct.value_content: False}) # disconnect twice self.connection_wrap.disconnect(alias=DefaultConfig.DEFAULT_USING) @@ -613,7 +613,7 @@ class TestConnectionOperation(TestcaseBase): self.connection_wrap.list_connections(check_task=ct.CheckTasks.ccr, check_items={ct.list_content: [(DefaultConfig.DEFAULT_USING, None), ( - test_alias_name, ct.Connect_Object_Name)]}) + test_alias_name, "GrpcHandler")]}) # get all addr of alias and check the response self.connection_wrap.get_connection_addr(alias=test_alias_name, check_task=ct.CheckTasks.ccr, @@ -676,8 +676,8 @@ class TestConnectionOperation(TestcaseBase): self.connection_wrap.remove_connection(alias=connect_name) # get the object of alias - self.connection_wrap.get_connection(alias=DefaultConfig.DEFAULT_USING, check_task=ct.CheckTasks.ccr, - check_items={ct.value_content: None}) + self.connection_wrap.has_connection(alias=DefaultConfig.DEFAULT_USING, check_task=ct.CheckTasks.ccr, + check_items={ct.value_content: False}) # list all connections and check the response list_content = [] if connect_name == DefaultConfig.DEFAULT_USING else [(DefaultConfig.DEFAULT_USING, None)] @@ -795,11 +795,8 @@ class TestConnect: expected: connected is True """ uri_value = "" - if self.local_ip(args): + with pytest.raises(Exception) as e: milvus = get_milvus(None, None, uri=uri_value, handler=args["handler"]) - else: - with pytest.raises(Exception) as e: - milvus = get_milvus(None, None, uri=uri_value, handler=args["handler"]) @pytest.mark.tags(ct.CaseLabel.L2) def test_connect_with_multiprocess(self, args): diff --git a/tests/python_client/testcases/test_delete.py b/tests/python_client/testcases/test_delete.py index 1e5cf8173..577f73105 100644 --- a/tests/python_client/testcases/test_delete.py +++ b/tests/python_client/testcases/test_delete.py @@ -399,7 +399,6 @@ class TestDeleteOperation(TestcaseBase): collection_w.query(expr=f'{ct.default_int64_field_name} in {[0, tmp_nb]}', check_task=CheckTasks.check_query_empty) - @pytest.mark.skip("enable this later using session/strong consistency") @pytest.mark.tags(CaseLabel.L1) def test_delete_search(self): """ diff --git a/tests/python_client/testcases/test_index.py b/tests/python_client/testcases/test_index.py index 6744ee3fb..d476fd47d 100644 --- a/tests/python_client/testcases/test_index.py +++ b/tests/python_client/testcases/test_index.py @@ -199,7 +199,8 @@ class TestIndexOperation(TestcaseBase): collection_w = self.init_collection_wrap(name=c_name) data = cf.gen_default_list_data() collection_w.insert(data=data) - self._connect().flush([collection_w.name]) + # flush + collection_w.num_entities index, _ = self.index_wrap.init_index(collection_w.collection, default_field_name, default_index_params) # TODO: assert index cf.assert_equal_index(index, collection_w.collection.indexes[0]) -- GitLab