UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

54 lines (45 loc) 2.01 kB
/** * 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); }); });