import assert from 'node:assert/strict'; import net from 'node:net'; import test from 'node:test'; import { GATE_SUITE_PORTS, assertLoopbackPortAvailable } from './preflight.mjs'; test('gate suites pin isolated loopback ports', () => { assert.equal(GATE_SUITE_PORTS['runtime-sanitized-data-upgrade'], 19085); assert.equal(GATE_SUITE_PORTS['page-data-product-scenarios'], 19086); assert.equal(GATE_SUITE_PORTS['page-content-delivery-scenarios'], 19087); }); test('assertLoopbackPortAvailable rejects an occupied port', async () => { const server = net.createServer(); await new Promise((resolve) => server.listen(0, '127.0.0.1', resolve)); const { port } = server.address(); await assert.rejects( () => assertLoopbackPortAvailable(port), /already in use/, ); await new Promise((resolve) => server.close(resolve)); await assertLoopbackPortAvailable(port); });