2026-05-12 09:57:08 +02:00
|
|
|
import { WebServer } from '../../../src/web/server.js';
|
2026-02-18 16:19:21 +01:00
|
|
|
|
2026-10-09 16:29:01 +02:00
|
|
|
const servers = new Set<WebServer>();
|
2026-02-18 16:19:21 +01:00
|
|
|
|
2026-10-09 16:29:01 +02:00
|
|
|
/** A test server on an ephemeral port; read the port from `server.boundPort` once this resolves. */
|
|
|
|
|
export async function createTestServer(): Promise<WebServer> {
|
|
|
|
|
const server = new WebServer(0, false, true); // testMode = true
|
2026-02-18 16:19:21 +01:00
|
|
|
await server.start();
|
2026-10-09 16:29:01 +02:00
|
|
|
servers.add(server);
|
2026-02-18 16:19:21 +01:00
|
|
|
return server;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function stopTestServer(server: WebServer): Promise<void> {
|
|
|
|
|
await server.stop();
|
2026-10-09 16:29:01 +02:00
|
|
|
servers.delete(server);
|
2026-02-18 16:19:21 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function stopAllTestServers(): Promise<void> {
|
2026-10-09 16:29:01 +02:00
|
|
|
for (const server of servers) {
|
2026-02-18 16:19:21 +01:00
|
|
|
await server.stop();
|
|
|
|
|
}
|
|
|
|
|
servers.clear();
|
|
|
|
|
}
|