test: refactor and fix test-dns
* More precise length assertion. * Fix incorrect use of string instead of RegExp in `throws` assertions. * Add missing RegExp to `throws` assertions. PR-URL: https://github.com/nodejs/node/pull/9811 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
parent
0ab2182199
commit
cf410af6c7
@ -5,7 +5,7 @@ const assert = require('assert');
|
||||
const dns = require('dns');
|
||||
|
||||
const existing = dns.getServers();
|
||||
assert(existing.length);
|
||||
assert(existing.length > 0);
|
||||
|
||||
// Verify that setServers() handles arrays with holes and other oddities
|
||||
assert.doesNotThrow(() => {
|
||||
@ -42,7 +42,8 @@ const goog = [
|
||||
];
|
||||
assert.doesNotThrow(() => dns.setServers(goog));
|
||||
assert.deepStrictEqual(dns.getServers(), goog);
|
||||
assert.throws(() => dns.setServers(['foobar']));
|
||||
assert.throws(() => dns.setServers(['foobar']),
|
||||
/^Error: IP address is not properly formatted: foobar$/);
|
||||
assert.deepStrictEqual(dns.getServers(), goog);
|
||||
|
||||
const goog6 = [
|
||||
@ -77,20 +78,18 @@ assert.throws(() => {
|
||||
}, 'Unexpected error');
|
||||
|
||||
// dns.lookup should accept falsey and string values
|
||||
assert.throws(() => dns.lookup({}, noop),
|
||||
'invalid arguments: hostname must be a string or falsey');
|
||||
const errorReg =
|
||||
/^TypeError: Invalid arguments: hostname must be a string or falsey$/;
|
||||
|
||||
assert.throws(() => dns.lookup([], noop),
|
||||
'invalid arguments: hostname must be a string or falsey');
|
||||
assert.throws(() => dns.lookup({}, noop), errorReg);
|
||||
|
||||
assert.throws(() => dns.lookup(true, noop),
|
||||
'invalid arguments: hostname must be a string or falsey');
|
||||
assert.throws(() => dns.lookup([], noop), errorReg);
|
||||
|
||||
assert.throws(() => dns.lookup(1, noop),
|
||||
'invalid arguments: hostname must be a string or falsey');
|
||||
assert.throws(() => dns.lookup(true, noop), errorReg);
|
||||
|
||||
assert.throws(() => dns.lookup(noop, noop),
|
||||
'invalid arguments: hostname must be a string or falsey');
|
||||
assert.throws(() => dns.lookup(1, noop), errorReg);
|
||||
|
||||
assert.throws(() => dns.lookup(noop, noop), errorReg);
|
||||
|
||||
assert.doesNotThrow(() => dns.lookup('', noop));
|
||||
|
||||
@ -114,13 +113,13 @@ assert.doesNotThrow(() => dns.lookup(NaN, noop));
|
||||
assert.throws(() => {
|
||||
dns.lookup('www.google.com', { hints: (dns.V4MAPPED | dns.ADDRCONFIG) + 1 },
|
||||
noop);
|
||||
});
|
||||
}, /^TypeError: Invalid argument: hints must use valid flags$/);
|
||||
|
||||
assert.throws(() => dns.lookup('www.google.com'),
|
||||
'invalid arguments: callback must be passed');
|
||||
/^TypeError: Invalid arguments: callback must be passed$/);
|
||||
|
||||
assert.throws(() => dns.lookup('www.google.com', 4),
|
||||
'invalid arguments: callback must be passed');
|
||||
/^TypeError: Invalid arguments: callback must be passed$/);
|
||||
|
||||
assert.doesNotThrow(() => dns.lookup('www.google.com', 6, noop));
|
||||
|
||||
@ -143,26 +142,29 @@ assert.doesNotThrow(() => {
|
||||
}, noop);
|
||||
});
|
||||
|
||||
assert.throws(() => dns.lookupService('0.0.0.0'), /Invalid arguments/);
|
||||
assert.throws(() => dns.lookupService('0.0.0.0'),
|
||||
/^Error: Invalid arguments$/);
|
||||
|
||||
assert.throws(() => dns.lookupService('fasdfdsaf', 0, noop),
|
||||
/"host" argument needs to be a valid IP address/);
|
||||
/^TypeError: "host" argument needs to be a valid IP address$/);
|
||||
|
||||
assert.doesNotThrow(() => dns.lookupService('0.0.0.0', '0', noop));
|
||||
|
||||
assert.doesNotThrow(() => dns.lookupService('0.0.0.0', 0, noop));
|
||||
|
||||
assert.throws(() => dns.lookupService('0.0.0.0', null, noop),
|
||||
/"port" should be >= 0 and < 65536, got "null"/);
|
||||
/^TypeError: "port" should be >= 0 and < 65536, got "null"$/);
|
||||
|
||||
assert.throws(() => dns.lookupService('0.0.0.0', undefined, noop),
|
||||
/"port" should be >= 0 and < 65536, got "undefined"/);
|
||||
assert.throws(
|
||||
() => dns.lookupService('0.0.0.0', undefined, noop),
|
||||
/^TypeError: "port" should be >= 0 and < 65536, got "undefined"$/
|
||||
);
|
||||
|
||||
assert.throws(() => dns.lookupService('0.0.0.0', 65538, noop),
|
||||
/"port" should be >= 0 and < 65536, got "65538"/);
|
||||
/^TypeError: "port" should be >= 0 and < 65536, got "65538"$/);
|
||||
|
||||
assert.throws(() => dns.lookupService('0.0.0.0', 'test', noop),
|
||||
/"port" should be >= 0 and < 65536, got "test"/);
|
||||
/^TypeError: "port" should be >= 0 and < 65536, got "test"$/);
|
||||
|
||||
assert.throws(() => dns.lookupService('0.0.0.0', 80, null),
|
||||
/^TypeError: "callback" argument must be a function$/);
|
||||
|
Loading…
x
Reference in New Issue
Block a user