opencode/packages/opencode/test/mcp/session-recovery.test.ts
Aiden Cline 921b1c6a34
feat(mcp): upgrade client SDK to v2 (#39247)
Co-authored-by: Matt Carey <mcarey@cloudflare.com>
2026-07-27 23:19:33 -05:00

27 lines
1 KiB
TypeScript

import path from "node:path"
import { describe, expect, test } from "bun:test"
describe("mcp session recovery", () => {
test.skip("reinitializes and retries once after a session-bound POST returns 404", async () => {
const child = Bun.spawn([process.execPath, path.join(import.meta.dir, "../fixture/mcp-session-recovery.ts")], {
cwd: path.join(import.meta.dir, "../.."),
stdout: "pipe",
stderr: "pipe",
})
const [code, stdout, stderr] = await Promise.all([
child.exited,
Bun.readableStreamToText(child.stdout),
Bun.readableStreamToText(child.stderr),
])
expect(code, stderr).toBe(0)
expect(JSON.parse(stdout)).toEqual([
{ method: "initialize", session: null },
{ method: "notifications/initialized", session: "expired" },
{ method: "ping", session: "expired" },
{ method: "initialize", session: null },
{ method: "notifications/initialized", session: "replacement" },
{ method: "ping", session: "replacement" },
])
})
})