mirror of
https://github.com/LukeHagar/crossws.git
synced 2025-12-09 12:27:45 +00:00
30 lines
822 B
TypeScript
30 lines
822 B
TypeScript
import { afterAll, beforeAll, describe } from "vitest";
|
|
import { createServer, Server } from "node:http";
|
|
import { getRandomPort, waitForPort } from "get-port-please";
|
|
import nodeAdapter from "../../src/adapters/node";
|
|
import { createDemo } from "../fixture/_shared";
|
|
import { wsTests } from "../tests";
|
|
|
|
describe("node", () => {
|
|
let server: Server;
|
|
let url: string;
|
|
|
|
beforeAll(async () => {
|
|
const ws = createDemo(nodeAdapter);
|
|
server = createServer((_req, res) => {
|
|
res.end("ok");
|
|
});
|
|
server.on("upgrade", ws.handleUpgrade);
|
|
const port = await getRandomPort("localhost");
|
|
url = `ws://localhost:${port}/`;
|
|
await new Promise<void>((resolve) => server.listen(port, resolve));
|
|
await waitForPort(port);
|
|
});
|
|
|
|
afterAll(() => {
|
|
server.close();
|
|
});
|
|
|
|
wsTests(() => url);
|
|
});
|