CoolFace
Apppublic

strong-tie/inbound-calls

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
error-request.test.js62 linesDownload Raw Back to diagnostics-channel
1'use strict'2 3const { test } = require('node:test')4const diagnostics = require('node:diagnostics_channel')5const sget = require('simple-get').concat6const Fastify = require('../..')7const { getServerUrl } = require('../helper')8const Request = require('../../lib/request')9const Reply = require('../../lib/reply')10 11test('diagnostics channel events report on errors', (t, done) => {12  t.plan(14)13  let callOrder = 014  let firstEncounteredMessage15 16  diagnostics.subscribe('tracing:fastify.request.handler:start', (msg) => {17    t.assert.strictEqual(callOrder++, 0)18    firstEncounteredMessage = msg19    t.assert.ok(msg.request instanceof Request)20    t.assert.ok(msg.reply instanceof Reply)21  })22 23  diagnostics.subscribe('tracing:fastify.request.handler:end', (msg) => {24    t.assert.ok(msg.request instanceof Request)25    t.assert.ok(msg.reply instanceof Reply)26    t.assert.strictEqual(callOrder++, 2)27    t.assert.strictEqual(msg, firstEncounteredMessage)28  })29 30  diagnostics.subscribe('tracing:fastify.request.handler:error', (msg) => {31    t.assert.ok(msg.request instanceof Request)32    t.assert.ok(msg.reply instanceof Reply)33    t.assert.ok(msg.error instanceof Error)34    t.assert.strictEqual(callOrder++, 1)35    t.assert.strictEqual(msg.error.message, 'borked')36  })37 38  const fastify = Fastify()39  fastify.route({40    method: 'GET',41    url: '/',42    handler: function (req, reply) {43      throw new Error('borked')44    }45  })46 47  fastify.listen({ port: 0 }, function (err) {48    if (err) t.assert.ifError(err)49 50    t.after(() => { fastify.close() })51 52    sget({53      method: 'GET',54      url: getServerUrl(fastify) + '/'55    }, (err, response, body) => {56      t.assert.ifError(err)57      t.assert.strictEqual(response.statusCode, 500)58      done()59    })60  })61})62