aboutsummaryrefslogtreecommitdiff
path: root/test/js/node
diff options
context:
space:
mode:
authorGravatar Ai Hoshino <ambiguous404@gmail.com> 2023-08-06 21:16:54 +0800
committerGravatar GitHub <noreply@github.com> 2023-08-06 06:16:54 -0700
commitecdf2ffa6c615d8a431c2919c0b9bdc4cbe2c4f0 (patch)
treea9bb787b1efc382ed37e8fe99cdda8cdb0f7fe92 /test/js/node
parentcd0774cd89f44ae3880ae5d3840787012d9df603 (diff)
downloadbun-ecdf2ffa6c615d8a431c2919c0b9bdc4cbe2c4f0.tar.gz
bun-ecdf2ffa6c615d8a431c2919c0b9bdc4cbe2c4f0.tar.zst
bun-ecdf2ffa6c615d8a431c2919c0b9bdc4cbe2c4f0.zip
feat: impl `dns.getServers` (#3982)
* feat: impl `dns.getServers` Close: #3981 * check return value of `ares_inet_ntop`
Diffstat (limited to 'test/js/node')
-rw-r--r--test/js/node/dns/node-dns.test.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/js/node/dns/node-dns.test.js b/test/js/node/dns/node-dns.test.js
index 5de840146..f905a2885 100644
--- a/test/js/node/dns/node-dns.test.js
+++ b/test/js/node/dns/node-dns.test.js
@@ -1,6 +1,8 @@
import { expect, test } from "bun:test";
import * as dns from "node:dns";
import * as dns_promises from "node:dns/promises";
+import * as fs from "node:fs";
+import * as os from "node:os";
// TODO:
test("it exists", () => {
@@ -190,3 +192,34 @@ test("dns.lookup (localhost)", done => {
done(err);
});
});
+
+test("dns.getServers", done => {
+ function parseResolvConf() {
+ let servers = [];
+ try {
+ const content = fs.readFileSync("/etc/resolv.conf", "utf-8");
+ const lines = content.split(os.EOL);
+
+ for (const line of lines) {
+ const parts = line.trim().split(/\s+/);
+ if (parts.length >= 2 && parts[0] === "nameserver") {
+ servers.push(parts[1]);
+ }
+ }
+ } catch (err) {
+ done(err);
+ }
+ return servers;
+ }
+
+ const expectServers = parseResolvConf();
+ const actualServers = dns.getServers();
+ try {
+ for (const server of expectServers) {
+ expect(actualServers).toContain(server);
+ }
+ } catch (err) {
+ return done(err);
+ }
+ done();
+});