import { describe, expect, it } from "vitest"; import { isTransientHttpError } from "./pi-embedded-helpers.js"; describe("isTransientHttpError", () => { it("returns true for retryable 5xx status codes", () => { expect(isTransientHttpError("500 Internal Server Error")).toBe(true); expect(isTransientHttpError("502 Bad Gateway")).toBe(true); expect(isTransientHttpError("503 Service Unavailable")).toBe(true); expect(isTransientHttpError("521 ")).toBe(true); expect(isTransientHttpError("529 Overloaded")).toBe(true); }); it("returns false for non-retryable or non-http text", () => { expect(isTransientHttpError("504 Gateway Timeout")).toBe(false); expect(isTransientHttpError("429 Too Many Requests")).toBe(false); expect(isTransientHttpError("network timeout")).toBe(false); }); });