diff options
Diffstat (limited to 'test/js/node/dns/node-dns.test.js')
-rw-r--r-- | test/js/node/dns/node-dns.test.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/test/js/node/dns/node-dns.test.js b/test/js/node/dns/node-dns.test.js index e6f28da49..d549017b2 100644 --- a/test/js/node/dns/node-dns.test.js +++ b/test/js/node/dns/node-dns.test.js @@ -327,4 +327,70 @@ describe("test invalid arguments", () => { } }); }); + + it("dns.lookupService", async () => { + expect(() => { + dns.lookupService("", 443, (err, hostname, service) => {}); + }).toThrow("Expected address to be a non-empty string for 'lookupService'."); + expect(() => { + dns.lookupService("google.com", 443, (err, hostname, service) => {}); + }).toThrow("Expected address to be a invalid address for 'lookupService'."); + }); +}); + +describe("dns.lookupService", () => { + it.each([ + ["1.1.1.1", 53, ["one.one.one.one", "domain"]], + ["2606:4700:4700::1111", 53, ["one.one.one.one", "domain"]], + ["2606:4700:4700::1001", 53, ["one.one.one.one", "domain"]], + ["1.1.1.1", 80, ["one.one.one.one", "http"]], + ["1.1.1.1", 443, ["one.one.one.one", "https"]], + ])("lookupService(%s, %d)", (address, port, expected, done) => { + dns.lookupService(address, port, (err, hostname, service) => { + try { + expect(err).toBeNull(); + expect(hostname).toStrictEqual(expected[0]); + expect(service).toStrictEqual(expected[1]); + done(); + } catch (err) { + done(err); + } + }); + }); + + it("lookupService(255.255.255.255, 443)", done => { + dns.lookupService("255.255.255.255", 443, (err, hostname, service) => { + if (process.platform == "darwin") { + try { + expect(err).toBeNull(); + expect(hostname).toStrictEqual("broadcasthost"); + expect(service).toStrictEqual("https"); + done(); + } catch (err) { + done(err); + } + } else { + try { + expect(err).not.toBeNull(); + expect(hostname).toBeUndefined(); + expect(service).toBeUndefined(); + done(); + } catch (err) { + done(err); + } + } + }); + }); + + it.each([ + ["1.1.1.1", 53, ["one.one.one.one", "domain"]], + ["2606:4700:4700::1111", 53, ["one.one.one.one", "domain"]], + ["2606:4700:4700::1001", 53, ["one.one.one.one", "domain"]], + ["1.1.1.1", 80, ["one.one.one.one", "http"]], + ["1.1.1.1", 443, ["one.one.one.one", "https"]], + ])("promises.lookupService(%s, %d)", async (address, port, expected) => { + const [hostname, service] = await dns.promises.lookupService(address, port); + expect(hostname).toStrictEqual(expected[0]); + expect(service).toStrictEqual(expected[1]); + }); }); |