Skip to content

Commit dd30ad7

Browse files
authored
chore: Fixed dns integration tests (#2883)
1 parent e784f84 commit dd30ad7

File tree

1 file changed

+44
-1
lines changed

1 file changed

+44
-1
lines changed

test/integration/core/dns.test.js

+44-1
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,62 @@ const dns = require('dns')
1111
const helper = require('../../lib/agent_helper')
1212
const verifySegments = require('./verify.js')
1313

14+
const resolveMethods = [
15+
'resolve',
16+
'resolve4',
17+
'resolve6',
18+
'resolveAny',
19+
'resolveCaa',
20+
'resolveCname',
21+
'resolveMx',
22+
'resolveNaptr',
23+
'resolveNs',
24+
'resolvePtr',
25+
'resolveSoa',
26+
'resolveSrv',
27+
'resolveTxt'
28+
]
29+
1430
test.beforeEach((ctx) => {
1531
ctx.nr = {}
1632
ctx.nr.reverse = dns.reverse
33+
ctx.nr.origResolves = {}
34+
1735
// wrap dns.reverse to not try to actually execute this function
1836
dns.reverse = (addr, cb) => {
1937
cb(undefined, ['localhost'])
2038
}
39+
40+
for (const fn of resolveMethods) {
41+
ctx.nr.origResolves[fn] = dns[fn]
42+
}
43+
dns.resolve = (_, cb) => cb(null, ['127.0.0.1'])
44+
dns.resolve4 = (_, cb) => cb(null, ['127.0.0.1'])
45+
dns.resolve6 = (_, cb) => cb(null, ['::1'])
46+
dns.resolveCname = (_, cb) => {
47+
const error = Error('boom')
48+
error.code = 'ENODATA'
49+
cb(error)
50+
}
51+
dns.resolveMx = (_, cb) => cb(null, ['127.0.0.1'])
52+
dns.resolveNs = (_, cb) => cb(null, ['a.iana-servers.net', 'b.iana-servers.net'])
53+
dns.resolveTxt = (_, cb) => cb(null, ['one', 'two', 'three'])
54+
dns.resolveSrv = (_, cb) => {
55+
const error = Error('boom')
56+
error.code = 'ENODATA'
57+
cb(error)
58+
}
59+
2160
ctx.nr.agent = helper.instrumentMockedAgent()
2261
})
2362

2463
test.afterEach((ctx) => {
2564
helper.unloadAgent(ctx.nr.agent)
2665
dns.reverse = ctx.nr.reverse
66+
67+
for (const fn of resolveMethods) {
68+
dns[fn] = ctx.nr.origResolves[fn]
69+
}
2770
})
2871

2972
test('lookup - IPv4', function (t, end) {
@@ -83,7 +126,7 @@ test('resolve6', function (t, end) {
83126
dns.resolve6('example.com', function (err, ips) {
84127
assert.ok(!err, 'should not error')
85128
assert.equal(ips.length, 1)
86-
assert.ok(ips[0].match(/^(([0-9a-f]{1,4})(:|$)){8}/))
129+
assert.equal('::1', ips[0])
87130
verifySegments({ agent, end, name: 'dns.resolve6' })
88131
})
89132
})

0 commit comments

Comments
 (0)