| 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") |
| } |
| } |
|
|