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. PR-URL: https://github.com/nodejs/node/pull/25886 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
parent
0e54a0a213
commit
b8d9d4ac68
@ -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.
|
||||
}));
|
||||
|
||||
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();
|
||||
}));
|
||||
const request = get({
|
||||
agent: new Agent({ timeout: 50 }),
|
||||
lookup: () => {}
|
||||
});
|
||||
|
||||
request.on('socket', mustCall((socket) => {
|
||||
strictEqual(socket.timeout, 50);
|
||||
|
||||
const listeners = socket.listeners('timeout');
|
||||
|
||||
strictEqual(listeners.length, 1);
|
||||
strictEqual(listeners[0], request.timeoutCb);
|
||||
}));
|
||||
|
Loading…
x
Reference in New Issue
Block a user