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
@@ -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 {