diff --git a/test/parallel/test-http-agent-timeout-option.js b/test/parallel/test-http-agent-timeout-option.js index 3c694a0ef7d2d2..d0c05827f23d56 100644 --- a/test/parallel/test-http-agent-timeout-option.js +++ b/test/parallel/test-http-agent-timeout-option.js @@ -1,29 +1,23 @@ 'use strict'; -const { expectsError, mustCall } = require('../common'); -const { Agent, get, createServer } = require('http'); +const { mustCall } = require('../common'); +const { strictEqual } = require('assert'); +const { Agent, get } = require('http'); -// Test that the `'timeout'` event is emitted on the `ClientRequest` instance -// when the socket timeout set via the `timeout` option of the `Agent` expires. +// Test that the listener that forwards the `'timeout'` event from the socket to +// the `ClientRequest` instance is added to the socket when the `timeout` option +// of the `Agent` is set. -const server = createServer(mustCall(() => { - // Never respond. -})); +const request = get({ + agent: new Agent({ timeout: 50 }), + lookup: () => {} +}); -server.listen(() => { - const request = get({ - agent: new Agent({ timeout: 500 }), - port: server.address().port - }); +request.on('socket', mustCall((socket) => { + strictEqual(socket.timeout, 50); - request.on('error', expectsError({ - type: Error, - code: 'ECONNRESET', - message: 'socket hang up' - })); + const listeners = socket.listeners('timeout'); - request.on('timeout', mustCall(() => { - request.abort(); - server.close(); - })); -}); + strictEqual(listeners.length, 1); + strictEqual(listeners[0], request.timeoutCb); +}));