test: migrate websearch tests to effect runner (#27170)
This commit is contained in:
@@ -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")
|
||||||
|
}),
|
||||||
|
)
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user