Report actual inference smoke test destinations

This commit is contained in:
2026-10-13 20:27:46 +00:00
parent 208ff42915
commit 116bd0e39b
9 changed files with 87 additions and 12 deletions

View File

@@ -419,8 +419,52 @@ func TestSmokeTestCrossBackendDefaultUsesEndpointOverrideThroughFacade(t *testin
report.Target.ProfileID != "profile-b" || report.Target.SelectionSource != "backend_default" {
t.Fatalf("unexpected cross-backend target: %+v", report.Target)
}
if report.Target.Endpoint != endpointOverride || report.Target.EffectiveSettings.Endpoint != endpointOverride ||
observedURL != endpointOverride+"/chat/completions" || len(report.Attempts) != 1 || report.Attempts[0].Endpoint != observedURL {
if report.Target.Endpoint != observedURL || report.Target.EffectiveSettings.Endpoint != endpointOverride ||
observedURL != endpointOverride+"/chat/completions" || len(report.Attempts) != 1 ||
report.Attempts[0].InitialEndpoint != observedURL || report.Attempts[0].Endpoint != observedURL {
t.Fatalf("endpoint override not used by facade: target=%+v attempt=%+v URL=%q", report.Target, report.Attempts, observedURL)
}
}
func TestSmokeTestInferenceEndpointsDistinguishRedirectFromRequestComposition(t *testing.T) {
const base = "http://initial.example/v1"
const redirected = "http://redirect.example/completion"
var observed []string
client := &http.Client{Transport: roundTripFunc(func(request *http.Request) (*http.Response, error) {
observed = append(observed, request.URL.String())
if len(observed) == 1 {
return &http.Response{
StatusCode: http.StatusTemporaryRedirect,
Header: http.Header{"Location": []string{redirected}},
Body: io.NopCloser(strings.NewReader("")),
Request: request,
}, nil
}
return &http.Response{
StatusCode: http.StatusOK,
Header: make(http.Header),
Body: io.NopCloser(strings.NewReader(`{"choices":[{"message":{"content":"unexpected"}}]}`)),
Request: request,
}, nil
})}
input := configkit.Input{Source: configkit.Mapping("redirect diagnostic", map[string]any{
"profiles": map[string]any{"profile": map[string]any{"endpoint": base, "model": "model"}},
})}
engine, err := promptkit.NewEngine(promptkit.Config{
Sources: promptkit.ConfigurationSources{Main: &input}, HTTPClient: client,
})
if err != nil {
t.Fatal(err)
}
report, err := engine.SmokeTest(context.Background(), promptkit.SmokeTestRequest{
Kind: promptkit.SmokeTestTextInference, ProfileID: "profile",
})
if err != nil || report == nil || !report.Completed || len(report.Attempts) != 1 || len(observed) != 2 {
t.Fatalf("report=%+v error=%v observed=%v", report, err, observed)
}
if observed[0] != base+"/chat/completions" || observed[1] != redirected ||
report.Target.Endpoint != observed[0] || report.Target.EffectiveSettings.Endpoint != base ||
report.Attempts[0].InitialEndpoint != observed[0] || report.Attempts[0].Endpoint != observed[1] {
t.Fatalf("incorrect redirect attribution: target=%+v attempt=%+v observed=%v", report.Target, report.Attempts[0], observed)
}
}