from core.rag.datasource.vdb.vikingdb.vikingdb_vector import VikingDBConfig, VikingDBVector from tests.integration_tests.vdb.__mock.vikingdb import setup_vikingdb_mock from tests.integration_tests.vdb.test_vector_store import AbstractVectorTest, get_example_text, setup_mock_redis class VikingDBVectorTest(AbstractVectorTest): def __init__(self): super().__init__() self.vector = VikingDBVector( "test_collection", "test_group", config=VikingDBConfig( access_key="test_access_key", host="test_host", region="test_region", scheme="test_scheme", secret_key="test_secret_key", connection_timeout=30, socket_timeout=30, ), ) def search_by_vector(self): hits_by_vector = self.vector.search_by_vector(query_vector=self.example_embedding) assert len(hits_by_vector) == 1 def search_by_full_text(self): hits_by_full_text = self.vector.search_by_full_text(query=get_example_text()) assert len(hits_by_full_text) == 0 def get_ids_by_metadata_field(self): ids = self.vector.get_ids_by_metadata_field(key="document_id", value="test_document_id") assert len(ids) > 0 def test_vikingdb_vector(setup_mock_redis, setup_vikingdb_mock): VikingDBVectorTest().run_all_tests()