test(gateway): cover port lock guard

This commit is contained in:
Peter Steinberger
2025-12-11 18:53:40 +00:00
parent 768887fc0f
commit 0242383ec3

View File

@@ -656,6 +656,25 @@ describe("gateway server", () => {
await expect(startGatewayServer(port)).rejects.toBeInstanceOf(
GatewayLockError,
);
await expect(startGatewayServer(port)).rejects.toThrow(
/already listening/i,
);
blocker.close();
});
test("releases port after close", async () => {
const port = await getFreePort();
const server = await startGatewayServer(port);
await server.close();
// If the port was released, another listener can bind immediately.
const probe = createServer();
await new Promise<void>((resolve, reject) => {
probe.once("error", reject);
probe.listen(port, "127.0.0.1", () => resolve());
});
await new Promise<void>((resolve, reject) =>
probe.close((err) => (err ? reject(err) : resolve())),
);
});
});