MCPcopy Index your code
hub / github.com/docker/docker-agent / TestModel_LogsSelection

Function TestModel_LogsSelection

pkg/agent/agent_test.go:497–530  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

495}
496
497func TestModel_LogsSelection(t *testing.T) {
498 // Not parallel: it swaps the process-global default logger via slog.SetDefault.
499 var buf concurrent.Buffer
500 handler := slog.NewTextHandler(&buf, &slog.HandlerOptions{Level: slog.LevelInfo})
501 prev := slog.Default()
502 slog.SetDefault(slog.New(handler))
503 t.Cleanup(func() { slog.SetDefault(prev) })
504
505 model1 := &mockProvider{id: modelsdev.NewID("anthropic", "claude-sonnet-4-0")}
506 model2 := &mockProvider{id: modelsdev.NewID("openai", "gpt-4o")}
507
508 a := New("scanner", "test", WithModel(model1), WithModel(model2))
509
510 // Verify basic selection logging
511 selected := a.Model(t.Context())
512 logOutput := buf.String()
513
514 assert.Contains(t, logOutput, "Model selected")
515 assert.Contains(t, logOutput, "agent=scanner")
516 assert.Contains(t, logOutput, selected.ID().String())
517 assert.Contains(t, logOutput, "pool_size=2")
518
519 // Verify override scenario logs correct pool_size
520 buf.Reset()
521 override := &mockProvider{id: modelsdev.NewID("google", "gemini-2.0-flash")}
522 a.SetModelOverride(override)
523
524 selected = a.Model(t.Context())
525 logOutput = buf.String()
526
527 assert.Equal(t, "google/gemini-2.0-flash", selected.ID().String())
528 assert.Contains(t, logOutput, "google/gemini-2.0-flash")
529 assert.Contains(t, logOutput, "pool_size=1")
530}
531
532func TestModelOverride_ConcurrentAccess(t *testing.T) {
533 t.Parallel()

Callers

nothing calls this directly

Calls 12

StringMethod · 0.95
ResetMethod · 0.95
NewIDFunction · 0.92
ModelMethod · 0.80
ContextMethod · 0.80
SetModelOverrideMethod · 0.80
NewFunction · 0.70
WithModelFunction · 0.70
CleanupMethod · 0.65
IDMethod · 0.65
NewMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected