MCPcopy Create free account
hub / github.com/astercloud/aster / TestGetMiddlewareForSubAgent

Function TestGetMiddlewareForSubAgent

pkg/middleware/subagent_enhanced_test.go:279–312  ·  view source on GitHub ↗

TestGetMiddlewareForSubAgent 测试获取子代理中间件栈

(t *testing.T)

Source from the content-addressed store, hash-verified

277
278// TestGetMiddlewareForSubAgent 测试获取子代理中间件栈
279func 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}

Callers

nothing calls this directly

Calls 4

NewSimpleSubAgentFunction · 0.85
NewSubAgentMiddlewareFunction · 0.85
NewBaseMiddlewareFunction · 0.85

Tested by

no test coverage detected