diff --git a/tests/milvus_python_test/test_delete_vectors.py b/tests/milvus_python_test/test_delete_vectors.py index 4e1f7d101d255ca6771f8974bd089d1290b67489..57ab76770ffd8c7029bc30a305c3d40c42c6c046 100644 --- a/tests/milvus_python_test/test_delete_vectors.py +++ b/tests/milvus_python_test/test_delete_vectors.py @@ -1,425 +1,425 @@ -import time -import random -import pdb -import logging -import threading -from builtins import Exception -from multiprocessing import Pool, Process -import pytest - -from milvus import Milvus, IndexType -from utils import * - - -dim = 128 -index_file_size = 10 -table_id = "test_delete" -DELETE_TIMEOUT = 60 -vectors = gen_vectors(100, dim) - -class TestDeleteVectorsBase: - """ - generate invalid query range params - """ - @pytest.fixture( - scope="function", - params=[ - (get_current_day(), get_current_day()), - (get_last_day(1), get_last_day(1)), - (get_next_day(1), get_next_day(1)) - ] - ) - def get_invalid_range(self, request): - yield request.param - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_invalid_range(self, connect, table, get_invalid_range): - ''' - target: test delete vectors, no index created - method: call `delete_vectors_by_range`, with invalid date params - expected: return code 0 - ''' - start_date = get_invalid_range[0] - end_date = get_invalid_range[1] - status, ids = connect.add_vectors(table, vectors) - status = connect.delete_vectors_by_range(table, start_date, end_date) - assert not status.OK() - - """ - generate valid query range params, no search result - """ - @pytest.fixture( - scope="function", - params=[ - (get_last_day(2), get_last_day(1)), - (get_last_day(2), get_current_day()), - (get_next_day(1), get_next_day(2)) - ] - ) - def get_valid_range_no_result(self, request): - yield request.param - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_valid_range_no_result(self, connect, table, get_valid_range_no_result): - ''' - target: test delete vectors, no index created - method: call `delete_vectors_by_range`, with valid date params - expected: return code 0 - ''' - start_date = get_valid_range_no_result[0] - end_date = get_valid_range_no_result[1] - status, ids = connect.add_vectors(table, vectors) - time.sleep(2) - status = connect.delete_vectors_by_range(table, start_date, end_date) - assert status.OK() - status, result = connect.get_table_row_count(table) - assert result == 100 - - """ - generate valid query range params, no search result - """ - @pytest.fixture( - scope="function", - params=[ - (get_last_day(2), get_next_day(2)), - (get_current_day(), get_next_day(2)), - ] - ) - def get_valid_range(self, request): - yield request.param - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_valid_range(self, connect, table, get_valid_range): - ''' - target: test delete vectors, no index created - method: call `delete_vectors_by_range`, with valid date params - expected: return code 0 - ''' - start_date = get_valid_range[0] - end_date = get_valid_range[1] - status, ids = connect.add_vectors(table, vectors) - time.sleep(2) - status = connect.delete_vectors_by_range(table, start_date, end_date) - assert status.OK() - status, result = connect.get_table_row_count(table) - assert result == 0 - - @pytest.fixture( - scope="function", - params=gen_index_params() - ) - def get_index_params(self, request, args): - if "internal" not in args: - if request.param["index_type"] == IndexType.IVF_SQ8H: - pytest.skip("sq8h not support in open source") - return request.param - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_valid_range_index_created(self, connect, table, get_index_params): - ''' - target: test delete vectors, no index created - method: call `delete_vectors_by_range`, with valid date params - expected: return code 0 - ''' - start_date = get_current_day() - end_date = get_next_day(2) - index_params = get_index_params - logging.getLogger().info(index_params) - status, ids = connect.add_vectors(table, vectors) - status = connect.create_index(table, index_params) - logging.getLogger().info(status) - logging.getLogger().info("Start delete vectors by range: %s:%s" % (start_date, end_date)) - status = connect.delete_vectors_by_range(table, start_date, end_date) - assert status.OK() - status, result = connect.get_table_row_count(table) - assert result == 0 - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_no_data(self, connect, table): - ''' - target: test delete vectors, no index created - method: call `delete_vectors_by_range`, with valid date params, and no data in db - expected: return code 0 - ''' - start_date = get_current_day() - end_date = get_next_day(2) - # status, ids = connect.add_vectors(table, vectors) - status = connect.delete_vectors_by_range(table, start_date, end_date) - assert status.OK() - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_table_not_existed(self, connect): - ''' - target: test delete vectors, table not existed in db - method: call `delete_vectors_by_range`, with table not existed - expected: return code not 0 - ''' - start_date = get_current_day() - end_date = get_next_day(2) - table_name = gen_unique_str("not_existed_table") - status = connect.delete_vectors_by_range(table_name, start_date, end_date) - assert not status.OK() - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_table_None(self, connect, table): - ''' - target: test delete vectors, table set Nope - method: call `delete_vectors_by_range`, with table value is None - expected: return code not 0 - ''' - start_date = get_current_day() - end_date = get_next_day(2) - table_name = None - with pytest.raises(Exception) as e: - status = connect.delete_vectors_by_range(table_name, start_date, end_date) - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_valid_range_multi_tables(self, connect, get_valid_range): - ''' - target: test delete vectors is correct or not with multiple tables of L2 - method: create 50 tables and add vectors into them , then delete vectors - in valid range - expected: return code 0 - ''' - nq = 100 - vectors = gen_vectors(nq, dim) - table_list = [] - for i in range(50): - table_name = gen_unique_str('test_delete_vectors_valid_range_multi_tables') - table_list.append(table_name) - param = {'table_name': table_name, - 'dimension': dim, - 'index_file_size': index_file_size, - 'metric_type': MetricType.L2} - connect.create_table(param) - status, ids = connect.add_vectors(table_name=table_name, records=vectors) - time.sleep(2) - start_date = get_valid_range[0] - end_date = get_valid_range[1] - for i in range(50): - status = connect.delete_vectors_by_range(table_list[i], start_date, end_date) - assert status.OK() - status, result = connect.get_table_row_count(table_list[i]) - assert result == 0 - - -class TestDeleteVectorsIP: - """ - generate invalid query range params - """ - @pytest.fixture( - scope="function", - params=[ - (get_current_day(), get_current_day()), - (get_last_day(1), get_last_day(1)), - (get_next_day(1), get_next_day(1)) - ] - ) - def get_invalid_range(self, request): - yield request.param - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_invalid_range(self, connect, ip_table, get_invalid_range): - ''' - target: test delete vectors, no index created - method: call `delete_vectors_by_range`, with invalid date params - expected: return code 0 - ''' - start_date = get_invalid_range[0] - end_date = get_invalid_range[1] - status, ids = connect.add_vectors(ip_table, vectors) - status = connect.delete_vectors_by_range(ip_table, start_date, end_date) - assert not status.OK() - - """ - generate valid query range params, no search result - """ - @pytest.fixture( - scope="function", - params=[ - (get_last_day(2), get_last_day(1)), - (get_last_day(2), get_current_day()), - (get_next_day(1), get_next_day(2)) - ] - ) - def get_valid_range_no_result(self, request): - yield request.param - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_valid_range_no_result(self, connect, ip_table, get_valid_range_no_result): - ''' - target: test delete vectors, no index created - method: call `delete_vectors_by_range`, with valid date params - expected: return code 0 - ''' - start_date = get_valid_range_no_result[0] - end_date = get_valid_range_no_result[1] - status, ids = connect.add_vectors(ip_table, vectors) - time.sleep(2) - status = connect.delete_vectors_by_range(ip_table, start_date, end_date) - assert status.OK() - status, result = connect.get_table_row_count(ip_table) - assert result == 100 - - """ - generate valid query range params, no search result - """ - @pytest.fixture( - scope="function", - params=[ - (get_last_day(2), get_next_day(2)), - (get_current_day(), get_next_day(2)), - ] - ) - def get_valid_range(self, request): - yield request.param - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_valid_range(self, connect, ip_table, get_valid_range): - ''' - target: test delete vectors, no index created - method: call `delete_vectors_by_range`, with valid date params - expected: return code 0 - ''' - start_date = get_valid_range[0] - end_date = get_valid_range[1] - status, ids = connect.add_vectors(ip_table, vectors) - time.sleep(2) - status = connect.delete_vectors_by_range(ip_table, start_date, end_date) - assert status.OK() - status, result = connect.get_table_row_count(ip_table) - assert result == 0 - - @pytest.fixture( - scope="function", - params=gen_index_params() - ) - def get_index_params(self, request, args): - if "internal" not in args: - if request.param["index_type"] == IndexType.IVF_SQ8H: - pytest.skip("sq8h not support in open source") - return request.param - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_valid_range_index_created(self, connect, ip_table, get_index_params): - ''' - target: test delete vectors, no index created - method: call `delete_vectors_by_range`, with valid date params - expected: return code 0 - ''' - start_date = get_current_day() - end_date = get_next_day(2) - index_params = get_index_params - logging.getLogger().info(index_params) - status, ids = connect.add_vectors(ip_table, vectors) - status = connect.create_index(ip_table, index_params) - logging.getLogger().info(status) - logging.getLogger().info("Start delete vectors by range: %s:%s" % (start_date, end_date)) - status = connect.delete_vectors_by_range(ip_table, start_date, end_date) - assert status.OK() - status, result = connect.get_table_row_count(ip_table) - assert result == 0 - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_no_data(self, connect, ip_table): - ''' - target: test delete vectors, no index created - method: call `delete_vectors_by_range`, with valid date params, and no data in db - expected: return code 0 - ''' - start_date = get_current_day() - end_date = get_next_day(2) - # status, ids = connect.add_vectors(table, vectors) - status = connect.delete_vectors_by_range(ip_table, start_date, end_date) - assert status.OK() - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_table_None(self, connect, ip_table): - ''' - target: test delete vectors, table set Nope - method: call `delete_vectors_by_range`, with table value is None - expected: return code not 0 - ''' - start_date = get_current_day() - end_date = get_next_day(2) - table_name = None - with pytest.raises(Exception) as e: - status = connect.delete_vectors_by_range(table_name, start_date, end_date) - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_valid_range_multi_tables(self, connect, get_valid_range): - ''' - target: test delete vectors is correct or not with multiple tables of IP - method: create 50 tables and add vectors into them , then delete vectors - in valid range - expected: return code 0 - ''' - nq = 100 - vectors = gen_vectors(nq, dim) - table_list = [] - for i in range(50): - table_name = gen_unique_str('test_delete_vectors_valid_range_multi_tables') - table_list.append(table_name) - param = {'table_name': table_name, - 'dimension': dim, - 'index_file_size': index_file_size, - 'metric_type': MetricType.IP} - connect.create_table(param) - status, ids = connect.add_vectors(table_name=table_name, records=vectors) - time.sleep(2) - start_date = get_valid_range[0] - end_date = get_valid_range[1] - for i in range(50): - status = connect.delete_vectors_by_range(table_list[i], start_date, end_date) - assert status.OK() - status, result = connect.get_table_row_count(table_list[i]) - assert result == 0 - -class TestDeleteVectorsParamsInvalid: - - """ - Test search table with invalid table names - """ - @pytest.fixture( - scope="function", - params=gen_invalid_table_names() - ) - def get_table_name(self, request): - yield request.param - - @pytest.mark.level(2) - def test_delete_vectors_table_invalid_name(self, connect, get_table_name): - ''' - ''' - start_date = get_current_day() - end_date = get_next_day(2) - table_name = get_table_name - logging.getLogger().info(table_name) - top_k = 1 - nprobe = 1 - status = connect.delete_vectors_by_range(table_name, start_date, end_date) - assert not status.OK() - - """ - Test search table with invalid query ranges - """ - @pytest.fixture( - scope="function", - params=gen_invalid_query_ranges() - ) - def get_query_ranges(self, request): - yield request.param - - @pytest.mark.timeout(DELETE_TIMEOUT) - def test_delete_vectors_range_invalid(self, connect, table, get_query_ranges): - ''' - target: test search fuction, with the wrong query_range - method: search with query_range - expected: raise an error, and the connection is normal - ''' - start_date = get_query_ranges[0][0] - end_date = get_query_ranges[0][1] - status, ids = connect.add_vectors(table, vectors) - logging.getLogger().info(get_query_ranges) - with pytest.raises(Exception) as e: - status = connect.delete_vectors_by_range(table, start_date, end_date) \ No newline at end of file +# import time +# import random +# import pdb +# import logging +# import threading +# from builtins import Exception +# from multiprocessing import Pool, Process +# import pytest + +# from milvus import Milvus, IndexType +# from utils import * + + +# dim = 128 +# index_file_size = 10 +# table_id = "test_delete" +# DELETE_TIMEOUT = 60 +# vectors = gen_vectors(100, dim) + +# class TestDeleteVectorsBase: +# """ +# generate invalid query range params +# """ +# @pytest.fixture( +# scope="function", +# params=[ +# (get_current_day(), get_current_day()), +# (get_last_day(1), get_last_day(1)), +# (get_next_day(1), get_next_day(1)) +# ] +# ) +# def get_invalid_range(self, request): +# yield request.param + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_invalid_range(self, connect, table, get_invalid_range): +# ''' +# target: test delete vectors, no index created +# method: call `delete_vectors_by_range`, with invalid date params +# expected: return code 0 +# ''' +# start_date = get_invalid_range[0] +# end_date = get_invalid_range[1] +# status, ids = connect.add_vectors(table, vectors) +# status = connect.delete_vectors_by_range(table, start_date, end_date) +# assert not status.OK() + +# """ +# generate valid query range params, no search result +# """ +# @pytest.fixture( +# scope="function", +# params=[ +# (get_last_day(2), get_last_day(1)), +# (get_last_day(2), get_current_day()), +# (get_next_day(1), get_next_day(2)) +# ] +# ) +# def get_valid_range_no_result(self, request): +# yield request.param + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_valid_range_no_result(self, connect, table, get_valid_range_no_result): +# ''' +# target: test delete vectors, no index created +# method: call `delete_vectors_by_range`, with valid date params +# expected: return code 0 +# ''' +# start_date = get_valid_range_no_result[0] +# end_date = get_valid_range_no_result[1] +# status, ids = connect.add_vectors(table, vectors) +# time.sleep(2) +# status = connect.delete_vectors_by_range(table, start_date, end_date) +# assert status.OK() +# status, result = connect.get_table_row_count(table) +# assert result == 100 + +# """ +# generate valid query range params, no search result +# """ +# @pytest.fixture( +# scope="function", +# params=[ +# (get_last_day(2), get_next_day(2)), +# (get_current_day(), get_next_day(2)), +# ] +# ) +# def get_valid_range(self, request): +# yield request.param + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_valid_range(self, connect, table, get_valid_range): +# ''' +# target: test delete vectors, no index created +# method: call `delete_vectors_by_range`, with valid date params +# expected: return code 0 +# ''' +# start_date = get_valid_range[0] +# end_date = get_valid_range[1] +# status, ids = connect.add_vectors(table, vectors) +# time.sleep(2) +# status = connect.delete_vectors_by_range(table, start_date, end_date) +# assert status.OK() +# status, result = connect.get_table_row_count(table) +# assert result == 0 + +# @pytest.fixture( +# scope="function", +# params=gen_index_params() +# ) +# def get_index_params(self, request, args): +# if "internal" not in args: +# if request.param["index_type"] == IndexType.IVF_SQ8H: +# pytest.skip("sq8h not support in open source") +# return request.param + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_valid_range_index_created(self, connect, table, get_index_params): +# ''' +# target: test delete vectors, no index created +# method: call `delete_vectors_by_range`, with valid date params +# expected: return code 0 +# ''' +# start_date = get_current_day() +# end_date = get_next_day(2) +# index_params = get_index_params +# logging.getLogger().info(index_params) +# status, ids = connect.add_vectors(table, vectors) +# status = connect.create_index(table, index_params) +# logging.getLogger().info(status) +# logging.getLogger().info("Start delete vectors by range: %s:%s" % (start_date, end_date)) +# status = connect.delete_vectors_by_range(table, start_date, end_date) +# assert status.OK() +# status, result = connect.get_table_row_count(table) +# assert result == 0 + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_no_data(self, connect, table): +# ''' +# target: test delete vectors, no index created +# method: call `delete_vectors_by_range`, with valid date params, and no data in db +# expected: return code 0 +# ''' +# start_date = get_current_day() +# end_date = get_next_day(2) +# # status, ids = connect.add_vectors(table, vectors) +# status = connect.delete_vectors_by_range(table, start_date, end_date) +# assert status.OK() + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_table_not_existed(self, connect): +# ''' +# target: test delete vectors, table not existed in db +# method: call `delete_vectors_by_range`, with table not existed +# expected: return code not 0 +# ''' +# start_date = get_current_day() +# end_date = get_next_day(2) +# table_name = gen_unique_str("not_existed_table") +# status = connect.delete_vectors_by_range(table_name, start_date, end_date) +# assert not status.OK() + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_table_None(self, connect, table): +# ''' +# target: test delete vectors, table set Nope +# method: call `delete_vectors_by_range`, with table value is None +# expected: return code not 0 +# ''' +# start_date = get_current_day() +# end_date = get_next_day(2) +# table_name = None +# with pytest.raises(Exception) as e: +# status = connect.delete_vectors_by_range(table_name, start_date, end_date) + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_valid_range_multi_tables(self, connect, get_valid_range): +# ''' +# target: test delete vectors is correct or not with multiple tables of L2 +# method: create 50 tables and add vectors into them , then delete vectors +# in valid range +# expected: return code 0 +# ''' +# nq = 100 +# vectors = gen_vectors(nq, dim) +# table_list = [] +# for i in range(50): +# table_name = gen_unique_str('test_delete_vectors_valid_range_multi_tables') +# table_list.append(table_name) +# param = {'table_name': table_name, +# 'dimension': dim, +# 'index_file_size': index_file_size, +# 'metric_type': MetricType.L2} +# connect.create_table(param) +# status, ids = connect.add_vectors(table_name=table_name, records=vectors) +# time.sleep(2) +# start_date = get_valid_range[0] +# end_date = get_valid_range[1] +# for i in range(50): +# status = connect.delete_vectors_by_range(table_list[i], start_date, end_date) +# assert status.OK() +# status, result = connect.get_table_row_count(table_list[i]) +# assert result == 0 + + +# class TestDeleteVectorsIP: +# """ +# generate invalid query range params +# """ +# @pytest.fixture( +# scope="function", +# params=[ +# (get_current_day(), get_current_day()), +# (get_last_day(1), get_last_day(1)), +# (get_next_day(1), get_next_day(1)) +# ] +# ) +# def get_invalid_range(self, request): +# yield request.param + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_invalid_range(self, connect, ip_table, get_invalid_range): +# ''' +# target: test delete vectors, no index created +# method: call `delete_vectors_by_range`, with invalid date params +# expected: return code 0 +# ''' +# start_date = get_invalid_range[0] +# end_date = get_invalid_range[1] +# status, ids = connect.add_vectors(ip_table, vectors) +# status = connect.delete_vectors_by_range(ip_table, start_date, end_date) +# assert not status.OK() + +# """ +# generate valid query range params, no search result +# """ +# @pytest.fixture( +# scope="function", +# params=[ +# (get_last_day(2), get_last_day(1)), +# (get_last_day(2), get_current_day()), +# (get_next_day(1), get_next_day(2)) +# ] +# ) +# def get_valid_range_no_result(self, request): +# yield request.param + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_valid_range_no_result(self, connect, ip_table, get_valid_range_no_result): +# ''' +# target: test delete vectors, no index created +# method: call `delete_vectors_by_range`, with valid date params +# expected: return code 0 +# ''' +# start_date = get_valid_range_no_result[0] +# end_date = get_valid_range_no_result[1] +# status, ids = connect.add_vectors(ip_table, vectors) +# time.sleep(2) +# status = connect.delete_vectors_by_range(ip_table, start_date, end_date) +# assert status.OK() +# status, result = connect.get_table_row_count(ip_table) +# assert result == 100 + +# """ +# generate valid query range params, no search result +# """ +# @pytest.fixture( +# scope="function", +# params=[ +# (get_last_day(2), get_next_day(2)), +# (get_current_day(), get_next_day(2)), +# ] +# ) +# def get_valid_range(self, request): +# yield request.param + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_valid_range(self, connect, ip_table, get_valid_range): +# ''' +# target: test delete vectors, no index created +# method: call `delete_vectors_by_range`, with valid date params +# expected: return code 0 +# ''' +# start_date = get_valid_range[0] +# end_date = get_valid_range[1] +# status, ids = connect.add_vectors(ip_table, vectors) +# time.sleep(2) +# status = connect.delete_vectors_by_range(ip_table, start_date, end_date) +# assert status.OK() +# status, result = connect.get_table_row_count(ip_table) +# assert result == 0 + +# @pytest.fixture( +# scope="function", +# params=gen_index_params() +# ) +# def get_index_params(self, request, args): +# if "internal" not in args: +# if request.param["index_type"] == IndexType.IVF_SQ8H: +# pytest.skip("sq8h not support in open source") +# return request.param + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_valid_range_index_created(self, connect, ip_table, get_index_params): +# ''' +# target: test delete vectors, no index created +# method: call `delete_vectors_by_range`, with valid date params +# expected: return code 0 +# ''' +# start_date = get_current_day() +# end_date = get_next_day(2) +# index_params = get_index_params +# logging.getLogger().info(index_params) +# status, ids = connect.add_vectors(ip_table, vectors) +# status = connect.create_index(ip_table, index_params) +# logging.getLogger().info(status) +# logging.getLogger().info("Start delete vectors by range: %s:%s" % (start_date, end_date)) +# status = connect.delete_vectors_by_range(ip_table, start_date, end_date) +# assert status.OK() +# status, result = connect.get_table_row_count(ip_table) +# assert result == 0 + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_no_data(self, connect, ip_table): +# ''' +# target: test delete vectors, no index created +# method: call `delete_vectors_by_range`, with valid date params, and no data in db +# expected: return code 0 +# ''' +# start_date = get_current_day() +# end_date = get_next_day(2) +# # status, ids = connect.add_vectors(table, vectors) +# status = connect.delete_vectors_by_range(ip_table, start_date, end_date) +# assert status.OK() + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_table_None(self, connect, ip_table): +# ''' +# target: test delete vectors, table set Nope +# method: call `delete_vectors_by_range`, with table value is None +# expected: return code not 0 +# ''' +# start_date = get_current_day() +# end_date = get_next_day(2) +# table_name = None +# with pytest.raises(Exception) as e: +# status = connect.delete_vectors_by_range(table_name, start_date, end_date) + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_valid_range_multi_tables(self, connect, get_valid_range): +# ''' +# target: test delete vectors is correct or not with multiple tables of IP +# method: create 50 tables and add vectors into them , then delete vectors +# in valid range +# expected: return code 0 +# ''' +# nq = 100 +# vectors = gen_vectors(nq, dim) +# table_list = [] +# for i in range(50): +# table_name = gen_unique_str('test_delete_vectors_valid_range_multi_tables') +# table_list.append(table_name) +# param = {'table_name': table_name, +# 'dimension': dim, +# 'index_file_size': index_file_size, +# 'metric_type': MetricType.IP} +# connect.create_table(param) +# status, ids = connect.add_vectors(table_name=table_name, records=vectors) +# time.sleep(2) +# start_date = get_valid_range[0] +# end_date = get_valid_range[1] +# for i in range(50): +# status = connect.delete_vectors_by_range(table_list[i], start_date, end_date) +# assert status.OK() +# status, result = connect.get_table_row_count(table_list[i]) +# assert result == 0 + +# class TestDeleteVectorsParamsInvalid: + +# """ +# Test search table with invalid table names +# """ +# @pytest.fixture( +# scope="function", +# params=gen_invalid_table_names() +# ) +# def get_table_name(self, request): +# yield request.param + +# @pytest.mark.level(2) +# def test_delete_vectors_table_invalid_name(self, connect, get_table_name): +# ''' +# ''' +# start_date = get_current_day() +# end_date = get_next_day(2) +# table_name = get_table_name +# logging.getLogger().info(table_name) +# top_k = 1 +# nprobe = 1 +# status = connect.delete_vectors_by_range(table_name, start_date, end_date) +# assert not status.OK() + +# """ +# Test search table with invalid query ranges +# """ +# @pytest.fixture( +# scope="function", +# params=gen_invalid_query_ranges() +# ) +# def get_query_ranges(self, request): +# yield request.param + +# @pytest.mark.timeout(DELETE_TIMEOUT) +# def test_delete_vectors_range_invalid(self, connect, table, get_query_ranges): +# ''' +# target: test search fuction, with the wrong query_range +# method: search with query_range +# expected: raise an error, and the connection is normal +# ''' +# start_date = get_query_ranges[0][0] +# end_date = get_query_ranges[0][1] +# status, ids = connect.add_vectors(table, vectors) +# logging.getLogger().info(get_query_ranges) +# with pytest.raises(Exception) as e: +# status = connect.delete_vectors_by_range(table, start_date, end_date) \ No newline at end of file