Spaces:
Build error
Build error
from unittest.mock import MagicMock, patch | |
import pytest | |
from core.rag.datasource.vdb.oceanbase.oceanbase_vector import ( | |
OceanBaseVector, | |
OceanBaseVectorConfig, | |
) | |
from tests.integration_tests.vdb.__mock.tcvectordb import setup_tcvectordb_mock | |
from tests.integration_tests.vdb.test_vector_store import ( | |
AbstractVectorTest, | |
get_example_text, | |
setup_mock_redis, | |
) | |
def oceanbase_vector(): | |
return OceanBaseVector( | |
"dify_test_collection", | |
config=OceanBaseVectorConfig( | |
host="127.0.0.1", | |
port="2881", | |
user="root@test", | |
database="test", | |
password="test", | |
), | |
) | |
class OceanBaseVectorTest(AbstractVectorTest): | |
def __init__(self, vector: OceanBaseVector): | |
super().__init__() | |
self.vector = vector | |
def search_by_vector(self): | |
hits_by_vector = self.vector.search_by_vector(query_vector=self.example_embedding) | |
assert len(hits_by_vector) == 0 | |
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 text_exists(self): | |
exist = self.vector.text_exists(self.example_doc_id) | |
assert exist == True | |
def get_ids_by_metadata_field(self): | |
ids = self.vector.get_ids_by_metadata_field(key="document_id", value=self.example_doc_id) | |
assert len(ids) == 0 | |
def setup_mock_oceanbase_client(): | |
with patch("core.rag.datasource.vdb.oceanbase.oceanbase_vector.ObVecClient", new_callable=MagicMock) as mock_client: | |
yield mock_client | |
def setup_mock_oceanbase_vector(oceanbase_vector): | |
with patch.object(oceanbase_vector, "_client"): | |
yield oceanbase_vector | |
def test_oceanbase_vector( | |
setup_mock_redis, | |
setup_mock_oceanbase_client, | |
setup_mock_oceanbase_vector, | |
oceanbase_vector, | |
): | |
OceanBaseVectorTest(oceanbase_vector).run_all_tests() | |