mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 10:58:56 +00:00
* 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
54 lines
1.5 KiB
JavaScript
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();
|
|
});
|
|
}); |