node/test/parallel/test-http-agent-getname.js
小菜 04c68ba54a
http: add default argument for Agent.prototype.getName
PR-URL: https://github.com/nodejs/node/pull/41906
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ricky Zhou <0x19951125@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
2022-02-27 15:01:01 +00:00

57 lines
1.0 KiB
JavaScript

'use strict';
require('../common');
const assert = require('assert');
const http = require('http');
const path = require('path');
const tmpdir = require('../common/tmpdir');
const agent = new http.Agent();
// Default to localhost
assert.strictEqual(
agent.getName({
port: 80,
localAddress: '192.168.1.1'
}),
'localhost:80:192.168.1.1'
);
// empty argument
assert.strictEqual(
agent.getName(),
'localhost::'
);
// empty options
assert.strictEqual(
agent.getName({}),
'localhost::'
);
// pass all arguments
assert.strictEqual(
agent.getName({
host: '0.0.0.0',
port: 80,
localAddress: '192.168.1.1'
}),
'0.0.0.0:80:192.168.1.1'
);
// unix socket
const socketPath = path.join(tmpdir.path, 'foo', 'bar');
assert.strictEqual(
agent.getName({
socketPath
}),
`localhost:::${socketPath}`
);
for (const family of [0, null, undefined, 'bogus'])
assert.strictEqual(agent.getName({ family }), 'localhost::');
for (const family of [4, 6])
assert.strictEqual(agent.getName({ family }), `localhost:::${family}`);