mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
[server/logging] add tests for log interceptor
This commit is contained in:
parent
a8eea585d5
commit
866abcc820
2 changed files with 56 additions and 1 deletions
55
src/server/logging/__tests__/log_interceptor.js
Normal file
55
src/server/logging/__tests__/log_interceptor.js
Normal file
|
@ -0,0 +1,55 @@
|
|||
import expect from 'expect.js';
|
||||
import { shuffle } from 'lodash';
|
||||
|
||||
import { LogInterceptor } from '../log_interceptor';
|
||||
|
||||
function stubEconnresetEvent() {
|
||||
const error = new Error();
|
||||
error.errno = 'ECONNRESET';
|
||||
|
||||
return {
|
||||
event: 'error',
|
||||
pid: 1234,
|
||||
timestamp: Date.now(),
|
||||
tags: ['error', 'client', 'connection'],
|
||||
data: error
|
||||
};
|
||||
}
|
||||
|
||||
function assertDowngraded(transformed) {
|
||||
expect(!!transformed).to.be(true);
|
||||
expect(transformed).to.have.property('event', 'log');
|
||||
expect(transformed).to.have.property('tags');
|
||||
expect(transformed.tags).to.not.contain('error');
|
||||
}
|
||||
|
||||
describe('server logging LogInterceptor', () => {
|
||||
describe('#downgradeIfEconnreset()', () => {
|
||||
it('transforms ECONNRESET events', () => {
|
||||
const interceptor = new LogInterceptor();
|
||||
const event = stubEconnresetEvent();
|
||||
assertDowngraded(interceptor.downgradeIfEconnreset(event));
|
||||
});
|
||||
|
||||
it('matches even when the tags are out of order', () => {
|
||||
const interceptor = new LogInterceptor();
|
||||
const event = stubEconnresetEvent();
|
||||
event.tags = shuffle(event.tags.slice(0));
|
||||
assertDowngraded(interceptor.downgradeIfEconnreset(event));
|
||||
});
|
||||
|
||||
it('ignores non ECONNRESET events', () => {
|
||||
const interceptor = new LogInterceptor();
|
||||
const event = stubEconnresetEvent();
|
||||
event.data.errno = 'not ECONNRESET';
|
||||
expect(interceptor.downgradeIfEconnreset(event)).to.be(null);
|
||||
});
|
||||
|
||||
it('ignores if tags are wrong', () => {
|
||||
const interceptor = new LogInterceptor();
|
||||
const event = stubEconnresetEvent();
|
||||
event.tags = ['different', 'tags'];
|
||||
expect(interceptor.downgradeIfEconnreset(event)).to.be(null);
|
||||
});
|
||||
});
|
||||
});
|
|
@ -27,7 +27,7 @@ export class LogInterceptor extends Stream.Transform {
|
|||
const isClientError = doTagsMatch(event, ['error', 'client', 'connection']);
|
||||
const isEconnreset = isClientError && get(event, 'data.errno') === 'ECONNRESET';
|
||||
|
||||
if (!isEconnreset) return false;
|
||||
if (!isEconnreset) return null;
|
||||
|
||||
return {
|
||||
event: 'log',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue