Home / File/ route.7.test.js — fastify Source File

route.7.test.js — fastify Source File

Architecture documentation for route.7.test.js, a javascript file in the fastify codebase.

Entity Profile

Source Code

'use strict'

const stream = require('node:stream')
const { ReadableStream } = require('node:stream/web')
const split = require('split2')
const { test } = require('node:test')
const Fastify = require('..')
const createError = require('@fastify/error')

test("HEAD route should handle stream.on('error')", (t, done) => {
  t.plan(6)

  const resStream = stream.Readable.from('Hello with error!')
  const logStream = split(JSON.parse)
  const expectedError = new Error('Hello!')
  const fastify = Fastify({
    logger: {
      stream: logStream,
      level: 'error'
    }
  })

  fastify.route({
    method: 'GET',
    path: '/more-coffee',
    exposeHeadRoute: true,
    handler: (req, reply) => {
      process.nextTick(() => resStream.emit('error', expectedError))
      return resStream
    }
  })

  logStream.once('data', line => {
    const { message, stack } = expectedError
    t.assert.deepStrictEqual(line.err, { type: 'Error', message, stack })
    t.assert.strictEqual(line.msg, 'Error on Stream found for HEAD route')
    t.assert.strictEqual(line.level, 50)
  })

  fastify.inject({
    method: 'HEAD',
    url: '/more-coffee'
  }, (error, res) => {
    t.assert.ifError(error)
    t.assert.strictEqual(res.statusCode, 200)
    t.assert.strictEqual(res.headers['content-type'], undefined)
    done()
  })
})

test('HEAD route should handle ReadableStream.cancel() error', (t, done) => {
  t.plan(7)

  const logStream = split(JSON.parse)
  const expectedError = new Error('Cancel error!')
  const fastify = Fastify({
    logger: {
      stream: logStream,
      level: 'error'
    }
// ... (347 more lines)

Frequently Asked Questions

What does route.7.test.js do?
route.7.test.js is a source file in the fastify codebase, written in javascript.
Where is route.7.test.js in the architecture?
route.7.test.js is located at test/route.7.test.js (directory: test).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free