fatsify核心功能示例测试!!!
This commit is contained in:
47
node_modules/fastify/test/logger/logger-test-utils.js
generated
vendored
Normal file
47
node_modules/fastify/test/logger/logger-test-utils.js
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
'use strict'
|
||||
|
||||
const http = require('node:http')
|
||||
const os = require('node:os')
|
||||
const fs = require('node:fs')
|
||||
|
||||
const path = require('node:path')
|
||||
|
||||
function createDeferredPromise () {
|
||||
const promise = {}
|
||||
promise.promise = new Promise(function (resolve) {
|
||||
promise.resolve = resolve
|
||||
})
|
||||
return promise
|
||||
}
|
||||
|
||||
let count = 0
|
||||
function createTempFile () {
|
||||
const file = path.join(os.tmpdir(), `sonic-boom-${process.pid}-${count++}`)
|
||||
function cleanup () {
|
||||
try {
|
||||
fs.unlinkSync(file)
|
||||
} catch { }
|
||||
}
|
||||
return { file, cleanup }
|
||||
}
|
||||
|
||||
function request (url, cleanup = () => { }) {
|
||||
const promise = createDeferredPromise()
|
||||
http.get(url, (res) => {
|
||||
const chunks = []
|
||||
// we consume the response
|
||||
res.on('data', function (chunk) {
|
||||
chunks.push(chunk)
|
||||
})
|
||||
res.once('end', function () {
|
||||
cleanup(res, Buffer.concat(chunks).toString())
|
||||
promise.resolve()
|
||||
})
|
||||
})
|
||||
return promise.promise
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
request,
|
||||
createTempFile
|
||||
}
|
||||
Reference in New Issue
Block a user