@apistudio/apim-cli
Version:
CLI for API Management Products
54 lines (45 loc) • 2.01 kB
text/typescript
/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
import { LoggerConfig } from '../src/logger-config.js';
import './setup/loggerenv.js';
describe('Logger Config test', () => {
it('should return correct data', () => {
process.env.LOGGER_DATEPATTERN = 'YYYY-MM-DD';
process.env.LOGGER_FILENAME = '../../logs/studio-%DATE%.log';
process.env.LOGGER_FORMAT = 'json';
process.env.LOGGER_MAXFILES = '10d';
process.env.LOGGER_MAXSIZE = '10m';
process.env.LOGGER_ZIPPEDARCHIVE = 'true';
expect(LoggerConfig.getDatePattern()).toBe('YYYY-MM-DD');
expect(LoggerConfig.getFilename()).toBe('../../logs/studio-%DATE%.log');
expect(LoggerConfig.getLoggerFormat()).toBe('json');
expect(LoggerConfig.getMaxFiles()).toBe('10d');
expect(LoggerConfig.getMaxSize()).toBe('10m');
expect(LoggerConfig.getZippedArchive()).toBe(true);
});
it('should return default format when LOGGER_FORMAT is not defined', () => {
delete process.env.LOGGER_FORMAT;
expect(LoggerConfig.getLoggerFormat()).toBe('json');
});
it('should return default zipped archive setting when LOGGER_ZIPPEDARCHIVE is not defined', () => {
delete process.env.LOGGER_ZIPPEDARCHIVE;
expect(LoggerConfig.getZippedArchive()).toBe(true);
});
it('should return correct logger enabled state when STU_LOG_ENABLED is true', () => {
process.env.STU_LOG_ENABLED = 'true';
expect(LoggerConfig.isLoggerEnabled()).toBe(true);
});
it('should return correct logger enabled state when STU_LOG_ENABLED is false', () => {
process.env.STU_LOG_ENABLED = 'false';
expect(LoggerConfig.isLoggerEnabled()).toBe(false);
});
it('should return default zipped archive setting when LOGGER_ZIPPEDARCHIVE is set to false', () => {
process.env.LOGGER_ZIPPEDARCHIVE = 'false';
expect(LoggerConfig.getZippedArchive()).toBe(false);
});
it('should handle undefined STU_LOG_ENABLED and return false by default', () => {
delete process.env.STU_LOG_ENABLED;
expect(LoggerConfig.isLoggerEnabled()).toBe(false);
});
});