svn commit: r490 - logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/net

Author: seb Date: Tue Aug 29 16:46:48 2006 New Revision: 490 Added: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/net/SMTPAppenderTestApp.java Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/net/SMTPAppenderTest.java Log: on going work: testing SMTPAppender Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/net/SMTPAppenderTest.java ============================================================================== --- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/net/SMTPAppenderTest.java (original) +++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/net/SMTPAppenderTest.java Tue Aug 29 16:46:48 2006 @@ -1,40 +1,89 @@ package ch.qos.logback.classic.net; -import org.slf4j.LoggerFactory; +import javax.mail.Address; +import javax.mail.MessagingException; -import ch.qos.logback.classic.Logger; +import junit.framework.TestCase; +import ch.qos.logback.classic.Level; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.PatternLayout; +import ch.qos.logback.classic.spi.LoggingEvent; import ch.qos.logback.core.Layout; -import ch.qos.logback.core.util.StatusPrinter; -public class SMTPAppenderTest { +public class SMTPAppenderTest extends TestCase { - public static void main(String[] args) { + SMTPAppender appender; - Logger logger = (Logger) LoggerFactory.getLogger(SocketAppenderTestApp.class); - LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); - SMTPAppender appender = new SMTPAppender(); + public void setUp() { + LoggerContext lc = new LoggerContext(); + appender = new SMTPAppender(); appender.setContext(lc); appender.setName("smtp"); appender.setFrom("user@host.dom"); appender.setLayout(buildLayout(lc)); appender.setSMTPHost("mail.qos.ch"); appender.setSubject("logging report"); - appender.setTo("sebastien@qos.ch"); - + appender.setTo("sebastien.nospam@qos.ch"); appender.start(); - - logger.addAppender(appender); - - for (int i = 0; i <= 10; i++) { - logger.debug("** Hello world. n=" + i); - } - logger.error("Triggering request"); + } + + public void testStart() { + try { + Address[] addressArray = appender.msg.getFrom(); + Address address = addressArray[0]; + assertEquals("user@host.dom", address.toString()); - StatusPrinter.print(lc.getStatusManager()); + addressArray = null; + address = null; + + addressArray = appender.msg.getAllRecipients(); + address = addressArray[0]; + assertEquals("sebastien.nospam@qos.ch", address.toString()); + + assertEquals("logging report", appender.msg.getSubject()); + + assertTrue(appender.isStarted()); + + } catch (MessagingException ex) { + fail("Unexpected exception."); + } + } + + public void testAppendNonTriggeringEvent() { + LoggingEvent event = new LoggingEvent(); + event.setThreadName("thead name"); + event.setLevel(Level.DEBUG); + appender.append(event); + assertEquals(1, appender.cb.length()); + } + + public void testEntryConditionsCheck() { + appender.checkEntryConditions(); + assertEquals(0, appender.getContext().getStatusManager().getCount()); } + public void testEntryConditionsCheckNoMessage() { + appender.msg = null; + appender.checkEntryConditions(); + assertEquals(1, appender.getContext().getStatusManager().getCount()); + } + + public void testEntryConditionsCheckNoEvaluator() { + appender.evaluator = null; + appender.checkEntryConditions(); + assertEquals(1, appender.getContext().getStatusManager().getCount()); + } + + public void testEntryConditionsCheckNoLayout() { + appender.setLayout(null); + appender.checkEntryConditions(); + assertEquals(1, appender.getContext().getStatusManager().getCount()); + } + + //TODO test defaultEvaluator == test triggering event + public void tearDown() { + appender = null; + } private static Layout buildLayout(LoggerContext lc) { PatternLayout layout = new PatternLayout(); layout.setContext(lc); @@ -44,5 +93,4 @@ layout.start(); return layout; } - } Added: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/net/SMTPAppenderTestApp.java ============================================================================== --- (empty file) +++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/net/SMTPAppenderTestApp.java Tue Aug 29 16:46:48 2006 @@ -0,0 +1,48 @@ +package ch.qos.logback.classic.net; + +import org.slf4j.LoggerFactory; + +import ch.qos.logback.classic.Logger; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.PatternLayout; +import ch.qos.logback.core.Layout; +import ch.qos.logback.core.util.StatusPrinter; + +public class SMTPAppenderTestApp { + + public static void main(String[] args) { + + Logger logger = (Logger) LoggerFactory.getLogger(SocketAppenderTestApp.class); + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + SMTPAppender appender = new SMTPAppender(); + appender.setContext(lc); + appender.setName("smtp"); + appender.setFrom("user@host.dom"); + appender.setLayout(buildLayout(lc)); + appender.setSMTPHost("mail.qos.ch"); + appender.setSubject("logging report"); + appender.setTo("sebastien.nospam@qos.ch"); + + appender.start(); + + logger.addAppender(appender); + + for (int i = 0; i <= 10; i++) { + logger.debug("** Hello world. n=" + i); + } + logger.error("Triggering request"); + + StatusPrinter.print(lc.getStatusManager()); + } + + private static Layout buildLayout(LoggerContext lc) { + PatternLayout layout = new PatternLayout(); + layout.setContext(lc); + layout.setHeader("Some header\n"); + layout.setPattern("%-4relative [%thread] %-5level %class - %msg%n"); + layout.setFooter("Some footer"); + layout.start(); + return layout; + } + +}
participants (1)
-
noreply.seb@qos.ch