@@ -11,19 +11,62 @@ const dns = require('dns')
11
11
const helper = require ( '../../lib/agent_helper' )
12
12
const verifySegments = require ( './verify.js' )
13
13
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
+
14
30
test . beforeEach ( ( ctx ) => {
15
31
ctx . nr = { }
16
32
ctx . nr . reverse = dns . reverse
33
+ ctx . nr . origResolves = { }
34
+
17
35
// wrap dns.reverse to not try to actually execute this function
18
36
dns . reverse = ( addr , cb ) => {
19
37
cb ( undefined , [ 'localhost' ] )
20
38
}
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
+
21
60
ctx . nr . agent = helper . instrumentMockedAgent ( )
22
61
} )
23
62
24
63
test . afterEach ( ( ctx ) => {
25
64
helper . unloadAgent ( ctx . nr . agent )
26
65
dns . reverse = ctx . nr . reverse
66
+
67
+ for ( const fn of resolveMethods ) {
68
+ dns [ fn ] = ctx . nr . origResolves [ fn ]
69
+ }
27
70
} )
28
71
29
72
test ( 'lookup - IPv4' , function ( t , end ) {
@@ -83,7 +126,7 @@ test('resolve6', function (t, end) {
83
126
dns . resolve6 ( 'example.com' , function ( err , ips ) {
84
127
assert . ok ( ! err , 'should not error' )
85
128
assert . equal ( ips . length , 1 )
86
- assert . ok ( ips [ 0 ] . match ( / ^ ( ( [ 0 - 9 a - f ] { 1 , 4 } ) ( : | $ ) ) { 8 } / ) )
129
+ assert . equal ( '::1' , ips [ 0 ] )
87
130
verifySegments ( { agent, end, name : 'dns.resolve6' } )
88
131
} )
89
132
} )
0 commit comments