"""工具配置 API 失败测试."""
import pytest
from unittest.mock import Mock, MagicMock, patch
from src.tools import handle_tool_call
from src.config_manager import ConfigManager
class TestToolsConfigureAPIFailure:
"""工具配置 API 失败测试类."""
@pytest.fixture
def config_manager(self, temp_config_dir):
"""创建配置管理器."""
return ConfigManager(config_path=temp_config_dir / ".graphitiace" / "config.json")
@pytest.mark.asyncio
async def test_configure_api_failure(self, config_manager):
"""测试配置 API 失败."""
# 模拟配置失败
with patch.object(config_manager, 'configure_api', return_value={
"success": False,
"message": "配置失败"
}):
result = await handle_tool_call(
tool_name="configure_api",
arguments={
"provider": "openai",
"api_key": "test_key",
"model": "gpt-4"
},
config_manager=config_manager,
graphiti_client=None
)
assert result is not None
assert isinstance(result, list)
result_text = "".join([str(item.text) if hasattr(item, 'text') else str(item) for item in result])
assert "失败" in result_text or "error" in result_text.lower() or "❌" in result_text