diff --git a/test/parallel/test-http-agent-timeout-option.js b/test/parallel/test-http-agent-timeout-option.js index 4fcfc1f1da54b1..3c694a0ef7d2d2 100644 --- a/test/parallel/test-http-agent-timeout-option.js +++ b/test/parallel/test-http-agent-timeout-option.js @@ -1,23 +1,29 @@ 'use strict'; const { expectsError, mustCall } = require('../common'); -const { Agent, get } = require('http'); +const { Agent, get, createServer } = 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. -const request = get({ - agent: new Agent({ timeout: 500 }), - // Non-routable IP address to prevent the connection from being established. - host: '192.0.2.1' -}); - -request.on('error', expectsError({ - type: Error, - code: 'ECONNRESET', - message: 'socket hang up' +const server = createServer(mustCall(() => { + // Never respond. })); -request.on('timeout', mustCall(() => { - request.abort(); -})); +server.listen(() => { + const request = get({ + agent: new Agent({ timeout: 500 }), + port: server.address().port + }); + + request.on('error', expectsError({ + type: Error, + code: 'ECONNRESET', + message: 'socket hang up' + })); + + request.on('timeout', mustCall(() => { + request.abort(); + server.close(); + })); +});