vps-health-api/__tests__
le king fu 193635a68e
All checks were successful
CI / verification (pull_request) Successful in 21s
fix(test-curl): refuse a port already taken before starting (#41)
Review of PR #45: wait_for did not keep a neighbour out. With a listener
already on 3099, the server started by the script only dies of EADDRINUSE
after the wait loop has reached the neighbour, and the cases then ran
against it.

- require_free checks both ports before anything starts: free means
  "connection refused" (curl exit 7), as in scripts/boot-from-copy.sh
- wait_for runs on a clock deadline, and checks the process again after a
  successful probe
- the EXIT trap waits for the servers it killed, so a run started right
  after finds the two ports free

ci.test.js adds a real neighbour on each port, and bounds the two
failed-start cases to 3 s: a message that does not stop the run is now red.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 20:51:42 -04:00
..
agent.test.js feat(agent): push workstation metrics to /hosts/<id> from cron 2026-08-16 12:21:59 -04:00
auth.test.js test(auth): pin the single space after the Bearer scheme 2026-09-27 19:23:50 -04:00
ci.test.js fix(test-curl): refuse a port already taken before starting (#41) 2026-10-01 20:51:42 -04:00
findings.test.js feat(defenseurs): add GET /defenseurs/findings?project=X route 2026-05-12 20:56:56 -04:00
health.test.js refactor: extract CPU/RAM/disk collection into metrics.js 2026-08-16 11:30:03 -04:00
hosts.test.js test(hosts): pin the symlink guard and the regex anchor of the temp sweep (#38) 2026-10-01 18:10:49 -04:00
state.test.js feat(defenseurs): serve the Sergent's findings state at GET /defenseurs/state 2026-09-24 20:42:20 -04:00
writes.test.js test(writes): count every write, drop the stack attribution (#40) 2026-10-01 20:01:09 -04:00