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
+32 -8
View File
@@ -134,11 +134,14 @@ func TestUnknownModelEnumeratesValidModels(t *testing.T) {
server := httptest.NewServer(handler)
defer server.Close()
resp, _ := http.Post(
resp, err := http.Post(
server.URL+"/v1/chat/completions",
"application/json",
bytes.NewReader([]byte(`{"model":"unknown","messages":[]}`)),
)
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
var prob map[string]interface{}
@@ -188,11 +191,14 @@ func TestMissingModelFieldReturns4xx(t *testing.T) {
defer server.Close()
// Request with no model field
resp, _ := http.Post(
resp, err := http.Post(
server.URL+"/v1/chat/completions",
"application/json",
bytes.NewReader([]byte(`{"messages":[]}`)),
)
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
if resp.StatusCode < 400 || resp.StatusCode >= 500 {
@@ -230,11 +236,14 @@ func TestNullModelFieldReturns4xx(t *testing.T) {
defer server.Close()
// Request with null model
resp, _ := http.Post(
resp, err := http.Post(
server.URL+"/v1/chat/completions",
"application/json",
bytes.NewReader([]byte(`{"model":null,"messages":[]}`)),
)
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
if resp.StatusCode < 400 || resp.StatusCode >= 500 {
@@ -266,11 +275,14 @@ func TestEmptyModelFieldReturns4xx(t *testing.T) {
defer server.Close()
// Request with empty model string
resp, _ := http.Post(
resp, err := http.Post(
server.URL+"/v1/chat/completions",
"application/json",
bytes.NewReader([]byte(`{"model":"","messages":[]}`)),
)
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
if resp.StatusCode < 400 || resp.StatusCode >= 500 {
@@ -297,11 +309,14 @@ func TestInvalidJSONIsDistinguishableError(t *testing.T) {
defer server.Close()
// Request with invalid JSON
resp, _ := http.Post(
resp, err := http.Post(
server.URL+"/v1/chat/completions",
"application/json",
bytes.NewReader([]byte(`not json`)),
)
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
if resp.StatusCode < 400 || resp.StatusCode >= 500 {
@@ -405,19 +420,25 @@ func TestMissingModelAndUnknownModelBothReturn4xx(t *testing.T) {
defer server.Close()
// Test missing model
resp1, _ := http.Post(
resp1, err := http.Post(
server.URL+"/v1/chat/completions",
"application/json",
bytes.NewReader([]byte(`{"messages":[]}`)),
)
if err != nil {
t.Fatalf("request failed: %v", err)
}
resp1.Body.Close()
// Test unknown model
resp2, _ := http.Post(
resp2, err := http.Post(
server.URL+"/v1/chat/completions",
"application/json",
bytes.NewReader([]byte(`{"model":"unknown","messages":[]}`)),
)
if err != nil {
t.Fatalf("request failed: %v", err)
}
resp2.Body.Close()
// Both should be in 4xx range
@@ -460,11 +481,14 @@ func TestProblemDetailHasRequiredFields(t *testing.T) {
server := httptest.NewServer(handler)
defer server.Close()
resp, _ := http.Post(
resp, err := http.Post(
server.URL+"/v1/chat/completions",
"application/json",
bytes.NewReader([]byte(`{"model":"unknown","messages":[]}`)),
)
if err != nil {
t.Fatalf("request failed: %v", err)
}
defer resp.Body.Close()
var prob map[string]interface{}