"""GraphitiClient connect 成功路径测试(覆盖行60-65)."""
import pytest
from unittest.mock import Mock, MagicMock, patch
from src.graphiti_client import GraphitiClient
from src.config_manager import ConfigManager
class TestGraphitiClientConnectSuccessPath:
"""GraphitiClient connect 成功路径测试类."""
@pytest.fixture
def config_manager(self, temp_config_dir):
"""创建配置管理器."""
return ConfigManager(config_path=temp_config_dir / ".graphitiace" / "config.json")
def test_connect_success_path(self, config_manager):
"""测试 connect 成功路径(覆盖行60-65)."""
# 配置 Neo4j
config_manager.configure_neo4j(
uri="bolt://localhost:7687",
username="neo4j",
password="test"
)
client = GraphitiClient(config_manager)
# Mock GraphDatabase.driver
mock_driver = MagicMock()
mock_session = MagicMock()
mock_driver.session.return_value.__enter__.return_value = mock_session
mock_driver.session.return_value.__exit__.return_value = None
mock_session.run.return_value = None
with patch('src.graphiti_client.GraphDatabase.driver', return_value=mock_driver):
with patch.object(client, '_initialize_graphiti', return_value=True) as mock_init:
result = client.connect()
# 验证连接成功
assert result is True
assert client._connected is True
# 验证 _initialize_graphiti 被调用(行63)
mock_init.assert_called_once()