19 lines
855 B
TypeScript
19 lines
855 B
TypeScript
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 <!DOCTYPE html><html></html>")).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);
|
|
});
|
|
});
|