@@ -29,25 +29,22 @@ describe('Plugin', () => {
29
29
30
30
afterEach ( ( ) => agent . close ( { ritmReset : false } ) )
31
31
32
- it ( 'should do automatic instrumentation when using callbacks' , done => {
33
- agent . assertSomeTraces ( ( ) => { } ) // wait for initial info command
34
- agent . assertSomeTraces ( traces => {
35
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'name' , expectedSchema . outbound . opName )
36
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'service' , expectedSchema . outbound . serviceName )
37
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'resource' , 'get' )
38
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'type' , 'redis' )
39
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'component' , 'ioredis' )
40
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'db.name' , '0' )
41
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'db.type' , 'redis' )
42
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'span.kind' , 'client' )
43
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'out.host' , 'localhost' )
44
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'redis.raw_command' , 'GET foo' )
45
- expect ( traces [ 0 ] [ 0 ] . metrics ) . to . have . property ( 'network.destination.port' , 6379 )
32
+ it ( 'should do automatic instrumentation when using callbacks' , async ( ) => {
33
+ await redis . get ( 'foo' )
34
+
35
+ await agent . assertFirstTraceSpan ( span => {
36
+ expect ( span ) . to . have . property ( 'name' , expectedSchema . outbound . opName )
37
+ expect ( span ) . to . have . property ( 'service' , expectedSchema . outbound . serviceName )
38
+ expect ( span ) . to . have . property ( 'resource' , 'get' )
39
+ expect ( span ) . to . have . property ( 'type' , 'redis' )
40
+ expect ( span . meta ) . to . have . property ( 'component' , 'ioredis' )
41
+ expect ( span . meta ) . to . have . property ( 'db.name' , '0' )
42
+ expect ( span . meta ) . to . have . property ( 'db.type' , 'redis' )
43
+ expect ( span . meta ) . to . have . property ( 'span.kind' , 'client' )
44
+ expect ( span . meta ) . to . have . property ( 'out.host' , 'localhost' )
45
+ expect ( span . meta ) . to . have . property ( 'redis.raw_command' , 'GET foo' )
46
+ expect ( span . metrics ) . to . have . property ( 'network.destination.port' , 6379 )
46
47
} )
47
- . then ( done )
48
- . catch ( done )
49
-
50
- redis . get ( 'foo' ) . catch ( done )
51
48
} )
52
49
53
50
it ( 'should run the callback in the parent context' , ( ) => {
@@ -59,49 +56,42 @@ describe('Plugin', () => {
59
56
} )
60
57
} )
61
58
62
- it ( 'should handle errors' , done => {
59
+ it ( 'should handle errors' , async ( ) => {
63
60
let error
64
61
65
- agent . assertSomeTraces ( ( ) => { } ) // wait for initial info command
66
- agent
67
- . assertSomeTraces ( traces => {
68
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'error' , 1 )
69
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( ERROR_TYPE , error . name )
70
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( ERROR_MESSAGE , error . message )
71
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( ERROR_STACK , error . stack )
72
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'component' , 'ioredis' )
73
- } )
74
- . then ( done )
75
- . catch ( done )
76
-
77
- redis . set ( 'foo' , 123 , 'bar' )
78
- . catch ( err => {
79
- error = err
80
- } )
81
- } )
62
+ try {
63
+ await redis . set ( 'foo' , 123 , 'bar' )
64
+ } catch ( err ) {
65
+ error = err
66
+ }
82
67
83
- it ( 'should work with userland promises' , done => {
84
- agent . assertSomeTraces ( ( ) => { } ) // wait for initial info command
85
- agent
86
- . assertSomeTraces ( traces => {
87
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'name' , expectedSchema . outbound . opName )
88
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'service' , expectedSchema . outbound . serviceName )
89
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'resource' , 'get' )
90
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'type' , 'redis' )
91
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'db.name' , '0' )
92
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'db.type' , 'redis' )
93
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'span.kind' , 'client' )
94
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'out.host' , 'localhost' )
95
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'redis.raw_command' , 'GET foo' )
96
- expect ( traces [ 0 ] [ 0 ] . meta ) . to . have . property ( 'component' , 'ioredis' )
97
- expect ( traces [ 0 ] [ 0 ] . metrics ) . to . have . property ( 'network.destination.port' , 6379 )
98
- } )
99
- . then ( done )
100
- . catch ( done )
68
+ await agent . assertFirstTraceSpan ( span => {
69
+ expect ( span ) . to . have . property ( 'error' , 1 )
70
+ expect ( span . meta ) . to . have . property ( ERROR_TYPE , error . name )
71
+ expect ( span . meta ) . to . have . property ( ERROR_MESSAGE , error . message )
72
+ expect ( span . meta ) . to . have . property ( ERROR_STACK , error . stack )
73
+ expect ( span . meta ) . to . have . property ( 'component' , 'ioredis' )
74
+ } )
75
+ } )
101
76
77
+ it ( 'should work with userland promises' , async ( ) => {
102
78
breakThen ( Promise . prototype )
103
79
104
- redis . get ( 'foo' ) . catch ( done )
80
+ await redis . get ( 'foo' )
81
+
82
+ await agent . assertFirstTraceSpan ( span => {
83
+ expect ( span ) . to . have . property ( 'name' , expectedSchema . outbound . opName )
84
+ expect ( span ) . to . have . property ( 'service' , expectedSchema . outbound . serviceName )
85
+ expect ( span ) . to . have . property ( 'resource' , 'get' )
86
+ expect ( span ) . to . have . property ( 'type' , 'redis' )
87
+ expect ( span . meta ) . to . have . property ( 'db.name' , '0' )
88
+ expect ( span . meta ) . to . have . property ( 'db.type' , 'redis' )
89
+ expect ( span . meta ) . to . have . property ( 'span.kind' , 'client' )
90
+ expect ( span . meta ) . to . have . property ( 'out.host' , 'localhost' )
91
+ expect ( span . meta ) . to . have . property ( 'redis.raw_command' , 'GET foo' )
92
+ expect ( span . meta ) . to . have . property ( 'component' , 'ioredis' )
93
+ expect ( span . metrics ) . to . have . property ( 'network.destination.port' , 6379 )
94
+ } )
105
95
} )
106
96
107
97
withNamingSchema (
@@ -119,27 +109,20 @@ describe('Plugin', () => {
119
109
120
110
after ( ( ) => agent . close ( { ritmReset : false } ) )
121
111
122
- it ( 'should be configured with the correct values' , done => {
123
- agent
124
- . assertSomeTraces ( traces => {
125
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'service' , 'custom-test' )
126
- } )
127
- . then ( done )
128
- . catch ( done )
112
+ it ( 'should be configured with the correct values' , async ( ) => {
113
+ await redis . get ( 'foo' )
129
114
130
- redis . get ( 'foo' ) . catch ( done )
115
+ agent . assertFirstTraceSpan ( span => {
116
+ expect ( span ) . to . have . property ( 'service' , 'custom-test' )
117
+ } )
131
118
} )
132
119
133
- it ( 'should be able to filter commands' , done => {
134
- agent . assertSomeTraces ( ( ) => { } ) // wait for initial command
135
- agent
136
- . assertSomeTraces ( traces => {
137
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'resource' , 'get' )
138
- } )
139
- . then ( done )
140
- . catch ( done )
120
+ it ( 'should be able to filter commands' , async ( ) => {
121
+ await redis . get ( 'foo' )
141
122
142
- redis . get ( 'foo' ) . catch ( done )
123
+ await agent . assertFirstTraceSpan ( span => {
124
+ expect ( span ) . to . have . property ( 'resource' , 'get' )
125
+ } )
143
126
} )
144
127
145
128
withNamingSchema (
@@ -164,16 +147,12 @@ describe('Plugin', () => {
164
147
165
148
after ( ( ) => agent . close ( { ritmReset : false } ) )
166
149
167
- it ( 'should be able to filter commands' , done => {
168
- agent . assertSomeTraces ( ( ) => { } ) // wait for initial command
169
- agent
170
- . assertSomeTraces ( traces => {
171
- expect ( traces [ 0 ] [ 0 ] ) . to . have . property ( 'resource' , 'get' )
172
- } )
173
- . then ( done )
174
- . catch ( done )
150
+ it ( 'should be able to filter commands' , async ( ) => {
151
+ await redis . get ( 'foo' )
175
152
176
- redis . get ( 'foo' ) . catch ( done )
153
+ await agent . assertFirstTraceSpan ( span => {
154
+ expect ( span ) . to . have . property ( 'resource' , 'get' )
155
+ } )
177
156
} )
178
157
} )
179
158
} )
0 commit comments