mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-06-19 04:20:19 +02:00
68 lines
1.4 KiB
Go
68 lines
1.4 KiB
Go
package agent
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"cyberstrike-ai/internal/config"
|
|
"cyberstrike-ai/internal/mcp"
|
|
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
// setupTestAgent 创建测试用的Agent
|
|
func setupTestAgent(t *testing.T) *Agent {
|
|
logger := zap.NewNop()
|
|
mcpServer := mcp.NewServer(logger)
|
|
|
|
openAICfg := &config.OpenAIConfig{
|
|
APIKey: "test-key",
|
|
BaseURL: "https://api.test.com/v1",
|
|
Model: "test-model",
|
|
}
|
|
|
|
agentCfg := &config.AgentConfig{
|
|
MaxIterations: 10,
|
|
}
|
|
|
|
return NewAgent(openAICfg, agentCfg, mcpServer, nil, logger, 10)
|
|
}
|
|
|
|
func TestAgent_NewAgent_DefaultValues(t *testing.T) {
|
|
logger := zap.NewNop()
|
|
mcpServer := mcp.NewServer(logger)
|
|
|
|
openAICfg := &config.OpenAIConfig{
|
|
APIKey: "test-key",
|
|
BaseURL: "https://api.test.com/v1",
|
|
Model: "test-model",
|
|
}
|
|
|
|
// 测试默认配置
|
|
agent := NewAgent(openAICfg, nil, mcpServer, nil, logger, 0)
|
|
|
|
if agent.maxIterations != 30 {
|
|
t.Errorf("默认迭代次数不匹配。期望: 30, 实际: %d", agent.maxIterations)
|
|
}
|
|
}
|
|
|
|
func TestAgent_NewAgent_CustomConfig(t *testing.T) {
|
|
logger := zap.NewNop()
|
|
mcpServer := mcp.NewServer(logger)
|
|
|
|
openAICfg := &config.OpenAIConfig{
|
|
APIKey: "test-key",
|
|
BaseURL: "https://api.test.com/v1",
|
|
Model: "test-model",
|
|
}
|
|
|
|
agentCfg := &config.AgentConfig{
|
|
MaxIterations: 20,
|
|
}
|
|
|
|
agent := NewAgent(openAICfg, agentCfg, mcpServer, nil, logger, 15)
|
|
|
|
if agent.maxIterations != 15 {
|
|
t.Errorf("迭代次数不匹配。期望: 15, 实际: %d", agent.maxIterations)
|
|
}
|
|
}
|