@Test public void html() throws Exception { String subject = "html"; buildSMTPAppender(subject, SYNCHRONOUS); smtpAppender.setAsynchronousSending(false); smtpAppender.setLayout(buildHTMLLayout()); smtpAppender.start(); logger.addAppender(smtpAppender); logger.debug("html"); logger.error("en error", new Exception("an exception")); MimeMultipart mp = verifyAndExtractMimeMultipart(subject); // verifyAndExtractMimeMultipart strict adherence to xhtml1-strict.dtd SAXReader reader = new SAXReader(); reader.setValidation(true); reader.setEntityResolver(new XHTMLEntityResolver()); byte[] messageBytes = getAsByteArray(mp.getBodyPart(0).getInputStream()); ByteArrayInputStream bais = new ByteArrayInputStream(messageBytes); try { reader.read(bais); } catch (DocumentException de) { System.out.println("incoming message:"); System.out.println(new String(messageBytes)); throw de; } }
void buildSMTPAppender(String subject, boolean synchronicity) throws Exception { smtpAppender = new SMTPAppender(); smtpAppender.setContext(loggerContext); smtpAppender.setName("smtp"); smtpAppender.setFrom("*****@*****.**"); smtpAppender.setSMTPHost("localhost"); smtpAppender.setSMTPPort(port); smtpAppender.setSubject(subject); smtpAppender.addTo("*****@*****.**"); smtpAppender.setAsynchronousSending(synchronicity); }
private void buildSMTPAppender(int port, boolean synchronicity) throws Exception { smtpAppender = new SMTPAppender(); smtpAppender.setContext(lc); smtpAppender.setName("smtp"); smtpAppender.setFrom("*****@*****.**"); smtpAppender.setSMTPHost("localhost"); smtpAppender.setSMTPPort(port); smtpAppender.setSubject(TEST_SUBJECT); smtpAppender.addTo("*****@*****.**"); smtpAppender.setAsynchronousSending(synchronicity); // smtpAppender.start(); }
@Test public void html() throws Exception { buildSMTPAppender(smtpServer.getSmtp().getPort(), SYNCHRONOUS); smtpAppender.setAsynchronousSending(false); smtpAppender.setLayout(buildHTMLLayout(lc)); smtpAppender.start(); logger.addAppender(smtpAppender); logger.debug("hello"); logger.error("an error", new Exception("an exception")); MimeMultipart mp = verify(smtpServer, TEST_SUBJECT); // verify strict adherence to xhtml1-strict.dtd SAXReader reader = new SAXReader(); reader.setValidation(true); reader.setEntityResolver(new XHTMLEntityResolver()); reader.read(mp.getBodyPart(0).getInputStream()); }
@Test public void LBCLASSIC_104() throws Exception { buildSMTPAppender(smtpServer.getSmtp().getPort(), SYNCHRONOUS); smtpAppender.setAsynchronousSending(false); smtpAppender.setLayout(buildPatternLayout(lc, DEFAULT_PATTERN)); smtpAppender.start(); logger.addAppender(smtpAppender); MDC.put("key", "val"); logger.debug("hello"); MDC.clear(); logger.error("an error", new Exception("an exception")); MimeMultipart mp = verify(smtpServer, TEST_SUBJECT); String body = GreenMailUtil.getBody(mp.getBodyPart(0)); assertTrue("missing HEADER in body", body.startsWith(HEADER.trim())); assertTrue("missing MDC in body", body.contains("key=val")); assertTrue("missing FOOTER in body", body.endsWith(FOOTER.trim())); }
// lost MDC @Test public void LBCLASSIC_104() throws Exception { String subject = "LBCLASSIC_104"; buildSMTPAppender(subject, SYNCHRONOUS); smtpAppender.setAsynchronousSending(false); smtpAppender.setLayout(buildPatternLayout(DEFAULT_PATTERN)); smtpAppender.start(); logger.addAppender(smtpAppender); MDC.put("key", "val"); logger.debug("hello"); MDC.clear(); logger.error("en error", new Exception("test")); MimeMultipart mp = verifyAndExtractMimeMultipart(subject); String body = GreenMailUtil.getBody(mp.getBodyPart(0)); assertTrue("missing HEADER in body", body.startsWith(HEADER.trim())); assertTrue("missing MDC in body", body.contains("key=val")); assertTrue("missing FOOTER in body", body.endsWith(FOOTER.trim())); }