"""GraphitiClient 导入覆盖测试."""
import pytest
from unittest.mock import patch, Mock
from src.graphiti_client import GraphitiClient, GRAPHITI_AVAILABLE
from src.config_manager import ConfigManager
class TestGraphitiClientImportCoverage:
"""GraphitiClient 导入覆盖测试类."""
@pytest.fixture
def config_manager(self, temp_config_dir):
"""创建配置管理器."""
return ConfigManager(config_path=temp_config_dir / ".graphitiace" / "config.json")
def test_graphiti_import_error_coverage(self, config_manager):
"""测试 Graphiti 导入错误覆盖(行14-16)."""
# 这个测试主要验证导入错误处理
# 如果 graphiti-core 不可用,GRAPHITI_AVAILABLE 应该为 False
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"
)
# 如果 GRAPHITI_AVAILABLE 为 False,_initialize_graphiti 应该返回 False
result = client._initialize_graphiti()
# 结果应该是 False(如果不可用)或 True(如果可用)
assert result is False or result is True