Skip to content

Commit ee38cdc

Browse files
committed
test: add TLSA record query tests
1 parent e2a26fe commit ee38cdc

File tree

4 files changed

+45
-0
lines changed

4 files changed

+45
-0
lines changed

test/common/internet.js

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ const addresses = {
3838
CNAME_HOST: 'blog.nodejs.org',
3939
// A host with NS records registered
4040
NS_HOST: 'nodejs.org',
41+
// A host with TLSA records registered
42+
TLSA_HOST: '_443._tcp.fedoraproject.org',
4143
// A host with TXT records registered
4244
TXT_HOST: 'nodejs.org',
4345
// An accessible IPv4 DNS server

test/internet/test-dns-cares-domains.js

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const methods = [
1111
'resolveCname',
1212
'resolveMx',
1313
'resolveNs',
14+
'resolveTlsa',
1415
'resolveTxt',
1516
'resolveSrv',
1617
'resolvePtr',

test/internet/test-dns.js

+41
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,47 @@ TEST(function test_resolveCname_failure(done) {
479479
checkWrap(req);
480480
});
481481

482+
TEST(async function test_resolveTlsa(done) {
483+
function validateResult(result) {
484+
assert.ok(Array.isArray(result));
485+
assert.ok(result.length >= 1);
486+
for (const record of result) {
487+
assert.strictEqual(typeof record.certUsage, 'number');
488+
assert.strictEqual(typeof record.selector, 'number');
489+
assert.strictEqual(typeof record.match, 'number');
490+
assert.ok(record.data instanceof ArrayBuffer);
491+
}
492+
}
493+
494+
validateResult(await dnsPromises.resolveTlsa(addresses.TLSA_HOST));
495+
496+
const req = dns.resolveTlsa(addresses.TLSA_HOST, function(err, records) {
497+
assert.ifError(err);
498+
validateResult(records);
499+
done();
500+
});
501+
502+
checkWrap(req);
503+
});
504+
505+
TEST(function test_resolveTlsa_failure(done) {
506+
dnsPromises.resolveTlsa(addresses.NOT_FOUND)
507+
.then(common.mustNotCall())
508+
.catch(common.mustCall((err) => {
509+
assert.strictEqual(err.code, 'ENOTFOUND');
510+
}));
511+
512+
const req = dns.resolveTlsa(addresses.NOT_FOUND, function(err, result) {
513+
assert.ok(err instanceof Error);
514+
assert.strictEqual(err.code, 'ENOTFOUND');
515+
516+
assert.strictEqual(result, undefined);
517+
518+
done();
519+
});
520+
521+
checkWrap(req);
522+
});
482523

483524
TEST(async function test_resolveTxt(done) {
484525
function validateResult(result) {

test/internet/test-trace-events-dns.js

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ const tests = {
3434
'resolveCname': 'dns.resolveCname("example.com", (err, res) => {});',
3535
'resolveMx': 'dns.resolveMx("example.com", (err, res) => {});',
3636
'resolveNs': 'dns.resolveNs("example.com", (err, res) => {});',
37+
'resolveTlsa': 'dns.resolveTlsa("example.com", (err, res) => {});',
3738
'resolveTxt': 'dns.resolveTxt("example.com", (err, res) => {});',
3839
'resolveSrv': 'dns.resolveSrv("example.com", (err, res) => {});',
3940
'resolvePtr': 'dns.resolvePtr("example.com", (err, res) => {});',

0 commit comments

Comments
 (0)