listen.5.test.js — fastify Source File
Architecture documentation for listen.5.test.js, a javascript file in the fastify codebase.
Entity Profile
Relationship Graph
Source Code
'use strict'
const { test } = require('node:test')
const net = require('node:net')
const Fastify = require('../fastify')
const { once } = require('node:events')
const { FSTWRN003 } = require('../lib/warnings.js')
function createDeferredPromise () {
const promise = {}
promise.promise = new Promise((resolve) => {
promise.resolve = resolve
})
return promise
}
test('same port conflict and success should not fire callback multiple times - callback', async (t) => {
t.plan(7)
const server = net.createServer()
server.listen({ port: 0, host: '127.0.0.1' })
await once(server, 'listening')
const option = { port: server.address().port, host: server.address().address }
let count = 0
const fastify = Fastify()
const promise = createDeferredPromise()
function callback (err) {
switch (count) {
case 6: {
// success in here
t.assert.ifError(err)
fastify.close((err) => {
t.assert.ifError(err)
promise.resolve()
})
break
}
case 5: {
server.close()
setTimeout(() => {
fastify.listen(option, callback)
}, 100)
break
}
default: {
// expect error
t.assert.strictEqual(err.code, 'EADDRINUSE')
setTimeout(() => {
fastify.listen(option, callback)
}, 100)
}
}
count++
}
fastify.listen(option, callback)
await promise.promise
})
test('same port conflict and success should not fire callback multiple times - promise', async (t) => {
t.plan(5)
const server = net.createServer()
// ... (63 more lines)
Domain
Subdomains
Functions
Source
Frequently Asked Questions
What does listen.5.test.js do?
listen.5.test.js is a source file in the fastify codebase, written in javascript. It belongs to the CoreKernel domain, LifecycleManager subdomain.
What functions are defined in listen.5.test.js?
listen.5.test.js defines 1 function(s): createDeferredPromise.
Where is listen.5.test.js in the architecture?
listen.5.test.js is located at test/listen.5.test.js (domain: CoreKernel, subdomain: LifecycleManager, directory: test).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free