Skip to content

Commit a1156ca

Browse files
authored
tests: update APM-related tests for zero-conf and run-context changes (#110)
Two changes in [email protected] impacted tests here: - "Zero configuration support" changed how the APM serviceName is handled for edge cases. - Run context handling changes made it so `span.end()` actually removes the span from the current context, so log records after span.end() no longer have that span.id.
1 parent 222d6b3 commit a1156ca

File tree

5 files changed

+12
-20
lines changed

5 files changed

+12
-20
lines changed

loggers/pino/test/apm.test.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -368,15 +368,12 @@ test('can override service.name, event.dataset in base arg to constructor', t =>
368368
})
369369
})
370370

371-
test('unset APM serviceName does not set service.name, event.dataset, but also does not break', t => {
371+
test('invalid APM serviceName does not set service.name or event.dataset, but also does not break', t => {
372372
execFile(process.execPath, [
373-
path.join(__dirname, 'use-apm-override-service-name.js')
374-
// Leave <serviceName> arg empty.
373+
path.join(__dirname, 'use-apm-override-service-name.js'),
374+
'foo☃bar' // Use an invalid <serviceName>.
375375
], {
376-
timeout: 5000,
377-
// Ensure the APM Agent's auto-configuration of `serviceName`, via looking
378-
// up dirs for a package.json, does *not* work by execing from the root dir.
379-
cwd: '/'
376+
timeout: 5000
380377
}, function (err, stdout, stderr) {
381378
t.error(err)
382379
const recs = stdout.trim().split(/\n/g).map(JSON.parse)

loggers/pino/test/serve-one-http-req-with-apm.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ const server = http.createServer()
5353
server.once('request', function handler (req, res) {
5454
const span = apm.startSpan('auth')
5555
setImmediate(function doneAuth () {
56-
span.end()
5756
res.end('ok')
5857
log.info({ req, res }, 'handled request')
58+
span.end()
5959
server.close()
6060
})
6161
})

loggers/winston/index.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,10 @@ function ecsTransform (info, opts) {
107107
? ecsFields.service.name
108108
: undefined)
109109
if (!serviceName) {
110-
// https://github.com/elastic/apm-agent-nodejs/pull/1949 is adding
111-
// getServiceName() in v3.11.0. Fallback to private `apm._conf`.
112110
// istanbul ignore next
113111
serviceName = apm.getServiceName
114-
? apm.getServiceName()
115-
: apm._conf.serviceName
112+
? apm.getServiceName() // added in [email protected]
113+
: apm._conf.serviceName // fallback to private `_conf`
116114
// A mis-configured APM Agent can be "started" but not have a
117115
// "serviceName".
118116
if (serviceName) {

loggers/winston/test/apm.test.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -353,15 +353,12 @@ test('can override service.name, event.dataset', t => {
353353
})
354354
})
355355

356-
test('unset APM serviceName does not set service.name, event.dataset, but also does not break', t => {
356+
test('invalid APM serviceName does not set service.name or event.dataset, but also does not break', t => {
357357
execFile(process.execPath, [
358-
path.join(__dirname, 'use-apm-override-service-name.js')
359-
// Leave <serviceName> arg empty.
358+
path.join(__dirname, 'use-apm-override-service-name.js'),
359+
'foo☃bar' // Use an invalid <serviceName>.
360360
], {
361-
timeout: 5000,
362-
// Ensure the APM Agent's auto-configuration of `serviceName`, via looking
363-
// up dirs for a package.json, does *not* work by execing from the root dir.
364-
cwd: '/'
361+
timeout: 5000
365362
}, function (err, stdout, stderr) {
366363
t.error(err)
367364
const recs = stdout.trim().split(/\n/g).map(JSON.parse)

loggers/winston/test/serve-one-http-req-with-apm.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ const server = http.createServer()
5959
server.once('request', function handler (req, res) {
6060
const span = apm.startSpan('auth')
6161
setImmediate(function doneAuth () {
62-
span.end()
6362
res.end('ok')
6463
log.info('handled request', { req, res })
64+
span.end()
6565
server.close()
6666
})
6767
})

0 commit comments

Comments
 (0)