@Test
public void append_basic() {
MockLoggingChannel log = new MockLoggingChannel();
KettleLogChannelAppender appender = new KettleLogChannelAppender(log);
Logger testLogger = Logger.getLogger(getClass());
testLogger.setLevel(Level.ALL);
Layout layout = new Log4jKettleLayout();
// ALL, INFO, and WARN messages should be interpreted as "basic" messages
@SuppressWarnings("deprecation")
LoggingEvent infoEvent = new LoggingEvent("org.test", testLogger, Priority.INFO, "Testing Info", null);
@SuppressWarnings("deprecation")
LoggingEvent warnEvent = new LoggingEvent("org.test", testLogger, Priority.WARN, "Testing Warning", null);
@SuppressWarnings("deprecation")
LoggingEvent allEvent = new LoggingEvent("org.test", testLogger, Priority.toPriority(Priority.ALL_INT), "Testing All", null);
appender.doAppend(infoEvent);
appender.doAppend(warnEvent);
appender.doAppend(allEvent);
assertEquals(0, log.getDebugMessages().size());
assertEquals(0, log.getDetailedMessages().size());
assertEquals(0, log.getErrorMessages().size());
assertEquals(0, log.getMinimalMessages().size());
assertEquals(0, log.getRowLevelMessages().size());
assertEquals(3, log.getBasicMessages().size());
assertEquals(layout.format(infoEvent), log.getBasicMessages().get(0).getMessage());
assertEquals(layout.format(warnEvent), log.getBasicMessages().get(1).getMessage());
assertEquals(layout.format(allEvent), log.getBasicMessages().get(2).getMessage());
}