test: migrate websearch tests to effect runner (#27170)

This commit is contained in:
Kit Langton
2026-05-12 23:45:01 +00:00
committed by GitHub
parent baef5cd43b
commit 81dd46abec
+19 -11
View File
@@ -4,6 +4,7 @@ import { parseResponse } from "../../src/tool/mcp-websearch"
import { selectWebSearchProvider, webSearchModelName, webSearchProviderLabel } from "../../src/tool/websearch" import { selectWebSearchProvider, webSearchModelName, webSearchProviderLabel } from "../../src/tool/websearch"
import { ProviderID } from "../../src/provider/schema" import { ProviderID } from "../../src/provider/schema"
import { webSearchEnabled } from "../../src/tool/registry" import { webSearchEnabled } from "../../src/tool/registry"
import { it } from "../lib/effect"
const SESSION_ID = "ses_0196aabbccddeeff001122334455" const SESSION_ID = "ses_0196aabbccddeeff001122334455"
@@ -74,17 +75,24 @@ describe("websearch MCP response parser", () => {
}, },
}) })
test("parses plain JSON-RPC responses", async () => { it.effect("parses plain JSON-RPC responses", () =>
await expect(Effect.runPromise(parseResponse(payload))).resolves.toBe("search results") Effect.gen(function* () {
}) const result = yield* parseResponse(payload)
expect(result).toBe("search results")
}),
)
test("parses SSE JSON-RPC responses", async () => { it.effect("parses SSE JSON-RPC responses", () =>
await expect(Effect.runPromise(parseResponse(`event: message\ndata: ${payload}\n\n`))).resolves.toBe( Effect.gen(function* () {
"search results", const result = yield* parseResponse(`event: message\ndata: ${payload}\n\n`)
) expect(result).toBe("search results")
}) }),
)
test("ignores non-JSON SSE data frames", async () => { it.effect("ignores non-JSON SSE data frames", () =>
await expect(Effect.runPromise(parseResponse(`data: [DONE]\ndata: ${payload}\n\n`))).resolves.toBe("search results") Effect.gen(function* () {
}) const result = yield* parseResponse(`data: [DONE]\ndata: ${payload}\n\n`)
expect(result).toBe("search results")
}),
)
}) })