cocalc/src / smc-project / node_modules / forever / node_modules / winston / test / log-rewriter-test.js
50659 views/*1* log-rewriter-test.js: Tests for rewriting metadata in winston.2*3* (C) 2010 Charlie Robbins4* MIT LICENSE5*6*/78var assert = require('assert'),9vows = require('vows'),10winston = require('../lib/winston'),11helpers = require('./helpers');1213vows.describe('winston/logger/rewriter').addBatch({14"An instance of winston.Logger": {15topic: new (winston.Logger)({transports: [16new (winston.transports.Console)({ level: 'info' })17]}),18"the addRewriter() method": {19topic: function (logger) {20logger.addRewriter(function (level, msg, meta) {21meta.level = level;22meta.msg = msg;23meta.foo = 'bar';24return meta;25});26return logger;27},28"should add the rewriter": function (logger) {29assert.equal(helpers.size(logger.rewriters), 1);30},31"the log() method": {32topic: function (logger) {33logger.once('logging', this.callback);34logger.log('info', 'test message', {"a": "b"});35},36"should run the rewriter": function (transport, level, msg, meta) {37assert.equal(meta.a, 'b');38assert.equal(meta.level, 'info');39assert.equal(meta.msg, 'test message');40assert.equal(meta.foo, 'bar');41}42}43}44}45}).addBatch({46"An instance of winston.Logger with explicit rewriter": {47topic: new (winston.Logger)({transports: [48new (winston.transports.Console)({ level: 'info'})49], rewriters: [50function (level, msg, meta) {51meta.level = level;52meta.msg = msg;53meta.foo = 'bar';54return meta;55}56]}),57"should add the rewriter": function (logger) {58assert.equal(helpers.size(logger.rewriters), 1);59},60"the log() method": {61topic: function (logger) {62logger.once('logging', this.callback);63logger.log('info', 'test message', {"a": "b"});64},65"should run the rewriter": function (transport, level, msg, meta) {66assert.equal(meta.a, 'b');67assert.equal(meta.level, 'info');68assert.equal(meta.msg, 'test message');69assert.equal(meta.foo, 'bar');70}71}72}73}).addBatch({74"An instance of winston.Logger with rewriters": {75topic: new (winston.Logger)({transports: [76new (winston.transports.Console)({ level: 'info' })77], rewriters: [78function (level, msg, meta) {79meta.numbers.push(1);80return meta;81},82function (level, msg, meta) {83meta.numbers.push(2);84return meta;85}86]}),87"the log() method": {88topic: function (logger) {89logger.once('logging', this.callback);90logger.log('info', 'test message', {"numbers": [0]});91},92"should run the rewriters in correct order": function (transport, level, msg, meta) {93assert.deepEqual(meta.numbers, [0, 1, 2]);94}95}96}97}).export(module);9899100