| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | 
							- 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,
 
- )
 
- @pytest.fixture
 
- 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
 
- @pytest.fixture
 
- def setup_mock_oceanbase_client():
 
-     with patch("core.rag.datasource.vdb.oceanbase.oceanbase_vector.ObVecClient", new_callable=MagicMock) as mock_client:
 
-         yield mock_client
 
- @pytest.fixture
 
- 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()
 
 
  |