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
			| 
								 
											3 years ago
										 
									 | 
							
								'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'
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								})
							 |