prepper
Version:
Prepper is an event based api for pre-processing log events before routing them to your logging framework of choice
68 lines (51 loc) • 2.18 kB
JavaScript
var assert = require('chai').assert
var lib = require('../..')
var Logger = lib.Logger
var Repo = lib.handlers.Repo
var Merge = lib.handlers.Merge
describe('Merge', function() {
it('should merge object into the root of the event', function() {
var logger = new Logger()
var merge = new Merge({ name: 'ernie', version: '1.2.3' })
var repo = new Repo()
logger.on('message', merge.handle)
merge.on('message', repo.handle)
logger.debug('meh')
var event = repo.first()
assert.equal(event.name, 'ernie')
assert.equal(event.version, '1.2.3')
})
it('should merge object into the event at the specified key', function() {
var logger = new Logger()
var merge = new Merge({ name: 'ernie', version: '1.2.3' }, { key: 'package' })
var repo = new Repo()
logger.on('message', merge.handle)
merge.on('message', repo.handle)
logger.debug('meh')
var event = repo.first()
assert.equal(event.package.name, 'ernie')
assert.equal(event.package.version, '1.2.3')
})
it('should not overwrite values in the original event normally', function() {
var logger = new Logger()
var merge = new Merge({ name: 'ernie', version: '1.2.3' }, { key: 'package' })
var repo = new Repo()
logger.on('message', merge.handle)
merge.on('message', repo.handle)
logger.debug('meh', { package: { name: 'bert' }})
var event = repo.first()
assert.equal(event.package.name, 'bert')
assert.equal(event.package.version, '1.2.3')
})
it('should not overwrite values in the original event when inverted', function() {
var logger = new Logger()
var merge = new Merge({ name: 'ernie', version: '1.2.3' }, { key: 'package', invert: true })
var repo = new Repo()
logger.on('message', merge.handle)
merge.on('message', repo.handle)
logger.debug('meh', { package: { version: '1.0.0' }} )
var event = repo.first()
assert.equal(event.package.name, 'ernie')
assert.equal(event.package.version, '1.2.3')
})
})