"""GraphitiClient 初始化测试."""
import pytest
from unittest.mock import Mock, MagicMock, patch
from src.graphiti_client import GraphitiClient
from src.config_manager import ConfigManager
class TestGraphitiClientInitialization:
"""GraphitiClient 初始化测试类."""
@pytest.fixture
def config_manager(self, temp_config_dir):
"""创建配置管理器."""
return ConfigManager(config_path=temp_config_dir / ".graphitiace" / "config.json")
def test_graphiti_client_init_without_api_key(self, config_manager):
"""测试 GraphitiClient 初始化无 API key."""
client = GraphitiClient(config_manager)
assert client is not None
assert client.config_manager == config_manager
assert client.driver is None
assert client.graphiti is None # 没有 API key,Graphiti 未初始化
def test_graphiti_client_init_with_api_key(self, config_manager):
"""测试 GraphitiClient 初始化有 API key."""
# 配置 API
config_manager.configure_api(
provider="openai",
api_key="test_key"
)
# 配置 Neo4j(Graphiti 需要)
config_manager.configure_neo4j(
uri="bolt://localhost:7687",
username="neo4j",
password="test"
)
# 直接测试,不 mock(因为实际初始化可能失败,这是正常的)
client = GraphitiClient(config_manager)
assert client is not None
# Graphiti 可能未初始化(因为缺少真实的 API key),这是正常的
# 我们只测试客户端能够创建即可