* ⚡ Release 3.1.3 (#5267) * ⚡ Release 3.1.3 * Update CHANGELOG.md * ⬆️ Bump winston and winston-daily-rotate-file Bumps [winston](https://github.com/winstonjs/winston) and [winston-daily-rotate-file](https://github.com/winstonjs/winston-daily-rotate-file). These dependencies needed to be updated together. Updates `winston` from 2.4.4 to 3.1.0 - [Release notes](https://github.com/winstonjs/winston/releases) - [Changelog](https://github.com/winstonjs/winston/blob/master/CHANGELOG.md) - [Commits](https://github.com/winstonjs/winston/compare/2.4.4...3.1.0) Updates `winston-daily-rotate-file` from 1.7.2 to 3.5.1 - [Release notes](https://github.com/winstonjs/winston-daily-rotate-file/releases) - [Commits](https://github.com/winstonjs/winston-daily-rotate-file/compare/v1.7.2...v3.5.1) Signed-off-by: dependabot[bot] <support@dependabot.com> * Rewrote WinstonLogger to work with winston 3.x api * Changed winston logger test to use winston-transport * Added winston-transport dependency * Close and remove transports before adding them again * Changed to strict equal * Override adapter name * Updated and added getLogs tests * Bump winston and winston-daily-rotate-file Bumps [winston](https://github.com/winstonjs/winston) and [winston-daily-rotate-file](https://github.com/winstonjs/winston-daily-rotate-file). These dependencies needed to be updated together. Updates `winston` from 2.4.4 to 3.2.0 - [Release notes](https://github.com/winstonjs/winston/releases) - [Changelog](https://github.com/winstonjs/winston/blob/master/CHANGELOG.md) - [Commits](https://github.com/winstonjs/winston/compare/2.4.4...3.2.0) Updates `winston-daily-rotate-file` from 1.7.2 to 3.6.0 - [Release notes](https://github.com/winstonjs/winston-daily-rotate-file/releases) - [Commits](https://github.com/winstonjs/winston-daily-rotate-file/compare/v1.7.2...v3.6.0) Signed-off-by: dependabot[bot] <support@dependabot.com> * Fixed tests, updated parse logging * Fixed tests, better error logging * Fix failing tests * Updates as per review
174 lines
4.5 KiB
JavaScript
174 lines
4.5 KiB
JavaScript
const LoggerController = require('../lib/Controllers/LoggerController')
|
|
.LoggerController;
|
|
const WinstonLoggerAdapter = require('../lib/Adapters/Logger/WinstonLoggerAdapter')
|
|
.WinstonLoggerAdapter;
|
|
|
|
describe('LoggerController', () => {
|
|
it('can process an empty query without throwing', done => {
|
|
// Make mock request
|
|
const query = {};
|
|
|
|
const loggerController = new LoggerController(new WinstonLoggerAdapter());
|
|
|
|
expect(() => {
|
|
loggerController
|
|
.getLogs(query)
|
|
.then(function(res) {
|
|
expect(res.length).not.toBe(0);
|
|
done();
|
|
})
|
|
.catch(err => {
|
|
jfail(err);
|
|
done();
|
|
});
|
|
}).not.toThrow();
|
|
});
|
|
|
|
it('properly validates dateTimes', done => {
|
|
expect(LoggerController.validDateTime()).toBe(null);
|
|
expect(LoggerController.validDateTime('String')).toBe(null);
|
|
expect(LoggerController.validDateTime(123456).getTime()).toBe(123456);
|
|
expect(
|
|
LoggerController.validDateTime('2016-01-01Z00:00:00').getTime()
|
|
).toBe(1451606400000);
|
|
done();
|
|
});
|
|
|
|
it('can set the proper default values', done => {
|
|
// Make mock request
|
|
const result = LoggerController.parseOptions();
|
|
expect(result.size).toEqual(10);
|
|
expect(result.order).toEqual('desc');
|
|
expect(result.level).toEqual('info');
|
|
|
|
done();
|
|
});
|
|
|
|
it('can parse an ascending query without throwing', done => {
|
|
// Make mock request
|
|
const query = {
|
|
from: '2016-01-01Z00:00:00',
|
|
until: '2016-01-01Z00:00:00',
|
|
size: 5,
|
|
order: 'asc',
|
|
level: 'error',
|
|
};
|
|
|
|
const result = LoggerController.parseOptions(query);
|
|
|
|
expect(result.from.getTime()).toEqual(1451606400000);
|
|
expect(result.until.getTime()).toEqual(1451606400000);
|
|
expect(result.size).toEqual(5);
|
|
expect(result.order).toEqual('asc');
|
|
expect(result.level).toEqual('error');
|
|
|
|
done();
|
|
});
|
|
|
|
it('can process an ascending query without throwing', done => {
|
|
// Make mock request
|
|
const query = {
|
|
from: '2016-01-01Z00:00:00',
|
|
until: '2016-01-01Z00:00:00',
|
|
size: 5,
|
|
order: 'asc',
|
|
level: 'error',
|
|
};
|
|
|
|
const loggerController = new LoggerController(new WinstonLoggerAdapter());
|
|
|
|
expect(() => {
|
|
loggerController
|
|
.getLogs(query)
|
|
.then(function(res) {
|
|
expect(res.length).not.toBe(0);
|
|
done();
|
|
})
|
|
.catch(err => {
|
|
jfail(err);
|
|
fail('should not fail');
|
|
done();
|
|
});
|
|
}).not.toThrow();
|
|
});
|
|
|
|
it('can parse a descending query without throwing', done => {
|
|
// Make mock request
|
|
const query = {
|
|
from: '2016-01-01Z00:00:00',
|
|
until: '2016-01-01Z00:00:00',
|
|
size: 5,
|
|
order: 'desc',
|
|
level: 'error',
|
|
};
|
|
|
|
const result = LoggerController.parseOptions(query);
|
|
|
|
expect(result.from.getTime()).toEqual(1451606400000);
|
|
expect(result.until.getTime()).toEqual(1451606400000);
|
|
expect(result.size).toEqual(5);
|
|
expect(result.order).toEqual('desc');
|
|
expect(result.level).toEqual('error');
|
|
|
|
done();
|
|
});
|
|
|
|
it('can process a descending query without throwing', done => {
|
|
// Make mock request
|
|
const query = {
|
|
from: '2016-01-01Z00:00:00',
|
|
until: '2016-01-01Z00:00:00',
|
|
size: 5,
|
|
order: 'desc',
|
|
level: 'error',
|
|
};
|
|
|
|
const loggerController = new LoggerController(new WinstonLoggerAdapter());
|
|
|
|
expect(() => {
|
|
loggerController
|
|
.getLogs(query)
|
|
.then(function(res) {
|
|
expect(res.length).not.toBe(0);
|
|
done();
|
|
})
|
|
.catch(err => {
|
|
jfail(err);
|
|
fail('should not fail');
|
|
done();
|
|
});
|
|
}).not.toThrow();
|
|
});
|
|
|
|
it('should throw without an adapter', done => {
|
|
expect(() => {
|
|
new LoggerController();
|
|
}).toThrow();
|
|
done();
|
|
});
|
|
|
|
it('should replace implementations with verbose', done => {
|
|
const adapter = new WinstonLoggerAdapter();
|
|
const logger = new LoggerController(adapter, null, { verbose: true });
|
|
spyOn(adapter, 'log');
|
|
logger.silly('yo!');
|
|
expect(adapter.log).not.toHaveBeenCalled();
|
|
done();
|
|
});
|
|
|
|
it('should replace implementations with logLevel', done => {
|
|
const adapter = new WinstonLoggerAdapter();
|
|
const logger = new LoggerController(adapter, null, { logLevel: 'error' });
|
|
spyOn(adapter, 'log');
|
|
logger.warn('yo!');
|
|
logger.info('yo!');
|
|
logger.debug('yo!');
|
|
logger.verbose('yo!');
|
|
logger.silly('yo!');
|
|
expect(adapter.log).not.toHaveBeenCalled();
|
|
logger.error('error');
|
|
expect(adapter.log).toHaveBeenCalled();
|
|
done();
|
|
});
|
|
});
|