import express from 'express'; import http from 'node:http'; import { once } from 'node:events'; const app = express(); app.disable('x-powered-by'); app.get('/kits/:id', (request, response) => { if (request.params.id !== '701') return response.status(404).json({ error: 'NOT_FOUND' }); response.json({ id: 701, name: 'tripod' }); }); app.use((request, response) => response.status(404).json({ error: 'NOT_FOUND' })); const server = http.createServer(app); server.listen(0, '127.0.0.1'); await once(server, 'listening'); const base = 'http://127.0.0.1:' + server.address().port; try { const response = await fetch(base + '/kits/701'); console.log(response.status, (await response.json()).name); } finally { server.closeAllConnections(); await new Promise((resolve, reject) => server.close((error) => (error ? reject(error) : resolve())), ); }