You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.2 KiB
56 lines
1.2 KiB
'use strict'
|
|
|
|
const { test } = require('tap')
|
|
const { sink, once } = require('./helper')
|
|
const pino = require('../')
|
|
|
|
const level = 50
|
|
const name = 'error'
|
|
|
|
test('default merge strategy', async ({ ok, same }) => {
|
|
const stream = sink()
|
|
const instance = pino({
|
|
base: {},
|
|
mixin () {
|
|
return { tag: 'k8s' }
|
|
}
|
|
}, stream)
|
|
instance.level = name
|
|
instance[name]({
|
|
tag: 'local'
|
|
}, 'test')
|
|
const result = await once(stream, 'data')
|
|
ok(new Date(result.time) <= new Date(), 'time is greater than Date.now()')
|
|
delete result.time
|
|
same(result, {
|
|
level,
|
|
msg: 'test',
|
|
tag: 'local'
|
|
})
|
|
})
|
|
|
|
test('custom merge strategy with mixin priority', async ({ ok, same }) => {
|
|
const stream = sink()
|
|
const instance = pino({
|
|
base: {},
|
|
mixin () {
|
|
return { tag: 'k8s' }
|
|
},
|
|
mixinMergeStrategy (mergeObject, mixinObject) {
|
|
return Object.assign(mergeObject, mixinObject)
|
|
}
|
|
}, stream)
|
|
instance.level = name
|
|
instance[name]({
|
|
tag: 'local'
|
|
}, 'test')
|
|
const result = await once(stream, 'data')
|
|
ok(new Date(result.time) <= new Date(), 'time is greater than Date.now()')
|
|
delete result.time
|
|
same(result, {
|
|
level,
|
|
msg: 'test',
|
|
tag: 'k8s'
|
|
})
|
|
})
|