Report actual inference smoke test destinations
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user