package org.sef4j.log.slf4j; import org.junit.Assert; import org.junit.Test; import org.mockito.Mockito; import org.slf4j.Logger; public class Slf4jLoggerUtilTest { private Logger slf4jLogger = Mockito.mock(Logger.class); @Test public void test() { // Prepare // Perform Assert.assertEquals(LogLevel.TRACE, Slf4jLoggerUtil.slf4jLevelToLogLevel(ch.qos.logback.classic.Level.TRACE)); Assert.assertEquals(LogLevel.DEBUG, Slf4jLoggerUtil.slf4jLevelToLogLevel(ch.qos.logback.classic.Level.DEBUG)); Assert.assertEquals(LogLevel.INFO, Slf4jLoggerUtil.slf4jLevelToLogLevel(ch.qos.logback.classic.Level.INFO)); Assert.assertEquals(LogLevel.WARN, Slf4jLoggerUtil.slf4jLevelToLogLevel(ch.qos.logback.classic.Level.WARN)); Assert.assertEquals(LogLevel.ERROR, Slf4jLoggerUtil.slf4jLevelToLogLevel(ch.qos.logback.classic.Level.ERROR)); // Post-check } @Test public void testIsEnabled() { // Prepare Mockito.when(slf4jLogger.isErrorEnabled()).thenReturn(true); Mockito.when(slf4jLogger.isWarnEnabled()).thenReturn(true); Mockito.when(slf4jLogger.isInfoEnabled()).thenReturn(true); Mockito.when(slf4jLogger.isDebugEnabled()).thenReturn(false); Mockito.when(slf4jLogger.isTraceEnabled()).thenReturn(false); // Perform Assert.assertTrue(Slf4jLoggerUtil.isEnabled(slf4jLogger, LogLevel.ERROR)); Assert.assertTrue(Slf4jLoggerUtil.isEnabled(slf4jLogger, LogLevel.WARN)); Assert.assertTrue(Slf4jLoggerUtil.isEnabled(slf4jLogger, LogLevel.INFO)); Assert.assertFalse(Slf4jLoggerUtil.isEnabled(slf4jLogger, LogLevel.DEBUG)); Assert.assertFalse(Slf4jLoggerUtil.isEnabled(slf4jLogger, LogLevel.TRACE)); // Post-check } @Test public void testLogLevelText() { // Prepare String msg = "test"; Mockito.doNothing().when(slf4jLogger).trace(Mockito.eq(msg)); Mockito.doNothing().when(slf4jLogger).debug(Mockito.eq(msg)); Mockito.doNothing().when(slf4jLogger).info(Mockito.eq(msg)); Mockito.doNothing().when(slf4jLogger).warn(Mockito.eq(msg)); Mockito.doNothing().when(slf4jLogger).error(Mockito.eq(msg)); // Perform Slf4jLoggerUtil.logLevelText(slf4jLogger, LogLevel.TRACE, msg); Slf4jLoggerUtil.logLevelText(slf4jLogger, LogLevel.DEBUG, msg); Slf4jLoggerUtil.logLevelText(slf4jLogger, LogLevel.INFO, msg); Slf4jLoggerUtil.logLevelText(slf4jLogger, LogLevel.WARN, msg); Slf4jLoggerUtil.logLevelText(slf4jLogger, LogLevel.ERROR, msg); // Post-check Mockito.verify(slf4jLogger).trace(msg); Mockito.verify(slf4jLogger).debug(msg); Mockito.verify(slf4jLogger).info(msg); Mockito.verify(slf4jLogger).warn(msg); Mockito.verify(slf4jLogger).error(msg); } @Test public void testLogLevelTextEx() { // Prepare Exception ex = new Exception(); String msg = "test ex"; // Prepare Mockito.doNothing().when(slf4jLogger).trace(Mockito.eq(msg), Mockito.eq(ex)); Mockito.doNothing().when(slf4jLogger).debug(Mockito.eq(msg), Mockito.eq(ex)); Mockito.doNothing().when(slf4jLogger).info(Mockito.eq(msg), Mockito.eq(ex)); Mockito.doNothing().when(slf4jLogger).warn(Mockito.eq(msg), Mockito.eq(ex)); Mockito.doNothing().when(slf4jLogger).error(Mockito.eq(msg), Mockito.eq(ex)); // Perform Slf4jLoggerUtil.logLevelTextException(slf4jLogger, LogLevel.TRACE, msg, ex); Slf4jLoggerUtil.logLevelTextException(slf4jLogger, LogLevel.DEBUG, msg, ex); Slf4jLoggerUtil.logLevelTextException(slf4jLogger, LogLevel.INFO, msg, ex); Slf4jLoggerUtil.logLevelTextException(slf4jLogger, LogLevel.WARN, msg, ex); Slf4jLoggerUtil.logLevelTextException(slf4jLogger, LogLevel.ERROR, msg, ex); // Post-check Mockito.verify(slf4jLogger).trace(msg, ex); Mockito.verify(slf4jLogger).debug(msg, ex); Mockito.verify(slf4jLogger).info(msg, ex); Mockito.verify(slf4jLogger).warn(msg, ex); Mockito.verify(slf4jLogger).error(msg, ex); } }