Files
bun.sh/test/bun.js/node-dns.test.js
Ciro Spaciari 481dbf7c6e feat(dns) resolveSrv (#1870)
* initial steps

* in-progress resolveSrv support

* fix memory leak and ZigGlobalObject

* promise.resolve + fix priority and weight mistake

* fix node dns export

* little better test

* add poll_ref to keep alive loop in callback for resolveSrv and lookup

* add test for error case in resolveSrc

* fix Bun.dns.resolveSrv type
2023-01-22 14:31:08 -08:00

54 lines
1.5 KiB
JavaScript

import { expect, test } from "bun:test";
import * as dns from "node:dns";
// TODO:
test("it exists", () => {
expect(dns).toBeDefined();
expect(dns.lookup).toBeDefined();
expect(dns.lookupService).toBeDefined();
expect(dns.resolve).toBeDefined();
expect(dns.resolve4).toBeDefined();
expect(dns.resolve6).toBeDefined();
});
test("dns.lookup (localhost)", (done) => {
dns.lookup("localhost", (err, address, family) => {
expect(err).toBeNull();
if (family === 6) {
expect(address).toBe("::1");
} else {
expect(address).toBe("127.0.0.1");
}
done(err);
});
});
test("dns.lookup (example.com)", (done) => {
dns.lookup("example.com", (err, address, family) => {
expect(err).toBeNull();
expect(typeof address).toBe("string");
done(err);
});
});
//TODO: use a bun.sh SRV for testing
test("dns.resolveSrv (_test._tcp.test.socketify.dev)", (done) => {
dns.resolveSrv("_test._tcp.test.socketify.dev", (err, results) => {
expect(err).toBeNull();
expect(results instanceof Array).toBe(true);
expect(results[0].name).toBe("_dc-srv.130c90ab9de1._test._tcp.test.socketify.dev");
expect(results[0].priority).toBe(50);
expect(results[0].weight).toBe(50);
expect(results[0].port).toBe(80);
done(err);
});
});
test("dns.resolveSrv (_test._tcp.invalid.localhost)", (done) => {
dns.resolveSrv("_test._tcp.invalid.localhost", (err, results) => {
expect(err).toBeTruthy();
expect(results).toBeUndefined(true);
done();
});
});