Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrescobar2011-06-23 05:56:59 +0000
committerRyan D. Brooks2011-06-23 05:56:59 +0000
commitd067f3ac567435c89bf5687481307319066a185f (patch)
treee312d8e79f1585b230b4da27d0a4f219f407957d
parent6df4ead5d0def4d0cde3077b64e59204ae404138 (diff)
downloadorg.eclipse.osee-d067f3ac567435c89bf5687481307319066a185f.tar.gz
org.eclipse.osee-d067f3ac567435c89bf5687481307319066a185f.tar.xz
org.eclipse.osee-d067f3ac567435c89bf5687481307319066a185f.zip
refinement[bgz_349095]: Add tests for MailEventUtil
-rw-r--r--plugins/org.eclipse.osee.mail.test/src/org/eclipse/osee/mail/MailEventUtilTest.java99
-rw-r--r--plugins/org.eclipse.osee.mail/src/org/eclipse/osee/mail/MailEventUtil.java7
2 files changed, 102 insertions, 4 deletions
diff --git a/plugins/org.eclipse.osee.mail.test/src/org/eclipse/osee/mail/MailEventUtilTest.java b/plugins/org.eclipse.osee.mail.test/src/org/eclipse/osee/mail/MailEventUtilTest.java
index f869d25b2e5..4da7bf2f32e 100644
--- a/plugins/org.eclipse.osee.mail.test/src/org/eclipse/osee/mail/MailEventUtilTest.java
+++ b/plugins/org.eclipse.osee.mail.test/src/org/eclipse/osee/mail/MailEventUtilTest.java
@@ -5,15 +5,108 @@
*/
package org.eclipse.osee.mail;
+import java.util.Date;
+import java.util.Map;
+import java.util.Properties;
+import javax.mail.Address;
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.URLName;
+import javax.mail.event.TransportEvent;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+import org.junit.Assert;
+
/**
* Test unit for {@link MailEventUtil}
*
- * @author Shawn F. cook
+ * @author Roberto E. Escobar
*/
public class MailEventUtilTest {
+ private static final String ADDRESS1 = "hello@hello.com";
+ private static final String ADDRESS2 = "goodbye@goodbye.com";
+ private static final String ADDRESS3 = "dummy@inbox.com";
+ private static final String ADDRESS4 = "another@x.com";
+ private static final String ADDRESS5 = "another@asda.com";
+ private static final String ADDRESS6 = "anor@asd.com";
+ private static final String ADDRESS7 = "anoasdadaasdrf@asdfas.com";
+ private static final String ADDRESS8 = "s.d.f.a.s.dfasdf@com";
+
@org.junit.Test
- public void test_MailUtils_createTransportEventData() {
+ public void testCreateTransportEventData() throws MessagingException {
+ Address[] from = toAddress(ADDRESS1);
+ Address[] sent = toAddress(ADDRESS2, ADDRESS3, ADDRESS8);
+ Address[] unsent = toAddress(ADDRESS4, ADDRESS5);
+ Address[] invalid = toAddress(ADDRESS6, ADDRESS7);
+
+ String uuid = "123114135";
+ Date sendDate = new Date(12345);
+ String subject = "dummy subject";
+
+ Session session = Session.getDefaultInstance(new Properties());
+
+ MimeMessage message = new MimeMessage(session);
+ message.setHeader(MailConstants.MAIL_UUID_HEADER, uuid);
+ message.setSentDate(sendDate);
+ message.setSubject(subject);
+ message.setFrom(from[0]);
+
+ TransportEvent event = createEvent(session, message, sent, unsent, invalid);
+
+ Map<String, String> data = MailEventUtil.createTransportEventData(event);
+ assertEventData(data, uuid, message.getSentDate(), subject, from, sent, unsent, invalid);
+ }
+
+ private static void assertEventData(Map<String, String> data, String uuid, Date sendDate, String subject, Address[] from, Address[] validSent, Address[] validUnsent, Address[] invalid) {
+ Assert.assertEquals(uuid, data.get(MailConstants.MAIL_UUID));
+ Assert.assertEquals(subject, data.get(MailConstants.MAIL_SUBJECT));
+
+ String actualDate = data.get(MailConstants.MAIL_DATE_SENT);
+ if (sendDate != null) {
+ Assert.assertEquals(sendDate.getTime(), Long.parseLong(actualDate));
+ } else {
+ Assert.assertNull(actualDate);
+ }
+
+ assertAddress(data, MailConstants.MAIL_FROM_ADDRESS, from);
+ assertAddress(data, MailConstants.MAIL_INVALID_ADDRESS, invalid);
+ assertAddress(data, MailConstants.MAIL_VALID_SENT_ADDRESS, validSent);
+ assertAddress(data, MailConstants.MAIL_VALID_UNSENT_ADDRESS, validUnsent);
+ }
+
+ private static void assertAddress(Map<String, String> data, String key, Address[] addresses) {
+ Assert.assertEquals(addresses.length, Integer.parseInt(data.get(key + ".count")));
+ for (int index = 0; index < addresses.length; index++) {
+ Address address = addresses[index];
+ Assert.assertEquals(address.toString(), data.get(key + "." + index));
+ }
+ }
+
+ private static TransportEvent createEvent(Session session, MimeMessage message, Address[] sent, Address[] unsent, Address[] invalid) {
+ Transport transport = new Transport(session, new URLName("http://hello.com")) {
+
+ @Override
+ public void sendMessage(Message arg0, Address[] arg1) {
+ // Do nothing
+ }
+ };
+ return new TransportEvent(transport, 1, sent, unsent, invalid, message);
+ }
+
+ private static Address[] toAddress(String... rawAddresses) throws AddressException {
+ Address[] toReturn = new Address[rawAddresses.length];
+ int index = 0;
+ for (String rawAddress : rawAddresses) {
+ toReturn[index++] = asAddress(rawAddress);
+ }
+ return toReturn;
+ }
- }//test_MailUtils_createTransportEventData
+ private static Address asAddress(String value) throws AddressException {
+ return new InternetAddress(value);
+ }
}
diff --git a/plugins/org.eclipse.osee.mail/src/org/eclipse/osee/mail/MailEventUtil.java b/plugins/org.eclipse.osee.mail/src/org/eclipse/osee/mail/MailEventUtil.java
index 22dcf48757f..f8dcf65165a 100644
--- a/plugins/org.eclipse.osee.mail/src/org/eclipse/osee/mail/MailEventUtil.java
+++ b/plugins/org.eclipse.osee.mail/src/org/eclipse/osee/mail/MailEventUtil.java
@@ -52,7 +52,12 @@ public final class MailEventUtil {
subject = ex.getMessage();
}
data.put(MailConstants.MAIL_SUBJECT, subject);
- addAddress(data, MailConstants.MAIL_FROM_ADDRESS, event.getInvalidAddresses());
+
+ try {
+ addAddress(data, MailConstants.MAIL_FROM_ADDRESS, message.getFrom());
+ } catch (MessagingException ex) {
+ data.put(MailConstants.MAIL_FROM_ADDRESS, ex.getMessage());
+ }
addAddress(data, MailConstants.MAIL_INVALID_ADDRESS, event.getInvalidAddresses());
addAddress(data, MailConstants.MAIL_VALID_SENT_ADDRESS, event.getValidSentAddresses());
addAddress(data, MailConstants.MAIL_VALID_UNSENT_ADDRESS, event.getValidUnsentAddresses());

Back to the top