Skip to content

Commit 2b3437e

Browse files
authored
tests: fix APM tests for [email protected] (#83)
The APM tests for the Winston and Pino formatters started failing with the release of [email protected], because it included changes that could lead to the order of APM reported "transaction" and "span" objects being reverse (in this case because span encoding is now faster). This changes the test code to not be subject to that order race.
1 parent 0c749ed commit 2b3437e

File tree

3 files changed

+17
-10
lines changed

3 files changed

+17
-10
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,4 @@ html_docs
6666
.ecs
6767
.DS_Store
6868
/tmp
69+
.vscode

loggers/pino/test/apm.test.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,10 @@ test('tracing integration works', t => {
126126
}
127127
if (traceObjs.length >= 3 && logObjs.length >= 1) {
128128
t.ok(traceObjs[0].metadata, 'traceObjs[0] is metadata')
129-
t.ok(traceObjs[1].transaction, 'traceObjs[1] is transaction')
130-
t.ok(traceObjs[2].span, 'traceObjs[2] is span')
131-
const span = traceObjs[2].span
129+
const trans = traceObjs[1].transaction || traceObjs[2].transaction
130+
const span = traceObjs[1].span || traceObjs[2].span
131+
t.ok(trans, 'got transaction')
132+
t.ok(span, 'got span')
132133
t.equal(logObjs[0].trace.id, span.trace_id, 'trace.id matches')
133134
t.equal(logObjs[0].transaction.id, span.transaction_id, 'transaction.id matches')
134135
t.equal(logObjs[0].span.id, span.id, 'span.id matches')
@@ -269,8 +270,10 @@ test('apmIntegration=false disables tracing integration', t => {
269270
}
270271
if (traceObjs.length >= 3 && logObjs.length >= 1) {
271272
t.ok(traceObjs[0].metadata, 'traceObjs[0] is metadata')
272-
t.ok(traceObjs[1].transaction, 'traceObjs[1] is transaction')
273-
t.ok(traceObjs[2].span, 'traceObjs[2] is span')
273+
const trans = traceObjs[1].transaction || traceObjs[2].transaction
274+
const span = traceObjs[1].span || traceObjs[2].span
275+
t.ok(trans, 'got transaction')
276+
t.ok(span, 'got span')
274277
t.notOk(logObjs[0].trace, 'log record does *not* have "trace" object')
275278
t.notOk(logObjs[0].transaction, 'log record does *not* have "transaction" object')
276279
t.notOk(logObjs[0].span, 'log record does *not* have "span" object')

loggers/winston/test/apm.test.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,10 @@ test('tracing integration works', t => {
128128
}
129129
if (traceObjs.length >= 3 && logObjs.length >= 1) {
130130
t.ok(traceObjs[0].metadata, 'traceObjs[0] is metadata')
131-
t.ok(traceObjs[1].transaction, 'traceObjs[1] is transaction')
132-
t.ok(traceObjs[2].span, 'traceObjs[2] is span')
133-
const span = traceObjs[2].span
131+
const trans = traceObjs[1].transaction || traceObjs[2].transaction
132+
const span = traceObjs[1].span || traceObjs[2].span
133+
t.ok(trans, 'got transaction')
134+
t.ok(span, 'got span')
134135
t.equal(logObjs[0].trace.id, span.trace_id, 'trace.id matches')
135136
t.equal(logObjs[0].transaction.id, span.transaction_id, 'transaction.id matches')
136137
t.equal(logObjs[0].span.id, span.id, 'span.id matches')
@@ -273,8 +274,10 @@ test('apmIntegration=false disables tracing integration', t => {
273274
}
274275
if (traceObjs.length >= 3 && logObjs.length >= 1) {
275276
t.ok(traceObjs[0].metadata, 'traceObjs[0] is metadata')
276-
t.ok(traceObjs[1].transaction, 'traceObjs[1] is transaction')
277-
t.ok(traceObjs[2].span, 'traceObjs[2] is span')
277+
const trans = traceObjs[1].transaction || traceObjs[2].transaction
278+
const span = traceObjs[1].span || traceObjs[2].span
279+
t.ok(trans, 'got transaction')
280+
t.ok(span, 'got span')
278281
t.notOk(logObjs[0].trace, 'log record does *not* have "trace" object')
279282
t.notOk(logObjs[0].transaction, 'log record does *not* have "transaction" object')
280283
t.notOk(logObjs[0].span, 'log record does *not* have "span" object')

0 commit comments

Comments
 (0)