From be65487aef2f7d09188fc243cfa79f42e06d52ce Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Sat, 2 Feb 2019 08:10:28 +0100 Subject: [PATCH] test: refactor test-http-agent-timeout-option There is no need to establish a TCP connection. It is sufficient to test that the listener that forwards the `'timeout'` event from the socket to the `ClientRequest` instance is added to the socket. --- .../test-http-agent-timeout-option.js | 38 ++++++++----------- 1 file changed, 16 insertions(+), 22 deletions(-) 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); +}));