feat: extract text from fetched PDFs
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
import assert from "node:assert/strict";
|
||||
import test from "node:test";
|
||||
import { readBoundedResponseBytes } from "../src/llm/bounded-response.js";
|
||||
|
||||
const oneMiB = 1024 * 1024;
|
||||
|
||||
test("reads response bytes within the declared size limit", async () => {
|
||||
const bytes = await readBoundedResponseBytes(new Response("small"), oneMiB);
|
||||
assert.equal(new TextDecoder().decode(bytes), "small");
|
||||
});
|
||||
|
||||
test("rejects oversized responses from Content-Length before buffering", async () => {
|
||||
const response = new Response("x", { headers: { "content-length": String(oneMiB + 1) } });
|
||||
await assert.rejects(readBoundedResponseBytes(response, oneMiB), /exceeds the 1 MiB download limit/);
|
||||
});
|
||||
|
||||
test("rejects streamed responses when Content-Length is absent", async () => {
|
||||
const response = new Response(new ReadableStream({
|
||||
start(controller) {
|
||||
controller.enqueue(new Uint8Array(oneMiB));
|
||||
controller.enqueue(new Uint8Array(1));
|
||||
controller.close();
|
||||
},
|
||||
}));
|
||||
await assert.rejects(readBoundedResponseBytes(response, oneMiB), /exceeds the 1 MiB download limit/);
|
||||
});
|
||||
Reference in New Issue
Block a user