Files
travel-planner/tests/compose-invariants.test.mjs
2026-08-17 13:45:14 +02:00

21 lines
706 B
JavaScript

import test from 'node:test';
import assert from 'node:assert/strict';
import fs from 'node:fs';
import { parse } from 'yaml';
import { verifyComposeInvariants } from '../scripts/verify-compose-invariants.mjs';
test('production compose publishes exactly one edge port', () => {
const compose = parse(fs.readFileSync(new URL('../compose.yml', import.meta.url), 'utf8'));
assert.doesNotThrow(() => verifyComposeInvariants(compose));
});
test('invariant rejects a host port on postgres', () => {
const invalid = {
services: {
edge: { ports: ['443:443'] },
postgres: { ports: ['5432:5432'] },
},
};
assert.throws(() => verifyComposeInvariants(invalid), /postgres.*ports/i);
});