From 1a197638a400d344d2b45443fc9e0892e7464cf1 Mon Sep 17 00:00:00 2001 From: kuriyosh Date: Fri, 10 Dec 2021 18:50:36 +0900 Subject: [PATCH 1/2] test: improve test coverage of dns/promises --- ...-dns-lookup-promises-options-deprecated.js | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 test/parallel/test-dns-lookup-promises-options-deprecated.js diff --git a/test/parallel/test-dns-lookup-promises-options-deprecated.js b/test/parallel/test-dns-lookup-promises-options-deprecated.js new file mode 100644 index 00000000000000..56b7f3c6115b11 --- /dev/null +++ b/test/parallel/test-dns-lookup-promises-options-deprecated.js @@ -0,0 +1,27 @@ +// Flags: --expose-internals +'use strict'; +const common = require('../common'); +const { internalBinding } = require('internal/test/binding'); +const cares = internalBinding('cares_wrap'); +cares.getaddrinfo = () => internalBinding('uv').UV_ENOMEM; + +// This test ensures that dns.lookup issue a DeprecationWarning +// when invalid options type is given + +const dns = require('dns'); +const dnsPromises = dns.promises; + +common.expectWarning({ + 'internal/test/binding': [ + 'These APIs are for internal testing only. Do not use them.', + ], + 'DeprecationWarning': { + DEP0153: 'Type coercion of dns.lookup options is deprecated' + } +}); + +dnsPromises.lookup('127.0.0.1', { hints: '1024' }); +dnsPromises.lookup('127.0.0.1', { family: '6' }); +dnsPromises.lookup('127.0.0.1', { all: 'true' }); +dnsPromises.lookup('127.0.0.1', { verbatim: 'true' }); +dnsPromises.lookup('127.0.0.1', '6'); From 53771fbaa920c7dacaeb092101126229ba5de4ee Mon Sep 17 00:00:00 2001 From: kuriyosh Date: Sat, 11 Dec 2021 10:06:53 +0900 Subject: [PATCH 2/2] test: fix dns/promise import & hints type error --- .../test-dns-lookup-promises-options-deprecated.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/test/parallel/test-dns-lookup-promises-options-deprecated.js b/test/parallel/test-dns-lookup-promises-options-deprecated.js index 56b7f3c6115b11..6f3b9314b9db13 100644 --- a/test/parallel/test-dns-lookup-promises-options-deprecated.js +++ b/test/parallel/test-dns-lookup-promises-options-deprecated.js @@ -1,6 +1,7 @@ // Flags: --expose-internals 'use strict'; const common = require('../common'); +const assert = require('assert'); const { internalBinding } = require('internal/test/binding'); const cares = internalBinding('cares_wrap'); cares.getaddrinfo = () => internalBinding('uv').UV_ENOMEM; @@ -8,8 +9,7 @@ cares.getaddrinfo = () => internalBinding('uv').UV_ENOMEM; // This test ensures that dns.lookup issue a DeprecationWarning // when invalid options type is given -const dns = require('dns'); -const dnsPromises = dns.promises; +const dnsPromises = require('dns/promises'); common.expectWarning({ 'internal/test/binding': [ @@ -20,7 +20,12 @@ common.expectWarning({ } }); -dnsPromises.lookup('127.0.0.1', { hints: '1024' }); +assert.throws(() => { + dnsPromises.lookup('127.0.0.1', { hints: '-1' }); +}, { + code: 'ERR_INVALID_ARG_VALUE', + name: 'TypeError' +}); dnsPromises.lookup('127.0.0.1', { family: '6' }); dnsPromises.lookup('127.0.0.1', { all: 'true' }); dnsPromises.lookup('127.0.0.1', { verbatim: 'true' });