mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 11:47:41 +00:00
test: add fetch mock helper and reaction coverage
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import * as logger from "../../logger.js";
|
||||
import { withFetchPreconnect } from "../../test-utils/fetch-mock.js";
|
||||
import {
|
||||
createBaseWebFetchToolConfig,
|
||||
installWebFetchSsrfHarness,
|
||||
@@ -37,7 +38,7 @@ function htmlResponse(body: string): Response {
|
||||
describe("web_fetch Cloudflare Markdown for Agents", () => {
|
||||
it("sends Accept header preferring text/markdown", async () => {
|
||||
const fetchSpy = vi.fn().mockResolvedValue(markdownResponse("# Test Page\n\nHello world."));
|
||||
global.fetch = fetchSpy;
|
||||
global.fetch = withFetchPreconnect(fetchSpy);
|
||||
|
||||
const tool = createWebFetchTool(baseToolConfig);
|
||||
|
||||
@@ -51,7 +52,7 @@ describe("web_fetch Cloudflare Markdown for Agents", () => {
|
||||
it("uses cf-markdown extractor for text/markdown responses", async () => {
|
||||
const md = "# CF Markdown\n\nThis is server-rendered markdown.";
|
||||
const fetchSpy = vi.fn().mockResolvedValue(markdownResponse(md));
|
||||
global.fetch = fetchSpy;
|
||||
global.fetch = withFetchPreconnect(fetchSpy);
|
||||
|
||||
const tool = createWebFetchTool(baseToolConfig);
|
||||
|
||||
@@ -73,7 +74,7 @@ describe("web_fetch Cloudflare Markdown for Agents", () => {
|
||||
const html =
|
||||
"<html><body><article><h1>HTML Page</h1><p>Content here.</p></article></body></html>";
|
||||
const fetchSpy = vi.fn().mockResolvedValue(htmlResponse(html));
|
||||
global.fetch = fetchSpy;
|
||||
global.fetch = withFetchPreconnect(fetchSpy);
|
||||
|
||||
const tool = createWebFetchTool(baseToolConfig);
|
||||
|
||||
@@ -88,7 +89,7 @@ describe("web_fetch Cloudflare Markdown for Agents", () => {
|
||||
const fetchSpy = vi
|
||||
.fn()
|
||||
.mockResolvedValue(markdownResponse("# Tokens Test", { "x-markdown-tokens": "1500" }));
|
||||
global.fetch = fetchSpy;
|
||||
global.fetch = withFetchPreconnect(fetchSpy);
|
||||
|
||||
const tool = createWebFetchTool(baseToolConfig);
|
||||
|
||||
@@ -108,7 +109,7 @@ describe("web_fetch Cloudflare Markdown for Agents", () => {
|
||||
it("converts markdown to text when extractMode is text", async () => {
|
||||
const md = "# Heading\n\n**Bold text** and [a link](https://example.com).";
|
||||
const fetchSpy = vi.fn().mockResolvedValue(markdownResponse(md));
|
||||
global.fetch = fetchSpy;
|
||||
global.fetch = withFetchPreconnect(fetchSpy);
|
||||
|
||||
const tool = createWebFetchTool(baseToolConfig);
|
||||
|
||||
@@ -132,7 +133,7 @@ describe("web_fetch Cloudflare Markdown for Agents", () => {
|
||||
it("does not log x-markdown-tokens when header is absent", async () => {
|
||||
const logSpy = vi.spyOn(logger, "logDebug").mockImplementation(() => {});
|
||||
const fetchSpy = vi.fn().mockResolvedValue(markdownResponse("# No tokens"));
|
||||
global.fetch = fetchSpy;
|
||||
global.fetch = withFetchPreconnect(fetchSpy);
|
||||
|
||||
const tool = createWebFetchTool(baseToolConfig);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user