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:
@@ -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{}
|
||||
|
||||
Reference in New Issue
Block a user