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