1 | import { assert } from 'chai'; |
||
2 | import { createLogger, format } from 'winston'; |
||
3 | import transport from '../entry'; |
||
4 | |||
5 | suite('Configurations'); |
||
6 | |||
7 | test('Default configuration', function () { |
||
8 | const array = []; |
||
9 | const logger = createLogger({ |
||
10 | level : 'debug', |
||
11 | format : format.json(), |
||
12 | transports : [ new transport({ array }) ] |
||
0 ignored issues
–
show
Coding Style
Best Practice
introduced
by
![]() |
|||
13 | }); |
||
14 | |||
15 | assert.isEmpty(array); |
||
16 | logger.log('info', { a: 1, b: 2 }); |
||
17 | assert.deepEqual(array, [ '{"a":1,"b":2,"level":"info"}' ]); |
||
18 | }); |
||
19 | |||
20 | test('parse json on the fly', function () { |
||
21 | const array = []; |
||
22 | const logger = createLogger({ |
||
23 | level : 'debug', |
||
24 | format : format.json(), |
||
25 | transports : [ new transport({ array, json: true }) ] |
||
0 ignored issues
–
show
|
|||
26 | }); |
||
27 | |||
28 | assert.isEmpty(array); |
||
29 | logger.log('info', { a: 1, b: 2 }); |
||
30 | assert.deepEqual(array, [ { 'a': 1, 'b': 2, 'level': 'info' } ]); |
||
31 | }); |
||
32 | |||
33 | test('limit amount of elements in array', function () { |
||
34 | const array = []; |
||
35 | const logger = createLogger({ |
||
36 | level : 'debug', |
||
37 | format : format.json(), |
||
38 | transports : [ new transport({ array, limit: 5 }) ] |
||
0 ignored issues
–
show
|
|||
39 | }); |
||
40 | |||
41 | assert.isEmpty(array); |
||
42 | (Array.from({ length: 100 })) |
||
43 | .map((item, index) => index + 1) |
||
44 | .forEach(item => logger.log('info', item)); |
||
45 | |||
46 | assert.deepEqual(array, [ 96, 97, 98, 99, 100 ].map(i => `{"level":"info","message":${i}}`)); |
||
47 | }); |
||
48 | |||
49 | test('default Transport maxListeners', function () { |
||
50 | const array = []; |
||
51 | const logger = createLogger({ |
||
52 | level : 'debug', |
||
53 | format : format.json(), |
||
54 | transports : [ new transport({ array, limit: 5 }) ] |
||
0 ignored issues
–
show
|
|||
55 | }); |
||
56 | |||
57 | assert.equal(logger._readableState.pipes._maxListeners, 30); |
||
58 | }); |
||
59 | |||
60 | test('set Transport maxListeners as 0', function () { |
||
61 | const array = []; |
||
62 | const logger = createLogger({ |
||
63 | level : 'debug', |
||
64 | format : format.json(), |
||
65 | transports : [ new transport({ array, limit: 5, maxListeners: 0 }) ] |
||
0 ignored issues
–
show
|
|||
66 | }); |
||
67 | |||
68 | assert.equal(logger._readableState.pipes._maxListeners, 0); |
||
69 | }); |
||
70 |