From cdc6255c94f5801c7095728867e62a144a0c264a Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Tue, 4 Feb 2020 14:03:25 -0800 Subject: [PATCH] test: add test-dns-promises-lookupService This adds covereage for the onlookupservice() callback in lib/internal/dns/promises.js. Because of stubbing in other tests, it is not currently covered. This test works on my local development machine with the network turned off, so I'm putting it in parallel. If CI proves more challenging, it can be moved to the internet directory instead. PR-URL: https://github.com/nodejs/node/pull/31640 Reviewed-By: Colin Ihrig Reviewed-By: James M Snell Reviewed-By: Luigi Pinca Reviewed-By: Anna Henningsen Reviewed-By: Richard Lau --- .../test-dns-promises-lookupService.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 test/parallel/test-dns-promises-lookupService.js diff --git a/test/parallel/test-dns-promises-lookupService.js b/test/parallel/test-dns-promises-lookupService.js new file mode 100644 index 00000000000000..d7e50f194da8a1 --- /dev/null +++ b/test/parallel/test-dns-promises-lookupService.js @@ -0,0 +1,19 @@ +'use strict'; + +const common = require('../common'); + +const assert = require('assert'); +const dnsPromises = require('dns').promises; + +dnsPromises.lookupService('127.0.0.1', 22).then(common.mustCall((result) => { + assert.strictEqual(result.service, 'ssh'); + assert.strictEqual(typeof result.hostname, 'string'); + assert.notStrictEqual(result.hostname.length, 0); +})); + +// Use an IP from the RFC 5737 test range to cause an error. +// Refs: https://tools.ietf.org/html/rfc5737 +assert.rejects( + () => dnsPromises.lookupService('192.0.2.1', 22), + { code: /^(?:ENOTFOUND|EAI_AGAIN)$/ } +);