8000 fix(test): moved logLevelFilter test to tap · WebHu/log4js-node@0dec2db · GitHub
[go: up one dir, main page]

Skip to content

Commit 0dec2db

Browse files
author
Gareth Jones
committed
fix(test): moved logLevelFilter test to tap
1 parent e84dc40 commit 0dec2db

File tree

3 files changed

+96
-102
lines changed

3 files changed

+96
-102
lines changed

test/tap/logLevelFilter-test.js

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
'use strict';
2+
3+
const test = require('tap').test;
4+
const fs = require('fs');
5+
const os = require('os');
6+
7+
const EOL = os.EOL || '\n';
8+
9+
function remove(filename) {
10+
try {
11+
fs.unlinkSync(filename);
12+
} catch (e) {
13+
// doesn't really matter if it failed
14+
}
15+
}
16+
17+
test('log4js logLevelFilter', (batch) => {
18+
batch.test('appender', (t) => {
19+
const log4js = require('../../lib/log4js');
20+
const logEvents = [];
21+
22+
log4js.clearAppenders();
23+
log4js.addAppender(
24+
require('../../lib/appenders/logLevelFilter')
25+
.appender(
26+
'ERROR',
27+
undefined,
28+
(evt) => {
29+
logEvents.push(evt);
30+
}
31+
),
32+
'logLevelTest'
33+
);
34+
35+
const logger = log4js.getLogger('logLevelTest');
36+
logger.debug('this should not trigger an event');
37+
logger.warn('neither should this');
38+
logger.error('this should, though');
39+
logger.fatal('so should this');
40+
41+
t.test('should only pass log events greater than or equal to its own level', (assert) => {
42+
assert.equal(logEvents.length, 2);
43+
assert.equal(logEvents[0].data[0], 'this should, though');
44+
assert.equal(logEvents[1].data[0], 'so should this');
45+
assert.end();
46+
});
47+
t.end();
48+
});
49+
50+
batch.test('configure', (t) => {
51+
const log4js = require('../../lib/log4js');
52+
53+
remove(`${__dirname}/logLevelFilter.log`);
54+
remove(`${__dirname}/logLevelFilter-warnings.log`);
55+
remove(`${__dirname}/logLevelFilter-debugs.log`);
56+
57+
log4js.configure('test/tap/with-logLevelFilter.json');
58+
const logger = log4js.getLogger('tests');
59+
logger.debug('debug');
60+
logger.info('info');
61+
logger.error('error');
62+
logger.warn('warn');
63+
logger.debug('debug');
64+
logger.trace('trace');
65+
// wait for the file system to catch up
66+
setTimeout(() => {
67+
t.test('tmp-tests.log should contain all log messages', (assert) => {
68+
fs.readFile(`${__dirname}/logLevelFilter.log`, 'utf8', (err, contents) => {
69+
const messages = contents.trim().split(EOL);
70+
assert.same(messages, ['debug', 'info', 'error', 'warn', 'debug', 'trace']);
71+
assert.end();
72+
});
73+
});
74+
t.test('tmp-tests-warnings.log should contain only error and warning logs', (assert) => {
75+
fs.readFile(`${__dirname}/logLevelFilter-warnings.log`, 'utf8', (err, contents) => {
76+
const messages = contents.trim().split(EOL);
77+
assert.deepEqual(messages, ['error', 'warn']);
78+
assert.end();
79+
});
80+
});
81+
t.test('tmp-tests-debugs.log should contain only trace and debug logs', (assert) => {
82+
fs.readFile(`${__dirname}/logLevelFilter-debugs.log`, 'utf8', (err, contents) => {
83+
const messages = contents.trim().split(EOL);
84+
assert.deepEqual(messages, ['debug', 'debug', 'trace']);
85+
assert.end();
86+
});
87+
});
88+
t.end();
89+
}, 500);
90+
});
91+
92+
batch.end();
93+
});

test/vows/with-logLevelFilter.json renamed to test/tap/with-logLevelFilter.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"level": "WARN",
77
"appender": {
88
"type": "file",
9-
"filename": "test/vows/logLevelFilter-warnings.log",
9+
"filename": "test/tap/logLevelFilter-warnings.log",
1010
"layout": {
1111
"type": "messagePassThrough"
1212
}
@@ -19,7 +19,7 @@
1919
"maxLevel": "DEBUG",
2020
"appender": {
2121
"type": "file",
22-
"filename": "test/vows/logLevelFilter-debugs.log",
22+
"filename": "test/tap/logLevelFilter-debugs.log",
2323
"layout": {
2424
"type": "messagePassThrough"
2525
}
@@ -28,7 +28,7 @@
2828
{
2929
"category": "tests",
3030
"type": "file",
31-
"filename": "test/vows/logLevelFilter.log",
31+
"filename": "test/tap/logLevelFilter.log",
3232
"layout": {
3333
"type": "messagePassThrough"
3434
}

test/vows/logLevelFilter-test.js

Lines changed: 0 additions & 99 deletions
This file was deleted.

0 commit comments

Comments
 (0)
0