package net.bytebuddy.build.maven;
import net.bytebuddy.test.utility.MockitoRule;
import org.apache.maven.plugin.logging.Log;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestRule;
import org.mockito.Mock;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
import static org.mockito.Mockito.*;
public class ByteBuddyLogHandlerTest {
private static final String FOO = "foo";
@Rule
public TestRule mockitoRule = new MockitoRule(this);
@Mock
private Log log;
@Test
public void testLogPublishNoDebug() throws Exception {
ByteBuddyLogHandler byteBuddyLogHandler = new ByteBuddyLogHandler(log, mock(Logger.class), false);
LogRecord logRecord = new LogRecord(Level.INFO, FOO);
byteBuddyLogHandler.publish(logRecord);
verify(log).isDebugEnabled();
verifyNoMoreInteractions(log);
}
@Test
public void testLogPublishDebug() throws Exception {
ByteBuddyLogHandler byteBuddyLogHandler = new ByteBuddyLogHandler(log, mock(Logger.class), false);
LogRecord logRecord = new LogRecord(Level.INFO, FOO);
when(log.isDebugEnabled()).thenReturn(true);
byteBuddyLogHandler.publish(logRecord);
verify(log).isDebugEnabled();
verify(log).debug(byteBuddyLogHandler.getFormatter().format(logRecord));
verifyNoMoreInteractions(log);
}
@Test
public void testFlush() throws Exception {
new ByteBuddyLogHandler(log, mock(Logger.class), false).flush();
}
@Test
public void testClose() throws Exception {
new ByteBuddyLogHandler(log, mock(Logger.class), false).close();
}
@Test
public void testInitialization() throws Exception {
ByteBuddyLogHandler.initialize(log).reset();
}
}