From d3483590fb834562ba1f4b898d10bbc7b585c19f Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 14 Feb 2026 17:28:33 +0000 Subject: [PATCH] perf(test): stub readability in cf-markdown tests --- src/agents/tools/web-fetch.cf-markdown.test.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/agents/tools/web-fetch.cf-markdown.test.ts b/src/agents/tools/web-fetch.cf-markdown.test.ts index a9602291d..71f90c831 100644 --- a/src/agents/tools/web-fetch.cf-markdown.test.ts +++ b/src/agents/tools/web-fetch.cf-markdown.test.ts @@ -3,6 +3,19 @@ import * as ssrf from "../../infra/net/ssrf.js"; import * as logger from "../../logger.js"; import { createWebFetchTool } from "./web-tools.js"; +// Avoid dynamic-importing heavy readability deps in this unit test suite. +vi.mock("./web-fetch-utils.js", async () => { + const actual = + await vi.importActual("./web-fetch-utils.js"); + return { + ...actual, + extractReadableContent: vi.fn().mockResolvedValue({ + title: "HTML Page", + text: "HTML Page\n\nContent here.", + }), + }; +}); + const lookupMock = vi.fn(); const resolvePinnedHostname = ssrf.resolvePinnedHostname; const baseToolConfig = { @@ -95,7 +108,7 @@ describe("web_fetch Cloudflare Markdown for Agents", () => { const tool = createWebFetchTool(baseToolConfig); const result = await tool?.execute?.("call", { url: "https://example.com/html" }); - expect(result?.details?.extractor).not.toBe("cf-markdown"); + expect(result?.details?.extractor).toBe("readability"); expect(result?.details?.contentType).toBe("text/html"); });