From b72562b4e01cca2c18ffb73b1238361518c558e2 Mon Sep 17 00:00:00 2001 From: Debadutta Panda Date: Thu, 29 Jun 2023 22:02:56 +0530 Subject: [PATCH] cleanup and linting --- .eslintrc | 12 +- examples/create-file.js | 10 +- examples/custom-levels-colors.js | 2 +- examples/custom-pretty-print.js | 10 +- examples/custom-transport.js | 4 +- examples/delete-level.js | 6 +- examples/errors.js | 2 +- examples/exception.js | 2 +- examples/file-maxsize.js | 1 - examples/finish-event.js | 4 +- examples/format-dynamic-content.js | 2 +- examples/format-filter.js | 2 +- examples/format-logger-and-transport.js | 2 +- examples/json.js | 6 +- examples/metadata.js | 2 +- examples/splat-message.js | 6 +- examples/splat.js | 4 +- lib/winston/profiler.js | 4 +- test/helpers/index.js | 25 +-- test/helpers/mocks/legacy-mixed-transport.js | 4 +- test/helpers/mocks/legacy-transport.js | 5 +- test/helpers/mocks/mock-transport.js | 4 +- test/helpers/scripts/default-exceptions.js | 4 +- test/helpers/scripts/default-rejections.js | 12 +- test/helpers/scripts/exit-on-error.js | 4 +- test/helpers/scripts/log-exceptions.js | 4 +- test/helpers/scripts/log-rejections.js | 10 +- test/helpers/scripts/log-string-exception.js | 4 +- test/helpers/scripts/unhandle-exceptions.js | 4 +- test/helpers/scripts/unhandle-rejections.js | 4 +- test/integration/formats.test.js | 17 +- test/integration/winston.test.js | 2 +- test/unit/formats/errors.test.js | 8 +- test/unit/winston/config/config.test.js | 1 - test/unit/winston/create-logger.test.js | 174 ++++++++-------- test/unit/winston/exception-handler.test.js | 3 +- test/unit/winston/exception-stream.test.js | 2 +- test/unit/winston/logger-legacy.test.js | 11 +- test/unit/winston/logger.test.js | 186 +++++++++--------- test/unit/winston/profiler.test.js | 14 +- test/unit/winston/rejection-handler.test.js | 3 +- test/unit/winston/tail-file.test.js | 4 +- .../winston/transports/00-file-stress.test.js | 2 +- .../transports/01-file-maxsize.test.js | 5 +- test/unit/winston/transports/console.test.js | 21 +- .../transports/file-create-dir.test.js | 8 +- test/unit/winston/transports/file.test.js | 6 +- test/unit/winston/transports/stream.test.js | 6 +- 48 files changed, 314 insertions(+), 324 deletions(-) diff --git a/.eslintrc b/.eslintrc index 54abcead2..8dfe46c62 100644 --- a/.eslintrc +++ b/.eslintrc @@ -2,9 +2,15 @@ "extends": "@dabh/eslint-config-populist", "rules": { "one-var": ["error", { "var": "never", "let": "never", "const": "never" }], - "strict": 0 + "strict": 0, + "no-sync":"off", + "no-undefined":"off", + "no-new":"off", + "callback-return":"off", + "max-nested-callbacks":"warn", + "no-return-assign":"off" }, "parserOptions": { - "ecmaVersion": 2022, - }, + "ecmaVersion": 2022 + } } diff --git a/examples/create-file.js b/examples/create-file.js index 6fd0e18b3..5307c658f 100644 --- a/examples/create-file.js +++ b/examples/create-file.js @@ -9,8 +9,8 @@ const filename = path.join(__dirname, 'created-logfile.log'); // // Remove the file, ignoring any errors // -try { fs.unlinkSync(filename); } -catch (ex) { } +/* eslint-disable-next-line no-empty */ +try { fs.unlinkSync(filename); } catch (ex) {} // // Create a new winston logger instance with two tranports: Console, and File @@ -23,12 +23,12 @@ const logger = winston.createLogger({ ] }); -logger.log('info', 'Hello created log files!', { 'foo': 'bar' }); +logger.log('info', 'Hello created log files!', { foo: 'bar' }); setTimeout(function () { // // Remove the file, ignoring any errors // - try { fs.unlinkSync(filename); } - catch (ex) { } + /* eslint-disable-next-line no-empty */ + try { fs.unlinkSync(filename); } catch (ex) {} }, 1000); diff --git a/examples/custom-levels-colors.js b/examples/custom-levels-colors.js index 5731c606c..00e1a1df2 100644 --- a/examples/custom-levels-colors.js +++ b/examples/custom-levels-colors.js @@ -42,4 +42,4 @@ const logger = module.exports = winston.createLogger({ level: 'custom' }); -logger.custom('hello') +logger.custom('hello'); diff --git a/examples/custom-pretty-print.js b/examples/custom-pretty-print.js index fa2278627..7ed3eaf86 100644 --- a/examples/custom-pretty-print.js +++ b/examples/custom-pretty-print.js @@ -1,19 +1,19 @@ 'use strict'; const winston = require('../'); - const logger = winston.createLogger({ format: winston.format.printf(info => { return JSON.stringify(info) .replace(/\{/g, '< wow ') + // eslint-disable-next-line no-useless-escape .replace(/\:/g, ' such ') - .replace(/\}/g, ' >') + .replace(/\}/g, ' >'); }), transports: [ - new winston.transports.Console(), + new winston.transports.Console() ] }); -logger.info('Hello, this is a logging event with a custom pretty print', { 'foo': 'bar' }); -logger.info('Hello, this is a logging event with a custom pretty print2', { 'foo': 'bar' }); +logger.info('Hello, this is a logging event with a custom pretty print', { foo: 'bar' }); +logger.info('Hello, this is a logging event with a custom pretty print2', { foo: 'bar' }); diff --git a/examples/custom-transport.js b/examples/custom-transport.js index 76a7ccf91..18c7bcbca 100644 --- a/examples/custom-transport.js +++ b/examples/custom-transport.js @@ -27,7 +27,7 @@ class CustomTransport extends Transport { callback(); } -}; +} const transport = new CustomTransport(); transport.on('logged', (info) => { @@ -40,4 +40,4 @@ const logger = createLogger({ transports: [transport] }); -logger.info('hello') +logger.info('hello'); diff --git a/examples/delete-level.js b/examples/delete-level.js index 64f69f4a5..431721d3d 100644 --- a/examples/delete-level.js +++ b/examples/delete-level.js @@ -15,10 +15,10 @@ const logger = createLogger({ json() ), transports: [ - new transports.Console(), + new transports.Console() ] }); -logger.info('This will print without { level }', { 'foo': 'bar' }); -logger.info('This will also print without { level }', { 'foo': 'bar' }); +logger.info('This will print without { level }', { foo: 'bar' }); +logger.info('This will also print without { level }', { foo: 'bar' }); diff --git a/examples/errors.js b/examples/errors.js index 3cd4c3001..01e5013c9 100644 --- a/examples/errors.js +++ b/examples/errors.js @@ -7,7 +7,7 @@ const logger = createLogger({ json() ), transports: [ - new transports.Console(), + new transports.Console() ] }); diff --git a/examples/exception.js b/examples/exception.js index 22d01efa3..0583dabd8 100644 --- a/examples/exception.js +++ b/examples/exception.js @@ -7,7 +7,7 @@ const winston = require('../'); // This should output what was previously referred to // as "humanReadableUncaughtExceptions" by default. // -const logger = winston.createLogger({ +winston.createLogger({ format: winston.format.simple(), transports: [ new winston.transports.Console({ handleExceptions: true }) diff --git a/examples/file-maxsize.js b/examples/file-maxsize.js index 9bd767673..30da6d88c 100644 --- a/examples/file-maxsize.js +++ b/examples/file-maxsize.js @@ -1,5 +1,4 @@ const path = require('path'); -const { MESSAGE } = require('triple-beam'); const winston = require('../'); const logger = winston.createLogger({ diff --git a/examples/finish-event.js b/examples/finish-event.js index 5eaeb5f39..e056ca754 100644 --- a/examples/finish-event.js +++ b/examples/finish-event.js @@ -22,7 +22,7 @@ logger.on('finish', function () { console.log('Your logger is done logging'); }); -logger.log('info', 'Hello, this is a raw logging event', { 'foo': 'bar' }); -logger.log('info', 'Hello, this is a raw logging event 2', { 'foo': 'bar' }); +logger.log('info', 'Hello, this is a raw logging event', { foo: 'bar' }); +logger.log('info', 'Hello, this is a raw logging event 2', { foo: 'bar' }); logger.end(); diff --git a/examples/format-dynamic-content.js b/examples/format-dynamic-content.js index 40c32fa4e..c9c590bd6 100644 --- a/examples/format-dynamic-content.js +++ b/examples/format-dynamic-content.js @@ -5,7 +5,7 @@ const winston = require('../'); const logger = module.exports = winston.createLogger({ transports: [new winston.transports.Console()], format: winston.format.combine( - winston.format(function dynamicContent(info, opts) { + winston.format(function dynamicContent(info) { info.message = '[dynamic content] ' + info.message; return info; })(), diff --git a/examples/format-filter.js b/examples/format-filter.js index bf79d13da..ef25abec7 100644 --- a/examples/format-filter.js +++ b/examples/format-filter.js @@ -1,7 +1,7 @@ const { createLogger, format, transports } = require('../'); // Ignore log messages if the have { private: true } -const ignorePrivate = format((info, opts) => { +const ignorePrivate = format((info) => { if (info.private) { return false; } return info; }); diff --git a/examples/format-logger-and-transport.js b/examples/format-logger-and-transport.js index b09a54f2a..46368826b 100644 --- a/examples/format-logger-and-transport.js +++ b/examples/format-logger-and-transport.js @@ -19,7 +19,7 @@ const logger = createLogger({ stream: fs.createWriteStream('./example.log') }) ] -}) +}); logger.log({ level: 'info', diff --git a/examples/json.js b/examples/json.js index 850df95b7..049a8e575 100644 --- a/examples/json.js +++ b/examples/json.js @@ -7,9 +7,9 @@ const winston = require('../'); // const logger = winston.createLogger({ transports: [ - new winston.transports.Console(), + new winston.transports.Console() ] }); -logger.log('info', 'Hello, this is a raw logging event', { 'foo': 'bar' }); -logger.log('info', 'Hello, this is a raw logging event 2', { 'foo': 'bar' }); +logger.log('info', 'Hello, this is a raw logging event', { foo: 'bar' }); +logger.log('info', 'Hello, this is a raw logging event 2', { foo: 'bar' }); diff --git a/examples/metadata.js b/examples/metadata.js index c12926e2d..d37044f05 100644 --- a/examples/metadata.js +++ b/examples/metadata.js @@ -9,7 +9,7 @@ const logger = winston.createLogger({ // Notice that both arguments have been combined into a single // "info" object. // - winston.format(function (info, opts) { + winston.format(function (info) { console.log(`{ reason: ${info.reason}, promise: ${info.promise} }`); return info; })(), diff --git a/examples/splat-message.js b/examples/splat-message.js index c6b2ca69c..e4abfee19 100644 --- a/examples/splat-message.js +++ b/examples/splat-message.js @@ -7,18 +7,18 @@ const loggers = { winston.format.splat(), winston.format.simple() ), - transports: [new winston.transports.Console()], + transports: [new winston.transports.Console()] }), simple: winston.createLogger({ level: 'info', format: winston.format.simple(), - transports: [new winston.transports.Console()], + transports: [new winston.transports.Console()] }) }; const meta = { subject: 'Hello, World!', - message: 'This message is a unique property separate from implicit merging.', + message: 'This message is a unique property separate from implicit merging.' }; loggers.simple.info('email.message is hidden', meta); diff --git a/examples/splat.js b/examples/splat.js index eda2bca49..3e4c6df52 100644 --- a/examples/splat.js +++ b/examples/splat.js @@ -1,5 +1,5 @@ const winston = require('../'); -let { format } = winston; +const { format } = winston; /* * Simple helper for stringifying all remaining @@ -14,7 +14,7 @@ function rest(info) { })); } -let logger = winston.createLogger({ +const logger = winston.createLogger({ transports: [new winston.transports.Console({ level: 'info' })], format: format.combine( format.splat(), diff --git a/lib/winston/profiler.js b/lib/winston/profiler.js index 4511194ac..4077d8f2c 100644 --- a/lib/winston/profiler.js +++ b/lib/winston/profiler.js @@ -48,6 +48,6 @@ class Profiler { return this.logger.write(info); } -}; +} -module.exports = Profiler; \ No newline at end of file +module.exports = Profiler; diff --git a/test/helpers/index.js b/test/helpers/index.js index fe51be9e3..cef769af8 100644 --- a/test/helpers/index.js +++ b/test/helpers/index.js @@ -6,15 +6,13 @@ * */ -const assume = require('assume'), - fs = require('fs'), - path = require('path'), - through = require('through2'), - spawn = require('child_process').spawn, - stream = require('stream'), - util = require('util'), - winston = require('../../lib/winston'), - mockTransport = require('./mocks/mock-transport'); +const assume = require('assume'); +const fs = require('fs'); +const through = require('through2'); +const spawn = require('child_process').spawn; +const stream = require('stream'); +const winston = require('../../lib/winston'); +const mockTransport = require('./mocks/mock-transport'); var helpers = exports; @@ -23,6 +21,7 @@ var helpers = exports; * the `write` method onĀ each call to `.log` * * @param {function} write Write function for the specified stream + * @param {Object} format - object * @returns {Logger} A winston.Logger instance */ helpers.createLogger = function (write, format) { @@ -37,6 +36,7 @@ helpers.createLogger = function (write, format) { /** * Returns a new writeable stream with the specified write function. * @param {function} write Write function for the specified stream + * @param {boolean} objectMode - a boolean value * @returns {stream.Writeable} A writeable stream instance */ helpers.writeable = function (write, objectMode) { @@ -115,6 +115,7 @@ helpers.clearRejections = function () { /** * Throws an exception with the specified `msg` * @param {String} msg Error mesage to use + * @returns {void} */ helpers.throw = function (msg) { throw new Error(msg); @@ -123,6 +124,7 @@ helpers.throw = function (msg) { /** * Causes a Promise rejection with the specified `msg` * @param {String} msg Error mesage to use + * @returns {Promise} return a promise */ helpers.reject = function (msg) { return new Promise((resolve, reject) => { @@ -132,18 +134,19 @@ helpers.reject = function (msg) { /** * Attempts to unlink the specifyed `filename` ignoring errors - * @param {String} File Full path to attempt to unlink. + * @param {String} filename Full path to attempt to unlink. */ helpers.tryUnlink = function (filename) { try { fs.unlinkSync(filename); + /* eslint-disable-next-line no-empty*/ } catch (ex) {} }; /** * Returns a stream that will emit data for the `filename` if it exists * and is capable of being opened. - * @param {filename} Full path to attempt to read from. + * @param {string} filename path to attempt to read from. * @returns {Stream} Stream instance to the contents of the file */ helpers.tryRead = function tryRead(filename) { diff --git a/test/helpers/mocks/legacy-mixed-transport.js b/test/helpers/mocks/legacy-mixed-transport.js index 38530c785..dbe8bd7e6 100644 --- a/test/helpers/mocks/legacy-mixed-transport.js +++ b/test/helpers/mocks/legacy-mixed-transport.js @@ -1,7 +1,5 @@ -'use strict' +'use strict'; -const events = require('events'); -const util = require('util') const Transport = require('../../../').Transport; // diff --git a/test/helpers/mocks/legacy-transport.js b/test/helpers/mocks/legacy-transport.js index 16fff743c..8d9ce048d 100644 --- a/test/helpers/mocks/legacy-transport.js +++ b/test/helpers/mocks/legacy-transport.js @@ -1,7 +1,6 @@ -'use strict' +'use strict'; -const events = require('events'); -const util = require('util') +const util = require('util'); const Transport = require('winston-compat').Transport; // diff --git a/test/helpers/mocks/mock-transport.js b/test/helpers/mocks/mock-transport.js index 5522143a9..774f096fc 100644 --- a/test/helpers/mocks/mock-transport.js +++ b/test/helpers/mocks/mock-transport.js @@ -1,4 +1,4 @@ -const stream = require('stream') +const stream = require('stream'); const winston = require('../../../lib/winston'); /** @@ -14,7 +14,7 @@ function createMockTransport(write) { write: write }); - return new winston.transports.Stream({ stream: writeable }) + return new winston.transports.Stream({ stream: writeable }); } module.exports = { diff --git a/test/helpers/scripts/default-exceptions.js b/test/helpers/scripts/default-exceptions.js index 49646f829..e4240b5da 100644 --- a/test/helpers/scripts/default-exceptions.js +++ b/test/helpers/scripts/default-exceptions.js @@ -6,8 +6,8 @@ * */ -var path = require('path'), - winston = require('../../../lib/winston'); +var path = require('path'); +var winston = require('../../../lib/winston'); const testLogFixturesPath = path.join(__dirname, '..', '..', 'fixtures', 'logs'); winston.exceptions.handle([ diff --git a/test/helpers/scripts/default-rejections.js b/test/helpers/scripts/default-rejections.js index b095db375..2742f3f92 100644 --- a/test/helpers/scripts/default-rejections.js +++ b/test/helpers/scripts/default-rejections.js @@ -6,19 +6,19 @@ * */ -var path = require("path"), - winston = require("../../../lib/winston"); +var path = require('path'); +var winston = require('../../../lib/winston'); const testLogFixturesPath = path.join(__dirname, '..', '..', 'fixtures', 'logs'); winston.rejections.handle([ new winston.transports.File({ - filename: path.join(testLogFixturesPath, "default-rejection.log"), + filename: path.join(testLogFixturesPath, 'default-rejection.log'), handleRejections: true }) ]); -winston.info("Log something before error"); +winston.info('Log something before error'); -setTimeout(function() { - Promise.reject(new Error("OH NOES! It rejected!")); +setTimeout(function () { + Promise.reject(new Error('OH NOES! It rejected!')); }, 1000); diff --git a/test/helpers/scripts/exit-on-error.js b/test/helpers/scripts/exit-on-error.js index 9231938ba..4638d5d47 100644 --- a/test/helpers/scripts/exit-on-error.js +++ b/test/helpers/scripts/exit-on-error.js @@ -6,8 +6,8 @@ * */ -var path = require('path'), - winston = require('../../../lib/winston'); +var path = require('path'); +var winston = require('../../../lib/winston'); const testLogFixturesPath = path.join(__dirname, '..', '..', 'fixtures', 'logs'); winston.exitOnError = function (err) { diff --git a/test/helpers/scripts/log-exceptions.js b/test/helpers/scripts/log-exceptions.js index f545c01bd..644cd8405 100644 --- a/test/helpers/scripts/log-exceptions.js +++ b/test/helpers/scripts/log-exceptions.js @@ -6,8 +6,8 @@ * */ -var path = require('path'), - winston = require('../../../lib/winston'); +var path = require('path'); +var winston = require('../../../lib/winston'); const testLogFixturesPath = path.join(__dirname, '..', '..', 'fixtures', 'logs'); var logger = winston.createLogger({ diff --git a/test/helpers/scripts/log-rejections.js b/test/helpers/scripts/log-rejections.js index ea3592375..b55b8b419 100644 --- a/test/helpers/scripts/log-rejections.js +++ b/test/helpers/scripts/log-rejections.js @@ -6,14 +6,14 @@ * */ -var path = require("path"), - winston = require("../../../lib/winston"); +var path = require('path'); +var winston = require('../../../lib/winston'); const testLogFixturesPath = path.join(__dirname, '..', '..', 'fixtures', 'logs'); var logger = winston.createLogger({ transports: [ new winston.transports.File({ - filename: path.join(testLogFixturesPath, "rejections.log"), + filename: path.join(testLogFixturesPath, 'rejections.log'), handleRejections: true }) ] @@ -21,6 +21,6 @@ var logger = winston.createLogger({ logger.rejections.handle(); -setTimeout(function() { - Promise.reject(new Error("OH NOES! It rejected!")); +setTimeout(function () { + Promise.reject(new Error('OH NOES! It rejected!')); }, 1000); diff --git a/test/helpers/scripts/log-string-exception.js b/test/helpers/scripts/log-string-exception.js index b223cf059..749bfbf22 100644 --- a/test/helpers/scripts/log-string-exception.js +++ b/test/helpers/scripts/log-string-exception.js @@ -6,8 +6,8 @@ * */ -var path = require('path'), - winston = require('../../../lib/winston'); +var path = require('path'); +var winston = require('../../../lib/winston'); const testLogFixturesPath = path.join(__dirname, '..', '..', 'fixtures', 'logs'); var logger = winston.createLogger({ diff --git a/test/helpers/scripts/unhandle-exceptions.js b/test/helpers/scripts/unhandle-exceptions.js index 3c84a5270..17f1e76c4 100644 --- a/test/helpers/scripts/unhandle-exceptions.js +++ b/test/helpers/scripts/unhandle-exceptions.js @@ -6,8 +6,8 @@ * */ -var path = require('path'), - winston = require('../../../lib/winston'); +var path = require('path'); +var winston = require('../../../lib/winston'); const testLogFixturesPath = path.join(__dirname, '..', '..', 'fixtures', 'logs'); var logger = winston.createLogger({ diff --git a/test/helpers/scripts/unhandle-rejections.js b/test/helpers/scripts/unhandle-rejections.js index 4e5574ffc..d75ead28e 100644 --- a/test/helpers/scripts/unhandle-rejections.js +++ b/test/helpers/scripts/unhandle-rejections.js @@ -6,8 +6,8 @@ * */ -var path = require('path'), - winston = require('../../../lib/winston'); +var path = require('path'); +var winston = require('../../../lib/winston'); const testLogFixturesPath = path.join(__dirname, '..', '..', 'fixtures', 'logs'); var logger = winston.createLogger({ diff --git a/test/integration/formats.test.js b/test/integration/formats.test.js index 35c992cd4..3e2919a77 100644 --- a/test/integration/formats.test.js +++ b/test/integration/formats.test.js @@ -6,29 +6,28 @@ * */ -var path = require('path'), - assume = require('assume'), - colors = require('@colors/colors/safe'), - spawn = require('cross-spawn-async'), - winston = require('../../lib/winston'), - helpers = require('../helpers'); +var path = require('path'); +var assume = require('assume'); +var spawn = require('cross-spawn-async'); + var targetScript = path.join(__dirname, '..', 'helpers', 'scripts', 'colorize.js'); /** * Spawns the colorizer helper process for checking * if colors work in a non-tty environment + * @param {function} callback a callback function */ function spawnColorizer(callback) { var child = spawn(process.execPath, [targetScript], { stdio: 'pipe' }); var data = ''; - child.stdout.setEncoding('utf8') + child.stdout.setEncoding('utf8'); child.stdout.on('data', function (str) { data += str; }); child.on('close', function () { callback(null, data); }); -}; +} describe('winston.format.colorize (Integration)', function () { it('non-TTY environment', function (done) { @@ -36,6 +35,6 @@ describe('winston.format.colorize (Integration)', function () { assume(err).equals(null); assume(data).includes('\u001b[32mSimply a test\u001b[39m'); done(); - }) + }); }); }); diff --git a/test/integration/winston.test.js b/test/integration/winston.test.js index 8d084fed0..2210c0556 100644 --- a/test/integration/winston.test.js +++ b/test/integration/winston.test.js @@ -63,7 +63,7 @@ describe('winston', function () { deprecated.properties.forEach(function (prop) { it(format('.%s', prop), function () { assume(function () { - var value = winston[prop]; + winston[prop]; }).throws(); }); }); diff --git a/test/unit/formats/errors.test.js b/test/unit/formats/errors.test.js index 400de910a..da994bfe8 100644 --- a/test/unit/formats/errors.test.js +++ b/test/unit/formats/errors.test.js @@ -9,7 +9,7 @@ 'use strict'; const assume = require('assume'); -const { LEVEL, MESSAGE, SPLAT } = require('triple-beam'); +const { LEVEL, MESSAGE } = require('triple-beam'); const winston = require('../../../lib/winston'); const { format } = winston; const helpers = require('../../helpers'); @@ -240,8 +240,8 @@ describe('format.errors (integration)', function () { done(); }, format.errors()); - new Promise((done, reject) => { - throw new Error('Errors lack .toJSON() lulz') + new Promise(() => { + throw new Error('Errors lack .toJSON() lulz'); }).catch(logger.error.bind(logger)); }); @@ -256,7 +256,7 @@ describe('format.errors (integration)', function () { done(); }, format.errors()); - new Promise((done, reject) => { + new Promise(() => { const err = new Error('Errors lack .toJSON() lulz'); err.something = true; err.wut = 'a string'; diff --git a/test/unit/winston/config/config.test.js b/test/unit/winston/config/config.test.js index 1925921d9..2628a166b 100644 --- a/test/unit/winston/config/config.test.js +++ b/test/unit/winston/config/config.test.js @@ -8,7 +8,6 @@ const assume = require('assume'); const winston = require('../../../../lib/winston'); -const helpers = require('../../../helpers'); describe('winston.config', function () { it('should have expected methods', function () { diff --git a/test/unit/winston/create-logger.test.js b/test/unit/winston/create-logger.test.js index 080e131ff..831212820 100644 --- a/test/unit/winston/create-logger.test.js +++ b/test/unit/winston/create-logger.test.js @@ -1,107 +1,107 @@ -const winston = require("../../../lib/winston"); -const assume = require("assume"); -const isStream = require("is-stream"); -const {format} = require("../../../lib/winston"); -const TransportStream = require("winston-transport"); +const winston = require('../../../lib/winston'); +const assume = require('assume'); +const isStream = require('is-stream'); +const { format } = require('../../../lib/winston'); +const TransportStream = require('winston-transport'); describe('Create Logger', function () { - it('should build a logger with default values', function () { - let logger = winston.createLogger(); - assume(logger).is.an('object'); - assume(isStream(logger.format)); - assume(logger.level).equals('info'); - assume(logger.exitOnError).equals(true); - }); - - it('new Logger({ silent: true })', function (done) { - const neverLogTo = new TransportStream({ - log: function (info) { - assume(false).true('TransportStream was improperly written to'); - } - }); + it('should build a logger with default values', function () { + const logger = winston.createLogger(); + assume(logger).is.an('object'); + assume(isStream(logger.format)); + assume(logger.level).equals('info'); + assume(logger.exitOnError).equals(true); + }); - var logger = winston.createLogger({ - transports: [neverLogTo], - silent: true - }); + it('new Logger({ silent: true })', function (done) { + const neverLogTo = new TransportStream({ + log: function () { + assume(false).true('TransportStream was improperly written to'); + } + }); - logger.log({ - level: 'info', - message: 'This should be ignored' - }); + var logger = winston.createLogger({ + transports: [neverLogTo], + silent: true + }); - setImmediate(() => done()); + logger.log({ + level: 'info', + message: 'This should be ignored' }); - it('new Logger({ parameters })', function () { - let myFormat = format(function (info, opts) { - return info; - })(); + setImmediate(() => done()); + }); - let logger = winston.createLogger({ - format: myFormat, - level: 'error', - exitOnError: false, - transports: [] - }); + it('new Logger({ parameters })', function () { + const myFormat = format(function (info) { + return info; + })(); - assume(logger.format).equals(myFormat); - assume(logger.level).equals('error'); - assume(logger.exitOnError).equals(false); - assume(logger._readableState.pipesCount).equals(0); + const logger = winston.createLogger({ + format: myFormat, + level: 'error', + exitOnError: false, + transports: [] }); - it('new Logger({ levels }) defines custom methods', function () { - let myFormat = format(function (info, opts) { - return info; - })(); + assume(logger.format).equals(myFormat); + assume(logger.level).equals('error'); + assume(logger.exitOnError).equals(false); + assume(logger._readableState.pipesCount).equals(0); + }); - let logger = winston.createLogger({ - levels: winston.config.syslog.levels, - format: myFormat, - level: 'error', - exitOnError: false, - transports: [] - }); + it('new Logger({ levels }) defines custom methods', function () { + const myFormat = format(function (info) { + return info; + })(); - Object.keys(winston.config.syslog.levels).forEach(level => { - assume(logger[level]).is.a('function'); - }) + const logger = winston.createLogger({ + levels: winston.config.syslog.levels, + format: myFormat, + level: 'error', + exitOnError: false, + transports: [] }); - it('new Logger({ levels }) custom methods are not bound to instance', function (done) { - let logger = winston.createLogger({ - level: 'error', - exitOnError: false, - transports: [] - }); + Object.keys(winston.config.syslog.levels).forEach(level => { + assume(logger[level]).is.a('function'); + }); + }); - let logs = []; - let extendedLogger = Object.create(logger, { - write: { - value: function (...args) { - logs.push(args); - if (logs.length === 4) { - assume(logs.length).is.eql(4); - assume(logs[0]).is.eql([{test: 1, level: 'info'}]); - assume(logs[1]).is.eql([{test: 2, level: 'warn'}]); - assume(logs[2]).is.eql([{message: 'test3', level: 'info'}]) - assume(logs[3]).is.eql([{ - with: 'meta', - test: 4, - level: 'warn', - message: 'a warning' - }]); + it('new Logger({ levels }) custom methods are not bound to instance', function (done) { + const logger = winston.createLogger({ + level: 'error', + exitOnError: false, + transports: [] + }); - done(); - } - } - } - }); + const logs = []; + const extendedLogger = Object.create(logger, { + write: { + value: function (...args) { + logs.push(args); + if (logs.length === 4) { + assume(logs.length).is.eql(4); + assume(logs[0]).is.eql([{ test: 1, level: 'info' }]); + assume(logs[1]).is.eql([{ test: 2, level: 'warn' }]); + assume(logs[2]).is.eql([{ message: 'test3', level: 'info' }]); + assume(logs[3]).is.eql([{ + with: 'meta', + test: 4, + level: 'warn', + message: 'a warning' + }]); - extendedLogger.log('info', {test: 1}); - extendedLogger.log('warn', {test: 2}); - extendedLogger.info('test3'); - extendedLogger.warn('a warning', {with: 'meta', test: 4}); + done(); + } + } + } }); + + extendedLogger.log('info', { test: 1 }); + extendedLogger.log('warn', { test: 2 }); + extendedLogger.info('test3'); + extendedLogger.warn('a warning', { with: 'meta', test: 4 }); + }); }); diff --git a/test/unit/winston/exception-handler.test.js b/test/unit/winston/exception-handler.test.js index 151e2931c..8497396a2 100644 --- a/test/unit/winston/exception-handler.test.js +++ b/test/unit/winston/exception-handler.test.js @@ -38,7 +38,8 @@ describe('ExceptionHandler', function () { it('new ExceptionHandler()', function () { assume(function () { - new winston.ExceptionHandler(); + const ExceptionHandler = winston.ExceptionHandler; + new ExceptionHandler(); }).throws(/Logger is required/); }); diff --git a/test/unit/winston/exception-stream.test.js b/test/unit/winston/exception-stream.test.js index 201c733fa..535d164cb 100644 --- a/test/unit/winston/exception-stream.test.js +++ b/test/unit/winston/exception-stream.test.js @@ -31,5 +31,5 @@ describe('ExceptionStream', function () { var stream = new ExceptionStream(); stream._write({ exception: true }); }).throws('ExceptionStream requires a TransportStream instance.'); - }) + }); }); diff --git a/test/unit/winston/logger-legacy.test.js b/test/unit/winston/logger-legacy.test.js index c30d99257..a655194de 100644 --- a/test/unit/winston/logger-legacy.test.js +++ b/test/unit/winston/logger-legacy.test.js @@ -9,23 +9,16 @@ 'use strict'; const assume = require('assume'); -const path = require('path'); -const stream = require('readable-stream'); -const util = require('util'); -const isStream = require('is-stream'); const stdMocks = require('std-mocks'); -const { MESSAGE } = require('triple-beam'); const winston = require('../../../lib/winston'); const LegacyTransport = require('../../helpers/mocks/legacy-transport'); const LegacyMixedTransport = require('../../helpers/mocks/legacy-mixed-transport'); -const TransportStream = require('winston-transport'); -const helpers = require('../../helpers'); /* * Assumes that the `TransportClass` with the given { name, displayName } * are properly handled by a winston Logger. */ -function assumeAcceptsLegacy({ displayName, name, TransportClass }) { +function assumeAcceptsLegacy({ name, TransportClass }) { return function () { it(`.add(${name})`, function () { stdMocks.use(); @@ -87,7 +80,7 @@ describe('Logger (legacy API)', function () { deprecated.forEach(function (opts) { assume(function () { - var logger = winston.createLogger(opts) + winston.createLogger(opts); }).throws(/Use a custom/); }); }); diff --git a/test/unit/winston/logger.test.js b/test/unit/winston/logger.test.js index 83504f594..8a97c672a 100755 --- a/test/unit/winston/logger.test.js +++ b/test/unit/winston/logger.test.js @@ -10,8 +10,6 @@ const assume = require('assume'); const path = require('path'); -const stream = require('readable-stream'); -const util = require('util'); const { EOL } = require('os'); const isStream = require('is-stream'); const stdMocks = require('std-mocks'); @@ -26,7 +24,7 @@ const testLogFixturesPath = path.join(__dirname, '..', '..', 'fixtures', 'logs') describe('Logger Instance', function () { describe('Configuration', function () { it('.configure()', function () { - let logger = winston.createLogger({ + const logger = winston.createLogger({ transports: [new winston.transports.Console()] }); @@ -39,7 +37,7 @@ describe('Logger Instance', function () { }); it('.configure({ transports })', function () { - let logger = winston.createLogger(); + const logger = winston.createLogger(); assume(logger.transports.length).equals(0); @@ -52,8 +50,8 @@ describe('Logger Instance', function () { }); it('.configure({ transports, format })', function () { - let logger = winston.createLogger(), - format = logger.format; + const logger = winston.createLogger(); + const format = logger.format; assume(logger.transports.length).equals(0); @@ -68,23 +66,23 @@ describe('Logger Instance', function () { }); }); - describe('Transports', function() { + describe('Transports', function () { describe('add', function () { it('should throw error when adding an invalid transport', function () { - let logger = winston.createLogger(); + const logger = winston.createLogger(); assume(function () { logger.add(5); }).throws(/invalid transport/i); }); it('should add the expected transport', function (done) { - let logger = winston.createLogger(); - let expected = {message: 'foo', level: 'info'}; - let transport = new TransportStream({ + const logger = winston.createLogger(); + const expected = { message: 'foo', level: 'info' }; + const transport = new TransportStream({ log: function (info) { assume(info.message).equals('foo'); assume(info.level).equals('info'); - assume(JSON.parse(info[MESSAGE])).deep.equals({level: 'info', message: 'foo'}); + assume(JSON.parse(info[MESSAGE])).deep.equals({ level: 'info', message: 'foo' }); done(); } }); @@ -94,7 +92,7 @@ describe('Logger Instance', function () { }); it('should allow adding multiple transports', function () { - let transports = [ + const transports = [ new winston.transports.File({ name: 'filelog-info.log', filename: path.join(testLogFixturesPath, 'filelog-info.log'), @@ -106,7 +104,7 @@ describe('Logger Instance', function () { level: 'error' }) ]; - let logger = winston.createLogger({ + const logger = winston.createLogger({ transports: transports }); @@ -119,13 +117,13 @@ describe('Logger Instance', function () { describe('remove', function () { it('should do nothing if transport was not added', function () { - let transports = [ + const transports = [ new winston.transports.Console(), - new winston.transports.File({filename: path.join(testLogFixturesPath, 'filelog.log')}) + new winston.transports.File({ filename: path.join(testLogFixturesPath, 'filelog.log') }) ]; - let logger = winston.createLogger({transports: transports}) - .remove(new winston.transports.Console()); + const logger = winston.createLogger({ transports: transports }) + .remove(new winston.transports.Console()); assume(logger.transports.length).equals(2); assume(logger.transports.map(function (wrap) { @@ -135,12 +133,12 @@ describe('Logger Instance', function () { }); it('should remove transport when matching one is found', function () { - let transports = [ + const transports = [ new winston.transports.Console(), - new winston.transports.File({filename: path.join(testLogFixturesPath, 'filelog.log')}) + new winston.transports.File({ filename: path.join(testLogFixturesPath, 'filelog.log') }) ]; - let logger = winston.createLogger({transports: transports}); + const logger = winston.createLogger({ transports: transports }); assume(logger.transports.length).equals(2); logger.remove(transports[0]); @@ -149,7 +147,7 @@ describe('Logger Instance', function () { }); it('should remove specified logger even when duplicate exists', function () { - let transports = [ + const transports = [ new winston.transports.File({ name: 'filelog-info.log', filename: path.join(testLogFixturesPath, 'filelog-info.log'), @@ -161,7 +159,7 @@ describe('Logger Instance', function () { level: 'error' }) ]; - let logger = winston.createLogger({ + const logger = winston.createLogger({ transports: transports }); @@ -173,14 +171,14 @@ describe('Logger Instance', function () { describe('clear', function () { it('should do nothing when no transports exist', function () { - let logger = winston.createLogger(); + const logger = winston.createLogger(); assume(logger.transports.length).equals(0); logger.clear(); assume(logger.transports.length).equals(0); }); it('should remove all transports', function () { - let logger = winston.createLogger({ + const logger = winston.createLogger({ transports: [new winston.transports.Console()] }); @@ -192,8 +190,8 @@ describe('Logger Instance', function () { describe('stream', function () { it('should return a log stream for all transports', function () { - let logger = winston.createLogger(); - let outStream = logger.stream(); + const logger = winston.createLogger(); + const outStream = logger.stream(); assume(isStream(outStream)).true(); }); @@ -203,20 +201,20 @@ describe('Logger Instance', function () { describe('Log Levels', function () { it('report unknown levels', function (done) { stdMocks.use(); - let logger = helpers.createLogger(function (info) { + const logger = helpers.createLogger(function () { }); - let expected = {message: 'foo', level: 'bar'}; + const expected = { message: 'foo', level: 'bar' }; logger.log(expected); stdMocks.restore(); - let output = stdMocks.flush(); + const output = stdMocks.flush(); assume(output.stderr).deep.equals(['[winston] Unknown logger level: bar\n']); done(); }); it('.()', function (done) { - let logger = helpers.createLogger(function (info) { + const logger = helpers.createLogger(function (info) { assume(info).is.an('object'); assume(info.level).equals('info'); assume(info.message).is.a('string'); @@ -235,8 +233,8 @@ describe('Logger Instance', function () { }); it('default levels', function (done) { - let logger = winston.createLogger(); - let expected = {message: 'foo', level: 'debug'}; + const logger = winston.createLogger(); + const expected = { message: 'foo', level: 'debug' }; function logLevelTransport(level) { return new TransportStream({ @@ -248,7 +246,7 @@ describe('Logger Instance', function () { assume(obj.message).equals('foo'); assume(obj.level).equals('debug'); - assume(JSON.parse(obj[MESSAGE])).deep.equals({level: 'debug', message: 'foo'}); + assume(JSON.parse(obj[MESSAGE])).deep.equals({ level: 'debug', message: 'foo' }); done(); } }); @@ -258,13 +256,13 @@ describe('Logger Instance', function () { assume(logger.debug).is.a('function'); logger - .add(logLevelTransport('info')) - .add(logLevelTransport('debug')) - .log(expected); + .add(logLevelTransport('info')) + .add(logLevelTransport('debug')) + .log(expected); }); it('custom levels', function (done) { - let logger = winston.createLogger({ + const logger = winston.createLogger({ levels: { bad: 0, test: 1, @@ -272,7 +270,7 @@ describe('Logger Instance', function () { } }); - let expected = {message: 'foo', level: 'test'}; + const expected = { message: 'foo', level: 'test' }; function filterLevelTransport(level) { return new TransportStream({ @@ -284,7 +282,7 @@ describe('Logger Instance', function () { assume(obj.message).equals('foo'); assume(obj.level).equals('test'); - assume(JSON.parse(obj[MESSAGE])).deep.equals({level: 'test', message: 'foo'}); + assume(JSON.parse(obj[MESSAGE])).deep.equals({ level: 'test', message: 'foo' }); done(); } }); @@ -295,9 +293,9 @@ describe('Logger Instance', function () { assume(logger.ok).is.a('function'); logger - .add(filterLevelTransport('bad')) - .add(filterLevelTransport('ok')) - .log(expected); + .add(filterLevelTransport('bad')) + .add(filterLevelTransport('ok')) + .log(expected); }); it('sets transports levels', done => { @@ -310,7 +308,7 @@ describe('Logger Instance', function () { assume(obj.message).equals('foo'); assume(obj.level).equals('error'); - assume(JSON.parse(obj[MESSAGE])).deep.equals({level: 'error', message: 'foo'}); + assume(JSON.parse(obj[MESSAGE])).deep.equals({ level: 'error', message: 'foo' }); done(); } }); @@ -318,8 +316,8 @@ describe('Logger Instance', function () { // Begin our test in the next tick after the pipe event is // emitted from the transport. transport.once('pipe', () => setImmediate(() => { - const expectedError = {message: 'foo', level: 'error'}; - const expectedInfo = {message: 'bar', level: 'info'}; + const expectedError = { message: 'foo', level: 'error' }; + const expectedInfo = { message: 'bar', level: 'info' }; assume(logger.error).is.a('function'); assume(logger.info).is.a('function'); @@ -329,8 +327,8 @@ describe('Logger Instance', function () { // Log the messages. "info" should never arrive. logger - .log(expectedInfo) - .log(expectedError); + .log(expectedInfo) + .log(expectedError); })); logger = winston.createLogger({ @@ -340,7 +338,7 @@ describe('Logger Instance', function () { describe('Log Levels Enabled', function () { it('default levels', function () { - let logger = winston.createLogger({ + const logger = winston.createLogger({ level: 'verbose', levels: winston.config.npm.levels, transports: [new winston.transports.Console()] @@ -371,10 +369,10 @@ describe('Logger Instance', function () { }); it('default levels, transport override', function () { - let transport = new winston.transports.Console(); + const transport = new winston.transports.Console(); transport.level = 'debug'; - let logger = winston.createLogger({ + const logger = winston.createLogger({ level: 'info', levels: winston.config.npm.levels, transports: [transport] @@ -405,7 +403,7 @@ describe('Logger Instance', function () { }); it('default levels, no transports', function () { - let logger = winston.createLogger({ + const logger = winston.createLogger({ level: 'verbose', levels: winston.config.npm.levels, transports: [] @@ -436,7 +434,7 @@ describe('Logger Instance', function () { }); it('custom levels', function () { - let logger = winston.createLogger({ + const logger = winston.createLogger({ level: 'test', levels: { bad: 0, @@ -462,7 +460,7 @@ describe('Logger Instance', function () { }); it('custom levels, no transports', function () { - let logger = winston.createLogger({ + const logger = winston.createLogger({ level: 'test', levels: { bad: 0, @@ -488,10 +486,10 @@ describe('Logger Instance', function () { }); it('custom levels, transport override', function () { - let transport = new winston.transports.Console(); + const transport = new winston.transports.Console(); transport.level = 'ok'; - let logger = winston.createLogger({ + const logger = winston.createLogger({ level: 'bad', levels: { bad: 0, @@ -515,7 +513,7 @@ describe('Logger Instance', function () { assume(logger.isTestEnabled()).true(); assume(logger.isOkEnabled()).true(); }); - }) + }); }); describe('Transport Events', function () { @@ -536,7 +534,7 @@ describe('Logger Instance', function () { ]; const finished = []; - const logger = winston.createLogger({transports}); + const logger = winston.createLogger({ transports }); // Assert each transport emits finish transports.forEach((transport, i) => { @@ -556,7 +554,7 @@ describe('Logger Instance', function () { done(); }); - setImmediate(() => logger.end()); + setImmediate(() => {logger.end();}); }); it('error', (done) => { @@ -586,7 +584,7 @@ describe('Logger Instance', function () { }); consoleTransport.emit('warn', new Error()); }); - }) + }); describe('Formats', function () { it(`rethrows errors from user-defined formats`, function () { @@ -623,11 +621,11 @@ describe('Logger Instance', function () { assume(actual.stdout).deep.equals(expected.map(msg => `${msg}${EOL}`)); assume(actual.stderr).deep.equals([]); }); - }) + }); describe('Profiling', function () { it('ending profiler with object argument should be included in output', function (done) { - let logger = helpers.createLogger(function (info) { + const logger = helpers.createLogger(function (info) { assume(info).is.an('object'); assume(info.something).equals('ok'); assume(info.level).equals('info'); @@ -642,13 +640,13 @@ describe('Logger Instance', function () { logger.profile('testing1', { something: 'ok', level: 'info' - }) + }); }, 100); }); // TODO: Revisit if this is a valid test it('calling profile with a callback function should not make a difference', function (done) { - let logger = helpers.createLogger(function (info) { + const logger = helpers.createLogger(function (info) { assume(info).is.an('object'); assume(info.something).equals('ok'); assume(info.level).equals('info'); @@ -666,12 +664,12 @@ describe('Logger Instance', function () { logger.profile('testing2', { something: 'ok', level: 'info' - }) + }); }, 100); }); it('should stop a timer when `done` is called on it', function (done) { - let logger = helpers.createLogger(function (info) { + const logger = helpers.createLogger(function (info) { assume(info).is.an('object'); assume(info.something).equals('ok'); assume(info.level).equals('info'); @@ -681,7 +679,7 @@ describe('Logger Instance', function () { done(); }); - let timer = logger.startTimer(); + const timer = logger.startTimer(); setTimeout(function () { timer.done({ message: 'testing1', @@ -718,7 +716,7 @@ describe('Logger Instance', function () { if (logged.length === 1) done(); }); - logger.info('Hello', {label: 'world'}); + logger.info('Hello', { label: 'world' }); }); it(`.info('Hello %d') does not mutate unnecessarily with string interpolation tokens`, function (done) { @@ -731,7 +729,7 @@ describe('Logger Instance', function () { if (logged.length === 1) done(); }); - logger.info('Hello %j', {label: 'world'}, {extra: true}); + logger.info('Hello %j', { label: 'world' }, { extra: true }); }); it(`.info('Hello') and .info('Hello %d') preserve meta with splat format`, function (done) { @@ -744,8 +742,8 @@ describe('Logger Instance', function () { if (logged.length === 2) done(); }, format.splat()); - logger.info('Hello', {label: 'world'}); - logger.info('Hello %d', 100, {label: 'world'}); + logger.info('Hello', { label: 'world' }); + logger.info('Hello %d', 100, { label: 'world' }); }); }); @@ -782,7 +780,7 @@ describe('Logger Instance', function () { // TODO: This test needs finished or removed it.skip(`.info('any string', new Error())`, function (done) { const err = new Error('test'); - const logger = helpers.createLogger(function (info) { + const logger = helpers.createLogger(function () { done(); }); @@ -807,7 +805,7 @@ describe('Logger Instance', function () { ] }); - const childLogger = logger.child({requestId: '451'}); + const childLogger = logger.child({ requestId: '451' }); childLogger.info('dummy message'); }); @@ -825,8 +823,8 @@ describe('Logger Instance', function () { ] }); - const childLogger = logger.child({requestId: '451'}); - childLogger.info({text: 'dummy'}); + const childLogger = logger.child({ requestId: '451' }); + childLogger.info({ text: 'dummy' }); }); it('merges child and provided meta correctly', (done) => { @@ -844,8 +842,8 @@ describe('Logger Instance', function () { ] }); - const childLogger = logger.child({service: 'user-service'}); - childLogger.info('dummy message', {requestId: '451'}); + const childLogger = logger.child({ service: 'user-service' }); + childLogger.info('dummy message', { requestId: '451' }); }); it('provided meta take precedence over defaultMeta', (done) => { @@ -858,7 +856,7 @@ describe('Logger Instance', function () { }); const logger = winston.createLogger({ - defaultMeta: {service: 'user-service'}, + defaultMeta: { service: 'user-service' }, transports: [ mockTransport.createMockTransport(assertFn) ] @@ -885,7 +883,7 @@ describe('Logger Instance', function () { ] }); - const childLogger = logger.child({service: 'user-service'}); + const childLogger = logger.child({ service: 'user-service' }); childLogger.info('dummy message', { requestId: '451', service: 'audit-service' @@ -907,7 +905,7 @@ describe('Logger Instance', function () { ] }); - const childLogger = logger.child({service: 'user-service'}); + const childLogger = logger.child({ service: 'user-service' }); childLogger.error(Error('dummy error')); }); @@ -926,7 +924,7 @@ describe('Logger Instance', function () { describe('Backwards Compatability', function () { describe('Winston V2 Log', function () { it('.log(level, message)', function (done) { - let logger = helpers.createLogger(function (info) { + const logger = helpers.createLogger(function (info) { assume(info).is.an('object'); assume(info.level).equals('info'); assume(info.message).equals('Some super awesome log message'); @@ -934,7 +932,7 @@ describe('Logger Instance', function () { done(); }); - logger.log('info', 'Some super awesome log message') + logger.log('info', 'Some super awesome log message'); }); it(`.log(level, undefined) creates info with { message: undefined }`, function (done) { @@ -967,8 +965,8 @@ describe('Logger Instance', function () { }); it('.log(level, message, meta)', function (done) { - let meta = {one: 2}; - let logger = helpers.createLogger(function (info) { + const meta = { one: 2 }; + const logger = helpers.createLogger(function (info) { assume(info).is.an('object'); assume(info.level).equals('info'); assume(info.message).equals('Some super awesome log message'); @@ -982,39 +980,39 @@ describe('Logger Instance', function () { it('.log(level, formatStr, ...splat)', function (done) { const format = winston.format.combine( - winston.format.splat(), - winston.format.printf(info => `${info.level}: ${info.message}`) + winston.format.splat(), + winston.format.printf(info => `${info.level}: ${info.message}`) ); - let logger = helpers.createLogger(function (info) { + const logger = helpers.createLogger(function (info) { assume(info).is.an('object'); assume(info.level).equals('info'); assume(info.message).equals('100% such wow {"much":"javascript"}'); - assume(info[SPLAT]).deep.equals([100, 'wow', {much: 'javascript'}]); + assume(info[SPLAT]).deep.equals([100, 'wow', { much: 'javascript' }]); assume(info[MESSAGE]).equals('info: 100% such wow {"much":"javascript"}'); done(); }, format); - logger.log('info', '%d%% such %s %j', 100, 'wow', {much: 'javascript'}); + logger.log('info', '%d%% such %s %j', 100, 'wow', { much: 'javascript' }); }); it('.log(level, formatStr, ...splat, meta)', function (done) { const format = winston.format.combine( - winston.format.splat(), - winston.format.printf(info => `${info.level}: ${info.message} ${JSON.stringify({thisIsMeta: info.thisIsMeta})}`) + winston.format.splat(), + winston.format.printf(info => `${info.level}: ${info.message} ${JSON.stringify({ thisIsMeta: info.thisIsMeta })}`) ); - let logger = helpers.createLogger(function (info) { + const logger = helpers.createLogger(function (info) { assume(info).is.an('object'); assume(info.level).equals('info'); assume(info.message).equals('100% such wow {"much":"javascript"}'); - assume(info[SPLAT]).deep.equals([100, 'wow', {much: 'javascript'}]); + assume(info[SPLAT]).deep.equals([100, 'wow', { much: 'javascript' }]); assume(info.thisIsMeta).true(); assume(info[MESSAGE]).equals('info: 100% such wow {"much":"javascript"} {"thisIsMeta":true}'); done(); }, format); - logger.log('info', '%d%% such %s %j', 100, 'wow', {much: 'javascript'}, {thisIsMeta: true}); + logger.log('info', '%d%% such %s %j', 100, 'wow', { much: 'javascript' }, { thisIsMeta: true }); }); }); }); diff --git a/test/unit/winston/profiler.test.js b/test/unit/winston/profiler.test.js index d4d993c05..06a52d40d 100644 --- a/test/unit/winston/profiler.test.js +++ b/test/unit/winston/profiler.test.js @@ -37,17 +37,17 @@ describe('Profiler', function () { }, 200); }); - it('non logger object', function(){ - assume(function() { + it('non logger object', function () { + assume(function () { new Profiler(new Error('Unknown error')); }).throws('Logger is required for profiling'); assume(function () { - new Profiler({a:'b'}); + new Profiler({ a: 'b' }); }).throws('Logger is required for profiling'); - assume(function(){ - new Profiler([1,2,3,4]); + assume(function () { + new Profiler([1, 2, 3, 4]); }).throws('Logger is required for profiling'); assume(function () { @@ -57,9 +57,9 @@ describe('Profiler', function () { assume(function () { new Profiler(2); }).throws('Logger is required for profiling'); - + assume(function () { new Profiler('1'); }).throws('Logger is required for profiling'); - }) + }); }); diff --git a/test/unit/winston/rejection-handler.test.js b/test/unit/winston/rejection-handler.test.js index dd2147d8a..216a137fc 100644 --- a/test/unit/winston/rejection-handler.test.js +++ b/test/unit/winston/rejection-handler.test.js @@ -38,7 +38,8 @@ describe('UnhandledRejectionHandler', function () { it('new RejectionHandler()', function () { assume(function () { - new winston.RejectionHandler(); + const RejectionHandler = winston.RejectionHandler; + new RejectionHandler(); }).throws(/Logger is required/); }); diff --git a/test/unit/winston/tail-file.test.js b/test/unit/winston/tail-file.test.js index 030b0f85d..eb33cb6b9 100644 --- a/test/unit/winston/tail-file.test.js +++ b/test/unit/winston/tail-file.test.js @@ -31,7 +31,7 @@ function logOnInterval(opts, done) { transport.once('open', open); } - let counters = { + const counters = { write: 0, read: 0 }; @@ -82,7 +82,7 @@ describe('tailFile', function () { timeout: 5000 }, function (err, actual) { assume(expected).equals(actual.write); - done(); + done(err); }); }); }); diff --git a/test/unit/winston/transports/00-file-stress.test.js b/test/unit/winston/transports/00-file-stress.test.js index 55cae623d..df4af1c88 100644 --- a/test/unit/winston/transports/00-file-stress.test.js +++ b/test/unit/winston/transports/00-file-stress.test.js @@ -20,7 +20,7 @@ describe('File (stress)', function () { this.timeout(30 * 1000); const fileStressLogFile = path.resolve(__dirname, '../../../fixtures/logs/file-stress-test.log'); - beforeEach(function () { + beforeEach(function (done) { try { fs.unlinkSync(fileStressLogFile); } catch (ex) { diff --git a/test/unit/winston/transports/01-file-maxsize.test.js b/test/unit/winston/transports/01-file-maxsize.test.js index 01ca88076..676194758 100644 --- a/test/unit/winston/transports/01-file-maxsize.test.js +++ b/test/unit/winston/transports/01-file-maxsize.test.js @@ -38,7 +38,7 @@ describe('File (maxsize)', function () { format: winston.format.printf(info => info.message), filename: path.join(testLogFixturesPath, 'testmaxsize.log'), maxsize: 4096 - }) + }); // // Have to wait for `fs.stats` to be done in `maxsizeTransport.open()`. @@ -108,9 +108,6 @@ describe('File (maxsize)', function () { maxsizeTransport.on('open', function (file) { if (testDone) return; // ignore future notifications - const match = file.match(/(\d+)\.log$/); - const count = match ? match[1] : 0; - if (files.length === 5) { return assumeFilesCreated(); } diff --git a/test/unit/winston/transports/console.test.js b/test/unit/winston/transports/console.test.js index b6f4aeed5..de295c8de 100644 --- a/test/unit/winston/transports/console.test.js +++ b/test/unit/winston/transports/console.test.js @@ -8,11 +8,9 @@ * */ -const path = require('path'); const assume = require('assume'); const { LEVEL, MESSAGE } = require('triple-beam'); const winston = require('../../../../lib/winston'); -const helpers = require('../../../helpers'); const stdMocks = require('std-mocks'); const defaultLevels = winston.config.npm.levels; @@ -35,7 +33,7 @@ const transports = { beta: 1, gamma: 2, delta: 3, - epsilon: 4, + epsilon: 4 }, stderrLevels: ['delta', 'epsilon'] }) @@ -48,7 +46,7 @@ const transports = { * @param {TransportStream} transport Transport to assert against * @param {Array} logLevels Set of levels assumed to exist for the specified map * @param {String} logLevelsName The name of the array/map that holdes the log leveles values (ie: 'stderrLevels', 'consoleWarnLevels') - * @return {function} Assertion function to execute comparison + * @returns {function} Assertion function to execute comparison */ function assertLogLevelsValues(transport, logLevels, logLevelsName = 'stderrLevels') { return function () { @@ -84,7 +82,7 @@ describe('Console transport', function () { assume(output.stdout).length(7); }); - it("should set stderrLevels to [] by default", assertLogLevelsValues( + it('should set stderrLevels to [] by default', assertLogLevelsValues( transports.defaults, [], 'stderrLevels' @@ -94,17 +92,18 @@ describe('Console transport', function () { describe('throws an appropriate error when', function () { it("if stderrLevels is set, but not an Array { stderrLevels: 'Not an Array' }", function () { assume(function () { - let throwing = new winston.transports.Console({ + new winston.transports.Console({ stderrLevels: 'Not an Array' - }) + }); }).throws(/Cannot make set from type other than Array of string elements/); }); it("if stderrLevels contains non-string elements { stderrLevels: ['good', /^invalid$/, 'valid']", function () { assume(function () { - let throwing = new winston.transports.Console({ + const Console = winston.transports.Console; + new Console({ stderrLevels: ['good', /^invalid$/, 'valid'] - }) + }); }).throws(/Cannot make set from type other than Array of string elements/); }); }); @@ -125,8 +124,8 @@ describe('Console transport', function () { transports.eol.log({ [MESSAGE]: 'info: testing. 1 2 3...' }, function () { stdMocks.restore(); - var output = stdMocks.flush(), - line = output.stdout[0]; + var output = stdMocks.flush(); + var line = output.stdout[0]; assume(line).equal('info: testing. 1 2 3...X'); done(); diff --git a/test/unit/winston/transports/file-create-dir.test.js b/test/unit/winston/transports/file-create-dir.test.js index b13efc1ec..273577b22 100644 --- a/test/unit/winston/transports/file-create-dir.test.js +++ b/test/unit/winston/transports/file-create-dir.test.js @@ -4,7 +4,7 @@ const fs = require('fs'); const assert = require('assert'); const path = require('path'); const winston = require('../../../../lib/winston'); -const rimraf = require("rimraf"); +const rimraf = require('rimraf'); /* eslint-disable no-sync */ @@ -13,11 +13,11 @@ describe('winston/transports/file/createLogDir', function () { beforeEach(function () { rimraf(logDir, (err) => { - if (err){ - console.log('Error encountered when removing `temp_logs` dir') + if (err) { + console.log('Error encountered when removing `temp_logs` dir'); console.log(err); } - }) + }); }); it('should create directory if it does not exist', function () { diff --git a/test/unit/winston/transports/file.test.js b/test/unit/winston/transports/file.test.js index 7d892f33e..618ffa336 100644 --- a/test/unit/winston/transports/file.test.js +++ b/test/unit/winston/transports/file.test.js @@ -9,7 +9,7 @@ const split = require('split2'); const assume = require('assume'); const testFileFixturesPath = path.join(__dirname, '..', '..', '..', 'fixtures', 'file'); -function noop() {}; +function noop() {} describe('File({ filename })', function () { this.timeout(10 * 1000); @@ -22,7 +22,7 @@ describe('File({ filename })', function () { var info = { [MESSAGE]: 'this is my log message' }; var logged = 0; - var read = 0 + var read = 0; function cleanup() { fs.unlinkSync(filename); @@ -99,7 +99,7 @@ describe('File({ stream })', function () { it('should write to the stream when logged to with expected object', function (done) { var streamfile = path.join(testFileFixturesPath, 'simple-stream.log'); var stream = fs.createWriteStream(streamfile); - var streamTransport = new winston.transports.File({ + new winston.transports.File({ stream: stream }); diff --git a/test/unit/winston/transports/stream.test.js b/test/unit/winston/transports/stream.test.js index 6f75d5cdd..2dbcd3997 100644 --- a/test/unit/winston/transports/stream.test.js +++ b/test/unit/winston/transports/stream.test.js @@ -1,11 +1,9 @@ 'use strict'; -const path = require('path'); const writeable = require('../../../helpers').writeable; const { MESSAGE } = require('triple-beam'); const os = require('os'); const winston = require('../../../../lib/winston'); -const split = require('split2'); const assume = require('assume'); describe('Stream({ stream })', function () { @@ -42,7 +40,7 @@ describe('Stream({ stream })', function () { it('should throw when not passed a stream', function () { assume(function () { - const stream = new winston.transports.Stream() - }).throws('options.stream is required.');'' + new winston.transports.Stream(); + }).throws('options.stream is required.');''; }); });