package openai import ( "encoding/json" "net/http" "net/http/httptest" "testing" ) func TestWriteOpenAIErrorIncludesUnifiedFields(t *testing.T) { rec := httptest.NewRecorder() writeOpenAIError(rec, http.StatusBadRequest, "invalid input") if rec.Code != http.StatusBadRequest { t.Fatalf("expected 400, got %d", rec.Code) } var body map[string]any if err := json.Unmarshal(rec.Body.Bytes(), &body); err != nil { t.Fatalf("decode body: %v", err) } errObj, _ := body["error"].(map[string]any) if errObj["message"] != "invalid input" { t.Fatalf("unexpected message: %v", errObj["message"]) } if errObj["type"] != "invalid_request_error" { t.Fatalf("unexpected type: %v", errObj["type"]) } if errObj["code"] != "invalid_request" { t.Fatalf("unexpected code: %v", errObj["code"]) } if _, ok := errObj["param"]; !ok { t.Fatal("expected param field") } }