test: build every in-process WebServer on port 0 (#440)

The files on the guard's legacy list build new WebServer(0, …) and read server.boundPort after start(), as sse-tile-grid-filter does. Files with several servers read each server's own port; quick-start's local helper lost its port parameter so the literal 0 sits where the server is built. Header comments that named a port say "ephemeral". No assertion changed except where it embedded the port.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Randalix
2026-10-09 16:28:26 +02:00
co-authored by Claude Opus 5.5
parent 3a0cee6b90
commit aa4217b8b1
42 changed files with 163 additions and 204 deletions
+10 -11
View File
@@ -4,7 +4,6 @@ import { existsSync, rmSync, mkdirSync, mkdtempSync } from 'node:fs';
import { join } from 'node:path';
import { tmpdir } from 'node:os';
const TEST_PORT = 3299;
const ORIGINAL_HOME = process.env.HOME;
const TEST_HOME = mkdtempSync(join(tmpdir(), 'codeman-quick-start-'));
const CASES_DIR = join(TEST_HOME, 'codeman-cases');
@@ -12,10 +11,10 @@ let webServerModule: Promise<typeof import('../src/web/server.js')> | undefined;
process.env.HOME = TEST_HOME;
async function createTestServer(port: number): Promise<WebServer> {
async function createTestServer(): Promise<WebServer> {
webServerModule ??= import('../src/web/server.js');
const { WebServer: TestWebServer } = await webServerModule;
return new TestWebServer(port, false, true);
return new TestWebServer(0, false, true);
}
afterAll(() => {
@@ -30,9 +29,9 @@ describe('Quick Start API', () => {
const createdCases: string[] = [];
beforeAll(async () => {
server = await createTestServer(TEST_PORT);
server = await createTestServer();
await server.start();
baseUrl = `http://localhost:${TEST_PORT}`;
baseUrl = `http://localhost:${server.boundPort}`;
}, 30000);
afterEach(() => {
@@ -164,9 +163,9 @@ describe('Session Management', () => {
let baseUrl: string;
beforeAll(async () => {
server = await createTestServer(TEST_PORT + 1);
server = await createTestServer();
await server.start();
baseUrl = `http://localhost:${TEST_PORT + 1}`;
baseUrl = `http://localhost:${server.boundPort}`;
});
afterAll(async () => {
@@ -223,9 +222,9 @@ describe('Case Management', () => {
const createdCases: string[] = [];
beforeAll(async () => {
server = await createTestServer(TEST_PORT + 2);
server = await createTestServer();
await server.start();
baseUrl = `http://localhost:${TEST_PORT + 2}`;
baseUrl = `http://localhost:${server.boundPort}`;
});
afterAll(async () => {
@@ -339,9 +338,9 @@ describe('Agent skill injection (agentSkillEnabled)', () => {
const createdCases: string[] = [];
beforeAll(async () => {
server = await createTestServer(TEST_PORT + 4); // 3103
server = await createTestServer();
await server.start();
baseUrl = `http://localhost:${TEST_PORT + 4}`;
baseUrl = `http://localhost:${server.boundPort}`;
});
afterAll(async () => {