0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-24 23:48:13 -05:00
ghost/core/test/unit/logging/PrettyStream_spec.js
Katharina Irrgang 50f383ef0b 🐛 logging: error output format (#7546)
no issue
- the format for standalone error was wrong
2016-10-11 19:03:14 +01:00

169 lines
5.8 KiB
JavaScript

var GhostPrettyStream = require('../../../server/logging/PrettyStream'),
errors = require('../../../server/errors'),
should = require('should');
should.equal(true, true);
describe('PrettyStream', function () {
describe('short mode', function () {
it('data.msg', function (done) {
var ghostPrettyStream = new GhostPrettyStream({mode: 'short'});
ghostPrettyStream.emit = function (eventName, data) {
data.should.eql('[2016-07-01 00:00:00] \u001b[36mINFO\u001b[39m Ghost starts now.\n');
done();
};
ghostPrettyStream.write(JSON.stringify({
time: '2016-07-01 00:00:00',
level: 30,
msg: 'Ghost starts now.'
}));
});
it('data.err', function (done) {
var ghostPrettyStream = new GhostPrettyStream({mode: 'short'});
ghostPrettyStream.emit = function (eventName, data) {
data.should.eql('[2016-07-01 00:00:00] \u001b[31mERROR\u001b[39m\n\u001b[4mlevel:normal\u001b[24m\n\u001b[31mHey Jude!\u001b[39m\n\n');
done();
};
ghostPrettyStream.write(JSON.stringify({
time: '2016-07-01 00:00:00',
level: 50,
err: new errors.GhostError({message: 'Hey Jude!'})
}));
});
it('data.req && data.res', function (done) {
var ghostPrettyStream = new GhostPrettyStream({mode: 'short'});
ghostPrettyStream.emit = function (eventName, data) {
data.should.eql('[2016-07-01 00:00:00] \u001b[36mINFO\u001b[39m GET /test (200)\n');
done();
};
ghostPrettyStream.write(JSON.stringify({
time: '2016-07-01 00:00:00',
level: 30,
req: {
originalUrl: '/test',
method: 'GET',
body: {
a: 'b'
}
},
res: {
statusCode: 200
}
}));
});
it('data.req && data.res && data.err', function (done) {
var ghostPrettyStream = new GhostPrettyStream({mode: 'short'});
ghostPrettyStream.emit = function (eventName, data) {
data.should.eql('[2016-07-01 00:00:00] \u001b[31mERROR\u001b[39m GET /test (400)\n');
done();
};
ghostPrettyStream.write(JSON.stringify({
time: '2016-07-01 00:00:00',
level: 50,
req: {
originalUrl: '/test',
method: 'GET',
body: {
a: 'b'
}
},
res: {
statusCode: 400
},
err: new errors.GhostError()
}));
});
});
describe('long mode', function () {
it('data.msg', function (done) {
var ghostPrettyStream = new GhostPrettyStream({mode: 'long'});
ghostPrettyStream.emit = function (eventName, data) {
data.should.eql('[2016-07-01 00:00:00] \u001b[36mINFO\u001b[39m Ghost starts now.\n');
done();
};
ghostPrettyStream.write(JSON.stringify({
time: '2016-07-01 00:00:00',
level: 30,
msg: 'Ghost starts now.'
}));
});
it('data.err', function (done) {
var ghostPrettyStream = new GhostPrettyStream({mode: 'long'});
ghostPrettyStream.emit = function (eventName, data) {
data.should.eql('[2016-07-01 00:00:00] \u001b[31mERROR\u001b[39m\n\u001b[4mlevel:normal\u001b[24m\n\u001b[31mHey Jude!\u001b[39m\n\n');
done();
};
ghostPrettyStream.write(JSON.stringify({
time: '2016-07-01 00:00:00',
level: 50,
err: new errors.GhostError({message: 'Hey Jude!'})
}));
});
it('data.req && data.res', function (done) {
var ghostPrettyStream = new GhostPrettyStream({mode: 'long'});
ghostPrettyStream.emit = function (eventName, data) {
data.should.eql('[2016-07-01 00:00:00] \u001b[36mINFO\u001b[39m GET /test (200)\n\u001b[90m\n\u001b[33mBODY\u001b[39m\n\u001b[32ma: \u001b[39mb\n\u001b[39m\n');
done();
};
ghostPrettyStream.write(JSON.stringify({
time: '2016-07-01 00:00:00',
level: 30,
req: {
originalUrl: '/test',
method: 'GET',
body: {
a: 'b'
}
},
res: {
statusCode: 200
}
}));
});
it('data.req && data.res && data.err', function (done) {
var ghostPrettyStream = new GhostPrettyStream({mode: 'long'});
ghostPrettyStream.emit = function (eventName, data) {
data.should.eql('[2016-07-01 00:00:00] \u001b[31mERROR\u001b[39m GET /test (400)\n\u001b[90m\n\u001b[33mBODY\u001b[39m\n\u001b[32ma: \u001b[39mb\n\u001b[33mERROR (normal)\u001b[39m\n\u001b[39m\n');
done();
};
ghostPrettyStream.write(JSON.stringify({
time: '2016-07-01 00:00:00',
level: 50,
req: {
originalUrl: '/test',
method: 'GET',
body: {
a: 'b'
}
},
res: {
statusCode: 400
},
err: new errors.GhostError()
}));
});
});
});