aboutsummaryrefslogtreecommitdiff
path: root/test/js/node/dns/node-dns.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/js/node/dns/node-dns.test.js')
-rw-r--r--test/js/node/dns/node-dns.test.js66
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]);
+ });
});