All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 50s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
28 lines
953 B
TypeScript
28 lines
953 B
TypeScript
import { get, PNG, stubNetwork } from "../helpers.ts";
|
|
import { assertEquals } from "@std/assert";
|
|
|
|
Deno.test("GET /api/proxy-image: rasters only, fetched once for everyone", async () => {
|
|
using net = stubNetwork((url) =>
|
|
url.pathname.endsWith(".svg")
|
|
? new Response("<svg/>", { headers: { "content-type": "image/svg+xml" } })
|
|
: new Response(PNG, { headers: { "content-type": "image/png" } })
|
|
);
|
|
const path = `/api/proxy-image?url=${
|
|
encodeURIComponent("https://cdn.example.com/a.png")
|
|
}`;
|
|
const first = await get(path);
|
|
assertEquals(first.status, 200);
|
|
assertEquals(first.headers.get("content-type"), "image/png");
|
|
assertEquals(first.bytes, PNG);
|
|
const second = await get(path);
|
|
assertEquals(second.bytes, PNG);
|
|
assertEquals(net.calls.length, 1);
|
|
|
|
const svg = await get(
|
|
`/api/proxy-image?url=${
|
|
encodeURIComponent("https://cdn.example.com/a.svg")
|
|
}`,
|
|
);
|
|
assertEquals(svg.status, 400);
|
|
});
|