TestGetMiddlewareForSubAgent 测试获取子代理中间件栈
(t *testing.T)
| 277 | |
| 278 | // TestGetMiddlewareForSubAgent 测试获取子代理中间件栈 |
| 279 | func TestGetMiddlewareForSubAgent(t *testing.T) { |
| 280 | factory := func(ctx context.Context, spec SubAgentSpec) (SubAgent, error) { |
| 281 | return NewSimpleSubAgent(spec.Name, spec.Prompt, nil), nil |
| 282 | } |
| 283 | |
| 284 | middleware, err := NewSubAgentMiddleware(&SubAgentMiddlewareConfig{ |
| 285 | Specs: []SubAgentSpec{}, |
| 286 | Factory: factory, |
| 287 | EnableGeneralPurpose: true, |
| 288 | }) |
| 289 | if err != nil { |
| 290 | t.Fatalf("Failed to create middleware: %v", err) |
| 291 | } |
| 292 | |
| 293 | parentMiddlewares := []Middleware{ |
| 294 | NewBaseMiddleware("parent1", 100), |
| 295 | NewBaseMiddleware("parent2", 200), |
| 296 | } |
| 297 | |
| 298 | // 测试获取中间件栈 |
| 299 | spec := SubAgentSpec{ |
| 300 | Name: "test", |
| 301 | InheritMiddlewares: true, |
| 302 | MiddlewareOverrides: []Middleware{ |
| 303 | NewBaseMiddleware("custom", 300), |
| 304 | }, |
| 305 | } |
| 306 | |
| 307 | stack := middleware.GetMiddlewareForSubAgent(spec, parentMiddlewares) |
| 308 | |
| 309 | if len(stack) != 3 { |
| 310 | t.Errorf("Expected 3 middlewares, got %d", len(stack)) |
| 311 | } |
| 312 | } |
nothing calls this directly
no test coverage detected