test: check request errors and stop asserting PathRewrite on /v1/models

/v1/models is served from config by ServeHTTP (task 2.5) so it never reaches
routing; the rewrite test now uses a non-reserved path.
This commit is contained in:
Story Crater Bot
2026-08-19 23:55:42 -07:00
parent c8c656046a
commit 8feee6754b
9 changed files with 183 additions and 67 deletions
+36 -9
View File
@@ -74,7 +74,10 @@ func TestModelsEndpointContentType(t *testing.T) {
server := httptest.NewServer(handler)
defer server.Close()
resp, _ := http.Get(server.URL + "/v1/models")
resp, err := http.Get(server.URL + "/v1/models")
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
ct := resp.Header.Get("Content-Type")
@@ -101,7 +104,10 @@ func TestModelsEndpointResponseShape(t *testing.T) {
server := httptest.NewServer(handler)
defer server.Close()
resp, _ := http.Get(server.URL + "/v1/models")
resp, err := http.Get(server.URL + "/v1/models")
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
var result ModelListResponse
@@ -161,7 +167,10 @@ func TestModelsEndpointEnumeratesAllModels(t *testing.T) {
server := httptest.NewServer(handler)
defer server.Close()
resp, _ := http.Get(server.URL + "/v1/models")
resp, err := http.Get(server.URL + "/v1/models")
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
var result ModelListResponse
@@ -211,7 +220,10 @@ func TestModelsEndpointHasRequiredFields(t *testing.T) {
server := httptest.NewServer(handler)
defer server.Close()
resp, _ := http.Get(server.URL + "/v1/models")
resp, err := http.Get(server.URL + "/v1/models")
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
var result ModelListResponse
@@ -292,7 +304,10 @@ func TestModelsEndpointDerivedFromConfig(t *testing.T) {
server := httptest.NewServer(handler)
defer server.Close()
resp, _ := http.Get(server.URL + "/v1/models")
resp, err := http.Get(server.URL + "/v1/models")
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
var result ModelListResponse
@@ -347,18 +362,24 @@ func TestModelsEndpointConsistentWithDispatch(t *testing.T) {
defer server.Close()
// Get list of models
resp, _ := http.Get(server.URL + "/v1/models")
resp, err := http.Get(server.URL + "/v1/models")
if err != nil {
t.Fatalf("request failed: %v", err)
}
var result ModelListResponse
json.NewDecoder(resp.Body).Decode(&result)
resp.Body.Close()
// Try to dispatch to each advertised model
for _, model := range result.Data {
dispatchResp, _ := http.Post(
dispatchResp, err := http.Post(
server.URL+"/v1/chat/completions",
"application/json",
strings.NewReader(`{"model":"`+model.ID+`","messages":[]}`),
)
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer dispatchResp.Body.Close()
// Should not return 400 (unknown model error)
@@ -394,14 +415,20 @@ func TestModelsEndpointResponseIsConsistent(t *testing.T) {
defer server.Close()
// Call endpoint twice
resp1, _ := http.Get(server.URL + "/v1/models")
resp1, err := http.Get(server.URL + "/v1/models")
if err != nil {
t.Fatalf("request failed: %v", err)
}
var result1 ModelListResponse
json.NewDecoder(resp1.Body).Decode(&result1)
resp1.Body.Close()
time.Sleep(10 * time.Millisecond)
resp2, _ := http.Get(server.URL + "/v1/models")
resp2, err := http.Get(server.URL + "/v1/models")
if err != nil {
t.Fatalf("request failed: %v", err)
}
var result2 ModelListResponse
json.NewDecoder(resp2.Body).Decode(&result2)
resp2.Body.Close()