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:
@@ -45,11 +45,14 @@ func TestEmbeddingsPassthroughNoRewrite(t *testing.T) {
|
||||
server := httptest.NewServer(handler)
|
||||
defer server.Close()
|
||||
|
||||
resp, _ := http.Post(
|
||||
resp, err := http.Post(
|
||||
server.URL+"/v1/embeddings",
|
||||
"application/json",
|
||||
bytes.NewReader([]byte(`{"model":"nomic-ai/nomic-embed-text-v2-moe","input":"hello"}`)),
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("request failed: %v", err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
if !embeddingsCalled {
|
||||
@@ -91,11 +94,14 @@ func TestEmbeddingsResponsePassthrough(t *testing.T) {
|
||||
server := httptest.NewServer(handler)
|
||||
defer server.Close()
|
||||
|
||||
resp, _ := http.Post(
|
||||
resp, err := http.Post(
|
||||
server.URL+"/v1/embeddings",
|
||||
"application/json",
|
||||
bytes.NewReader([]byte(`{"model":"nomic-ai/nomic-embed-text-v2-moe","input":"test"}`)),
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("request failed: %v", err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
body, _ := io.ReadAll(resp.Body)
|
||||
@@ -135,11 +141,14 @@ func TestRerankPathRewrite(t *testing.T) {
|
||||
server := httptest.NewServer(handler)
|
||||
defer server.Close()
|
||||
|
||||
resp, _ := http.Post(
|
||||
resp, err := http.Post(
|
||||
server.URL+"/v1/rerank",
|
||||
"application/json",
|
||||
bytes.NewReader([]byte(`{"model":"BAAI/bge-reranker-base","query":"test","texts":["a","b"]}`)),
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("request failed: %v", err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
// Verify path IS rewritten to /rerank
|
||||
@@ -177,11 +186,14 @@ func TestRerankResponsePassthrough(t *testing.T) {
|
||||
server := httptest.NewServer(handler)
|
||||
defer server.Close()
|
||||
|
||||
resp, _ := http.Post(
|
||||
resp, err := http.Post(
|
||||
server.URL+"/v1/rerank",
|
||||
"application/json",
|
||||
bytes.NewReader([]byte(`{"model":"BAAI/bge-reranker-base","query":"q","texts":["a"]}`)),
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("request failed: %v", err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
body, _ := io.ReadAll(resp.Body)
|
||||
@@ -209,11 +221,14 @@ func TestEmbeddingsUnknownModel(t *testing.T) {
|
||||
server := httptest.NewServer(handler)
|
||||
defer server.Close()
|
||||
|
||||
resp, _ := http.Post(
|
||||
resp, err := http.Post(
|
||||
server.URL+"/v1/embeddings",
|
||||
"application/json",
|
||||
bytes.NewReader([]byte(`{"model":"unknown-embeddings","input":"test"}`)),
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("request failed: %v", err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
if resp.StatusCode != http.StatusBadRequest {
|
||||
@@ -244,11 +259,14 @@ func TestRerankerUnknownModel(t *testing.T) {
|
||||
server := httptest.NewServer(handler)
|
||||
defer server.Close()
|
||||
|
||||
resp, _ := http.Post(
|
||||
resp, err := http.Post(
|
||||
server.URL+"/v1/rerank",
|
||||
"application/json",
|
||||
bytes.NewReader([]byte(`{"model":"unknown-reranker","query":"q","texts":["a"]}`)),
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("request failed: %v", err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
if resp.StatusCode != http.StatusBadRequest {
|
||||
@@ -288,11 +306,14 @@ func TestEmbeddingsBodyForwarded(t *testing.T) {
|
||||
defer server.Close()
|
||||
|
||||
originalBody := `{"model":"nomic-ai/nomic-embed-text-v2-moe","input":"test data with special chars: \u0001"}`
|
||||
resp, _ := http.Post(
|
||||
resp, err := http.Post(
|
||||
server.URL+"/v1/embeddings",
|
||||
"application/json",
|
||||
bytes.NewReader([]byte(originalBody)),
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("request failed: %v", err)
|
||||
}
|
||||
resp.Body.Close()
|
||||
|
||||
// The received body should match the original (though may have different formatting)
|
||||
@@ -337,11 +358,14 @@ func TestRerankerBodyForwarded(t *testing.T) {
|
||||
defer server.Close()
|
||||
|
||||
originalBody := `{"model":"BAAI/bge-reranker-base","query":"test","texts":["a","b","c"]}`
|
||||
resp, _ := http.Post(
|
||||
resp, err := http.Post(
|
||||
server.URL+"/v1/rerank",
|
||||
"application/json",
|
||||
bytes.NewReader([]byte(originalBody)),
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("request failed: %v", err)
|
||||
}
|
||||
resp.Body.Close()
|
||||
|
||||
var orig, received map[string]interface{}
|
||||
@@ -380,11 +404,14 @@ func TestUpstreamErrorStatusSurfaced(t *testing.T) {
|
||||
server := httptest.NewServer(handler)
|
||||
defer server.Close()
|
||||
|
||||
resp, _ := http.Post(
|
||||
resp, err := http.Post(
|
||||
server.URL+"/v1/embeddings",
|
||||
"application/json",
|
||||
bytes.NewReader([]byte(`{"model":"nomic-ai/nomic-embed-text-v2-moe","input":"test"}`)),
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("request failed: %v", err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
if resp.StatusCode != http.StatusInternalServerError {
|
||||
|
||||
Reference in New Issue
Block a user