Download packages/app/e2e/performance/unit/mock-server.test.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.44 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/app/e2e/performance/unit/mock-server.test.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/app/e2e/performance/unit/mock-server.test.ts
-
curl -L -o mock-server.test.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/app/e2e/performance/unit/mock-server.test.ts
1.44 kB
| import { expect, test } from "bun:test" | |
| import type { Page, Route } from "@playwright/test" | |
| import { mockOpenCodeServer } from "../../utils/mock-server" | |
| test("applies message latency after a list response gate is released", async () => { | |
| const events: string[] = [] | |
| const gate = Promise.withResolvers<void>() | |
| let handler: ((route: Route) => Promise<void>) | undefined | |
| const page = { | |
| route: (_url: string, callback: (route: Route) => Promise<void>) => { | |
| handler = callback | |
| return Promise.resolve() | |
| }, | |
| } as unknown as Page | |
| await mockOpenCodeServer(page, { | |
| provider: {}, | |
| directory: "C:/OpenCode", | |
| project: {}, | |
| sessions: [{ id: "session" }], | |
| messageDelay: 25, | |
| beforeMessagesResponse: () => { | |
| events.push("before") | |
| return gate.promise | |
| }, | |
| onMessages: (request) => events.push(request.phase), | |
| pageMessages: () => { | |
| events.push("page") | |
| return { items: [] } | |
| }, | |
| }) | |
| const response = handler!({ | |
| request: () => ({ url: () => "http://127.0.0.1:4096/session/session/message" }), | |
| fulfill: () => { | |
| events.push("fulfill") | |
| return Promise.resolve() | |
| }, | |
| } as unknown as Route) | |
| expect(events).toEqual(["start", "before"]) | |
| const released = performance.now() | |
| gate.resolve() | |
| await response | |
| expect(performance.now() - released).toBeGreaterThanOrEqual(20) | |
| expect(events).toEqual(["start", "before", "page", "end", "fulfill"]) | |
| }) | |