"""GraphitiClient Graphiti 不可用测试."""
import pytest
from unittest.mock import patch, Mock
from src.graphiti_client import GraphitiClient
from src.config_manager import ConfigManager
class TestGraphitiClientGraphitiAvailableFalse:
"""GraphitiClient Graphiti 不可用测试类."""
@pytest.fixture
def config_manager(self, temp_config_dir):
"""创建配置管理器."""
return ConfigManager(config_path=temp_config_dir / ".graphitiace" / "config.json")
def test_initialize_graphiti_not_available(self, config_manager):
"""测试初始化 Graphiti(不可用,行84-85)."""
client = GraphitiClient(config_manager)
# 配置 API 和 Neo4j
config_manager.configure_api(
provider="openai",
api_key="test_key"
)
config_manager.configure_neo4j(
uri="bolt://localhost:7687",
username="neo4j",
password="test"
)
# Mock GRAPHITI_AVAILABLE 为 False
with patch('src.graphiti_client.GRAPHITI_AVAILABLE', False):
result = client._initialize_graphiti()
# 应该返回 False
assert result is False
assert client.graphiti is None
assert client._graphiti_initialized is True