diff --git a/test/client-node-max-header-size.js b/test/client-node-max-header-size.js index 575305eca68..9d5ab0ed90d 100644 --- a/test/client-node-max-header-size.js +++ b/test/client-node-max-header-size.js @@ -21,7 +21,10 @@ describe("Node.js' --max-http-header-size cli option", () => { await once(server, 'listening') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) test("respect Node.js' --max-http-header-size", async (t) => { t = tspl(t, { plan: 6 }) diff --git a/test/client-request.js b/test/client-request.js index 15a3b1a734f..d367435eeff 100644 --- a/test/client-request.js +++ b/test/client-request.js @@ -22,7 +22,10 @@ test('request dump head', async (t) => { res.flushHeaders() res.write('hello'.repeat(100)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -56,7 +59,10 @@ test('request dump big', async (t) => { // Do nothing... } }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -90,7 +96,10 @@ test('request dump', async (t) => { res.setHeader('content-length', 5) res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -120,7 +129,10 @@ test('request dump with abort signal', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.write('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -158,7 +170,10 @@ test('request dump with POJO as invalid signal', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.write('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -193,7 +208,10 @@ test('request dump with aborted signal', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.write('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -231,7 +249,10 @@ test('request hwm', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.write('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -259,7 +280,10 @@ test('request abort before headers', async (t) => { res.end('hello') signal.emit('abort') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -296,7 +320,10 @@ test('request body destroyed on invalid callback', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -327,7 +354,10 @@ test('trailers', async (t) => { res.addTrailers({ 'Content-MD5': 'test' }) res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -365,7 +395,10 @@ test('destroy socket abruptly', async (t) => { // therefore we delay it to the next event loop run. setImmediate(socket.destroy.bind(socket)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) const client = new Client(`http://localhost:${server.address().port}`) @@ -407,7 +440,10 @@ test('destroy socket abruptly with keep-alive', async (t) => { // therefore we delay it to the next event loop run. setImmediate(socket.destroy.bind(socket)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) const client = new Client(`http://localhost:${server.address().port}`) @@ -441,7 +477,10 @@ test('request json', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end(JSON.stringify(obj)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -464,7 +503,10 @@ test('request long multibyte json', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end(JSON.stringify(obj)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -487,7 +529,10 @@ test('request text', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end(JSON.stringify(obj)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -577,7 +622,10 @@ describe('headers', () => { serverAddress = `localhost:${server.address().port}` }) - after(() => server.close()) + after(() => { + server.closeAllConnections() + server.close() + }) test('empty host header', async (t) => { t = tspl(t, { plan: 4 }) @@ -617,7 +665,10 @@ describe('headers', () => { serverAddress = `localhost:${server.address().port}` }) - after(() => server.close()) + after(() => { + server.closeAllConnections() + server.close() + }) test('invalid host header', async (t) => { t = tspl(t, { plan: 1 }) @@ -669,7 +720,10 @@ test('request long multibyte text', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end(JSON.stringify(obj)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -693,7 +747,10 @@ test('request blob', async (t) => { res.setHeader('Content-Type', 'application/json') res.end(JSON.stringify(obj)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -719,7 +776,10 @@ test('request arrayBuffer', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end(JSON.stringify(obj)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -745,7 +805,10 @@ test('request bytes', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end(JSON.stringify(obj)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -771,7 +834,10 @@ test('request body', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end(JSON.stringify(obj)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -803,7 +869,10 @@ test('request post body no missing data', async (t) => { t.strictEqual(ret, 'asd') res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -837,7 +906,10 @@ test('request post body no extra data handler', async (t) => { t.strictEqual(ret, 'asd') res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -872,7 +944,10 @@ test('request with onInfo callback', async (t) => { res.setHeader('Content-Type', 'application/json') res.end(JSON.stringify({ foo: 'bar' })) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -899,7 +974,10 @@ test('request with onInfo callback but socket is destroyed before end of respons response = res res.writeProcessing() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -943,7 +1021,10 @@ test('request onInfo callback headers parsing', async (t) => { ] socket.end(lines.join('\r\n')) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) @@ -979,7 +1060,10 @@ test('request raw responseHeaders', async (t) => { ] socket.end(lines.join('\r\n')) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) @@ -1006,7 +1090,10 @@ test('request formData', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end(JSON.stringify(obj)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -1035,7 +1122,10 @@ test('request text2', async (t) => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end(JSON.stringify(obj)) }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -1092,7 +1182,10 @@ test('request with FormData body', async (t) => { return res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -1122,7 +1215,10 @@ test('request post body Buffer from string', async (t) => { t.strictEqual(ret, 'abcdefghijklmnopqrstuvwxyz') res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -1153,7 +1249,10 @@ test('request post body Buffer from buffer', async (t) => { t.strictEqual(ret, 'ijklmnopqrstuvwx') res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -1184,7 +1283,10 @@ test('request post body Uint8Array', async (t) => { t.strictEqual(ret, 'ijklmnopqrstuvwx') res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -1215,7 +1317,10 @@ test('request post body Uint32Array', async (t) => { t.strictEqual(ret, 'ijklmnopqrstuvwx') res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -1246,7 +1351,10 @@ test('request post body Float64Array', async (t) => { t.strictEqual(ret, 'ijklmnopqrstuvwx') res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -1277,7 +1385,10 @@ test('request post body BigUint64Array', async (t) => { t.strictEqual(ret, 'ijklmnopqrstuvwx') res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) @@ -1308,7 +1419,10 @@ test('request post body DataView', async (t) => { t.strictEqual(ret, 'ijklmnopqrstuvwx') res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, async () => { const client = new Client(`http://localhost:${server.address().port}`) diff --git a/test/env-http-proxy-agent-nodejs-bundle.js b/test/env-http-proxy-agent-nodejs-bundle.js index 57aad4960f9..47c2649ff42 100644 --- a/test/env-http-proxy-agent-nodejs-bundle.js +++ b/test/env-http-proxy-agent-nodejs-bundle.js @@ -30,7 +30,10 @@ describe('EnvHttpProxyAgent and setGlobalDispatcher', () => { server.on('error', err => { console.log('Server error', err) }) server.listen(0) await once(server, 'listening') - t.after(() => { server.close() }) + t.after(() => { + server.closeAllConnections?.() + server.close() + }) const proxy = http.createServer({ joinDuplicateHeaders: true }) proxy.on('connect', (req, clientSocket, head) => { @@ -60,7 +63,10 @@ describe('EnvHttpProxyAgent and setGlobalDispatcher', () => { proxy.listen(0) await once(proxy, 'listening') - t.after(() => { proxy.close() }) + t.after(() => { + proxy.closeAllConnections?.() + proxy.close() + }) // Use setGlobalDispatcher and EnvHttpProxyAgent from Node.js // and make sure that they work together. diff --git a/test/fetch/client-node-max-header-size.js b/test/fetch/client-node-max-header-size.js index a6d9a2db029..744729b6371 100644 --- a/test/fetch/client-node-max-header-size.js +++ b/test/fetch/client-node-max-header-size.js @@ -20,7 +20,10 @@ describe('fetch respects --max-http-header-size', () => { await once(server, 'listening') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) test("respect Node.js' --max-http-header-size", (t, done) => { t.plan(6) diff --git a/test/fetch/encoding.js b/test/fetch/encoding.js index cfaabc4dd6e..ec07a4bdbd8 100644 --- a/test/fetch/encoding.js +++ b/test/fetch/encoding.js @@ -50,6 +50,7 @@ describe('content-encoding handling', () => { }) after(() => { + server.closeAllConnections?.() server.close() }) @@ -112,6 +113,7 @@ describe('content-encoding chain limit', () => { }) after(() => { + server.closeAllConnections?.() server.close() }) diff --git a/test/issue-4244.js b/test/issue-4244.js index f8bea892153..489557fe495 100644 --- a/test/issue-4244.js +++ b/test/issue-4244.js @@ -12,7 +12,10 @@ describe('Agent should close inactive clients', () => { res.end('ok') }).listen(0) - t.after(() => server.close()) + t.after(() => { + server.closeAllConnections?.() + server.close() + }) let p const agent = new Agent({ diff --git a/test/max-response-size.js b/test/max-response-size.js index 648a4cb08a0..c1b39c98204 100644 --- a/test/max-response-size.js +++ b/test/max-response-size.js @@ -10,7 +10,10 @@ describe('max response size', async (t) => { t = tspl(t, { plan: 3 }) const server = createServer({ joinDuplicateHeaders: true }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.on('request', (req, res) => { res.end('hello') @@ -40,7 +43,10 @@ describe('max response size', async (t) => { t = tspl(t, { plan: 3 }) const server = createServer({ joinDuplicateHeaders: true }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.on('request', (req, res) => { res.end() @@ -70,7 +76,10 @@ describe('max response size', async (t) => { t = tspl(t, { plan: 3 }) const server = createServer({ joinDuplicateHeaders: true }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.on('request', (req, res) => { res.end('hello') diff --git a/test/mock-agent.js b/test/mock-agent.js index a0df6413a4e..bb3d2afb9f7 100644 --- a/test/mock-agent.js +++ b/test/mock-agent.js @@ -273,7 +273,10 @@ test('MockAgent - [kClients] should match encapsulated agent', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -302,7 +305,10 @@ test('MockAgent - basic intercept with MockAgent.request', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -345,7 +351,10 @@ test('MockAgent - basic intercept with request', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -387,7 +396,10 @@ test('MockAgent - should support local agents', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -432,7 +444,10 @@ test('MockAgent - should support specifying custom agents to mock', async (t) => res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -478,7 +493,10 @@ test('MockAgent - basic Client intercept with request', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -522,7 +540,10 @@ test('MockAgent - basic intercept with multiple pools', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -573,7 +594,10 @@ test('MockAgent - should handle multiple responses for an interceptor', async (t res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -636,7 +660,10 @@ test('MockAgent - should call original Pool dispatch if request not found', asyn res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -665,7 +692,10 @@ test('MockAgent - should call original Client dispatch if request not found', as res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -693,7 +723,10 @@ test('MockAgent - should handle string responses', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -756,7 +789,10 @@ test('MockAgent - handle delays to simulate work', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -793,7 +829,10 @@ test('MockAgent - should persist requests', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1053,7 +1092,10 @@ test('MockAgent - handle persists with delayed requests', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1098,7 +1140,10 @@ test('MockAgent - calling close on a mock pool should not affect other mock pool res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1155,7 +1200,10 @@ test('MockAgent - close removes all registered mock clients', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1210,7 +1258,10 @@ test('MockAgent - close removes all registered mock pools', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1243,7 +1294,10 @@ test('MockAgent - should handle replyWithError', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1271,7 +1325,10 @@ test('MockAgent - should support setting a reply to respond a set amount of time res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1321,7 +1378,10 @@ test('MockAgent - persist overrides times', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1376,7 +1436,10 @@ test('MockAgent - matcher should not find mock dispatch if path is of unsupporte t.assert.strictEqual(req.method, 'GET') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1409,7 +1472,10 @@ test('MockAgent - should match path with regex', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1454,7 +1520,10 @@ test('MockAgent - should match path with function', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1487,7 +1556,10 @@ test('MockAgent - should match method with regex', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1520,7 +1592,10 @@ test('MockAgent - should match method with function', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1553,7 +1628,10 @@ test('MockAgent - should match body with regex', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1588,7 +1666,10 @@ test('MockAgent - should match body with function', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1622,7 +1703,10 @@ test('MockAgent - should match headers with string', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1694,7 +1778,10 @@ test('MockAgent - should match headers with regex', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1766,7 +1853,10 @@ test('MockAgent - should match headers with function', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1839,7 +1929,10 @@ test('MockAgent - should match url with regex', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1872,7 +1965,10 @@ test('MockAgent - should match url with function', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1905,7 +2001,10 @@ test('MockAgent - handle default reply headers', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1942,7 +2041,10 @@ test('MockAgent - handle default reply trailers', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -1979,7 +2081,10 @@ test('MockAgent - return calculated content-length if specified', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2016,7 +2121,10 @@ test('MockAgent - return calculated content-length for object response if specif res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2054,7 +2162,10 @@ test('MockAgent - should activate and deactivate mock clients', async (t) => { res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2115,7 +2226,10 @@ test('MockAgent - enableNetConnect should allow all original dispatches to be ca res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2152,7 +2266,10 @@ test('MockAgent - enableNetConnect with a host string should allow all original res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2189,7 +2306,10 @@ test('MockAgent - enableNetConnect when called with host string multiple times s res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2227,7 +2347,10 @@ test('MockAgent - enableNetConnect with a host regex should allow all original d res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2264,7 +2387,10 @@ test('MockAgent - enableNetConnect with a function should allow all original dis res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2315,7 +2441,10 @@ test('MockAgent - enableNetConnect should throw if dispatch not matched for path t.assert.fail('should not be called') res.end('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2345,7 +2474,10 @@ test('MockAgent - enableNetConnect should throw if dispatch not matched for meth t.assert.fail('should not be called') res.end('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2375,7 +2507,10 @@ test('MockAgent - enableNetConnect should throw if dispatch not matched for body t.assert.fail('should not be called') res.end('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2407,7 +2542,10 @@ test('MockAgent - enableNetConnect should throw if dispatch not matched for head t.assert.fail('should not be called') res.end('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2445,7 +2583,10 @@ test('MockAgent - disableNetConnect should throw if dispatch not found by net co res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2475,7 +2616,10 @@ test('MockAgent - headers function interceptor', async (t) => { t.assert.fail('should not be called') res.end('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2536,7 +2680,10 @@ test('MockAgent - clients are not garbage collected', async (t) => { t.assert.fail('should not be called') res.end('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2794,7 +2941,10 @@ test('MockAgent - Sending ReadableStream body', async (t) => { }) after(() => mockAgent.close()) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2858,7 +3008,10 @@ test('MockAgent - headers should be array of strings (fetch)', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') @@ -2902,7 +3055,10 @@ test('MockAgent - should not accept non-standard search parameters when acceptNo res.setHeader('content-type', 'text/plain') res.end('(non-intercepted) response from server') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await once(server.listen(0), 'listening') diff --git a/test/mock-client.js b/test/mock-client.js index 6cdd3df10f4..e89bc516e52 100644 --- a/test/mock-client.js +++ b/test/mock-client.js @@ -202,7 +202,10 @@ test('MockClient - should be able to set as globalDispatcher', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) @@ -237,7 +240,10 @@ test('MockClient - should support query params', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) @@ -277,7 +283,10 @@ test('MockClient - should intercept query params with hardcoded path', async (t) res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) @@ -316,7 +325,10 @@ test('MockClient - should intercept query params regardless of key ordering', as res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) @@ -363,7 +375,10 @@ test('MockClient - should be able to use as a local dispatcher', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) @@ -398,7 +413,10 @@ test('MockClient - basic intercept with MockClient.request', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) @@ -441,7 +459,10 @@ test('MockClient - cleans mocks', async (t) => { res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) diff --git a/test/mock-pool.js b/test/mock-pool.js index ec00a50cbea..ca4805dc434 100644 --- a/test/mock-pool.js +++ b/test/mock-pool.js @@ -188,7 +188,10 @@ test('MockPool - should be able to set as globalDispatcher', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) @@ -223,7 +226,10 @@ test('MockPool - should be able to use as a local dispatcher', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) @@ -258,7 +264,10 @@ test('MockPool - basic intercept with MockPool.request', async (t) => { res.end('should not be called') t.assert.fail('should not be called') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) @@ -363,7 +372,10 @@ test('MockPool - cleans mocks', async (t) => { res.setHeader('content-type', 'text/plain') res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await promisify(server.listen.bind(server))(0) diff --git a/test/no-strict-content-length.js b/test/no-strict-content-length.js index 4779bfcd862..3b16d2eeb72 100644 --- a/test/no-strict-content-length.js +++ b/test/no-strict-content-length.js @@ -31,7 +31,10 @@ describe('strictContentLength: false', () => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`, { @@ -149,7 +152,10 @@ describe('strictContentLength: false', () => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`, { @@ -186,7 +192,10 @@ describe('strictContentLength: false', () => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`, { @@ -223,7 +232,10 @@ describe('strictContentLength: false', () => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`, { @@ -260,7 +272,10 @@ describe('strictContentLength: false', () => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`, { @@ -297,7 +312,10 @@ describe('strictContentLength: false', () => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`, { @@ -333,7 +351,10 @@ describe('strictContentLength: false', () => { const server = createServer({ joinDuplicateHeaders: true }, (req, res) => { res.end() }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) server.listen(0, () => { const client = new Client(`http://localhost:${server.address().port}`, { diff --git a/test/request.js b/test/request.js index c7adc234bcd..6166a95e079 100644 --- a/test/request.js +++ b/test/request.js @@ -202,7 +202,10 @@ describe('DispatchOptions#maxRedirections', () => { t.ok('request received') res.end('hello world') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await new Promise((resolve) => server.listen(0, resolve)) const res = await request({ @@ -241,7 +244,10 @@ describe('DispatchOptions#reset', () => { res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await new Promise((resolve, reject) => { server.listen(0, (err) => { @@ -268,7 +274,10 @@ describe('DispatchOptions#reset', () => { res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await new Promise((resolve, reject) => { server.listen(0, (err) => { @@ -295,7 +304,10 @@ describe('DispatchOptions#reset', () => { res.end('hello') }) - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await new Promise((resolve, reject) => { server.listen(0, (err) => { @@ -329,7 +341,10 @@ describe('Should include headers from iterable objects', scope => { const headers = new globalThis.Headers() headers.set('hello', 'world') - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await new Promise((resolve, reject) => { server.listen(0, (err) => { @@ -360,7 +375,10 @@ describe('Should include headers from iterable objects', scope => { const headers = new Map() headers.set('hello', 'world') - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await new Promise((resolve, reject) => { server.listen(0, (err) => { @@ -394,7 +412,10 @@ describe('Should include headers from iterable objects', scope => { } } - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await new Promise((resolve, reject) => { server.listen(0, (err) => { @@ -424,7 +445,10 @@ describe('Should include headers from iterable objects', scope => { } } - after(() => server.close()) + after(() => { + server.closeAllConnections?.() + server.close() + }) await new Promise((resolve, reject) => { server.listen(0, (err) => { diff --git a/test/snapshot-testing.js b/test/snapshot-testing.js index 10f8439f51e..8bb6c815c01 100644 --- a/test/snapshot-testing.js +++ b/test/snapshot-testing.js @@ -47,7 +47,10 @@ async function setupServer (server) { function setupCleanup (t, resources) { if (resources.server) { - t.after(() => resources.server.close()) + t.after(() => { + resources.server.closeAllConnections?.() + resources.server.close() + }) } if (resources.snapshotPath) { t.after(() => unlink(resources.snapshotPath).catch(() => {}))