package gemini import ( "encoding/json" "net/http" "net/http/httptest" "strings" "testing" ) type openAIProxyStub struct { status int body string } func (s openAIProxyStub) ChatCompletions(w http.ResponseWriter, _ *http.Request) { if s.status == 0 { s.status = http.StatusOK } w.Header().Set("Content-Type", "application/json") w.WriteHeader(s.status) _, _ = w.Write([]byte(s.body)) } func TestGeminiProxyViaOpenAIVercelReleasePassthrough(t *testing.T) { h := &Handler{OpenAI: openAIProxyStub{status: 200, body: `{"success":true}`}} req := httptest.NewRequest(http.MethodPost, "/v1beta/models/gemini-2.5-pro:streamGenerateContent?__stream_release=1", strings.NewReader(`{"lease_id":"lease_123"}`)) rec := httptest.NewRecorder() h.StreamGenerateContent(rec, req) if rec.Code != http.StatusOK { t.Fatalf("unexpected status: %d body=%s", rec.Code, rec.Body.String()) } var out map[string]any if err := json.Unmarshal(rec.Body.Bytes(), &out); err != nil { t.Fatalf("expected json response, got err=%v body=%s", err, rec.Body.String()) } if v, ok := out["success"].(bool); !ok || !v { t.Fatalf("expected success=true passthrough, got=%v", out) } }