|
|
@@ -0,0 +1,66 @@
|
|
|
+import { assertEquals } from 'test-deps';
|
|
|
+import { getLogLevel, Logger } from 'infra/logger.ts';
|
|
|
+
|
|
|
+const testLogger = Logger.getInstance('test');
|
|
|
+
|
|
|
+Deno.test('log.debug', async () => {
|
|
|
+ const debugLog = 'this is a debug message';
|
|
|
+ testLogger.debug(debugLog);
|
|
|
+ const lastLog = testLogger.getLastMessage();
|
|
|
+ assertEquals(lastLog, `[DEBUG] ${debugLog}`, 'debug log message');
|
|
|
+});
|
|
|
+
|
|
|
+Deno.test('log.info', async () => {
|
|
|
+ const infoLog = 'this is a info message';
|
|
|
+ testLogger.info(infoLog);
|
|
|
+ const lastLog = testLogger.getLastMessage();
|
|
|
+ assertEquals(lastLog, `[INFO] ${infoLog}`, 'info log message');
|
|
|
+});
|
|
|
+
|
|
|
+Deno.test('log.warn', async () => {
|
|
|
+ const warnLog = 'this is a warn message';
|
|
|
+ testLogger.warn(warnLog);
|
|
|
+ const lastLog = testLogger.getLastMessage();
|
|
|
+ assertEquals(lastLog, `[WARNING] ${warnLog}`, 'warn log message');
|
|
|
+});
|
|
|
+
|
|
|
+Deno.test('log.error', async () => {
|
|
|
+ const errorLog = 'this is a error message';
|
|
|
+ testLogger.error(errorLog);
|
|
|
+ const lastLog = testLogger.getLastMessage();
|
|
|
+ assertEquals(lastLog, `[ERROR] ${errorLog}`, 'error log message');
|
|
|
+});
|
|
|
+
|
|
|
+Deno.test('getLogLevel with valid level', () => {
|
|
|
+ const level = 'INFO';
|
|
|
+ assertEquals(getLogLevel(level), level);
|
|
|
+});
|
|
|
+
|
|
|
+Deno.test('getLogLevel with invalid level', () => {
|
|
|
+ const level = 'INVALID_LEVEL';
|
|
|
+ assertEquals(getLogLevel(level), 'WARNING');
|
|
|
+});
|
|
|
+
|
|
|
+Deno.test('getLogLevel with undefined level', () => {
|
|
|
+ assertEquals(getLogLevel(undefined), 'WARNING');
|
|
|
+});
|
|
|
+
|
|
|
+Deno.test('logLevel with DEBUG_LEVEL environment variable set', () => {
|
|
|
+ const originalDebugLevel = Deno.env.get('DEBUG_LEVEL');
|
|
|
+ Deno.env.set('DEBUG_LEVEL', 'INFO');
|
|
|
+ assertEquals(getLogLevel(Deno.env.get('DEBUG_LEVEL')), 'INFO');
|
|
|
+ if (originalDebugLevel) {
|
|
|
+ Deno.env.set('DEBUG_LEVEL', originalDebugLevel);
|
|
|
+ } else {
|
|
|
+ Deno.env.delete('DEBUG_LEVEL');
|
|
|
+ }
|
|
|
+});
|
|
|
+
|
|
|
+Deno.test('logLevel with DEBUG_LEVEL environment variable not set', () => {
|
|
|
+ const originalDebugLevel = Deno.env.get('DEBUG_LEVEL');
|
|
|
+ Deno.env.delete('DEBUG_LEVEL');
|
|
|
+ assertEquals(getLogLevel(Deno.env.get('DEBUG_LEVEL')), 'WARNING');
|
|
|
+ if (originalDebugLevel) {
|
|
|
+ Deno.env.set('DEBUG_LEVEL', originalDebugLevel);
|
|
|
+ }
|
|
|
+});
|