1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.email.transformers;
12
13 import org.mule.api.transformer.TransformerException;
14 import org.mule.tck.junit4.AbstractMuleTestCase;
15 import org.mule.transport.email.GreenMailUtilities;
16
17 import java.io.StringReader;
18 import java.util.Properties;
19
20 import javax.mail.Message;
21 import javax.mail.MessagingException;
22 import javax.mail.Session;
23 import javax.mail.internet.InternetAddress;
24 import javax.mail.internet.MimeBodyPart;
25 import javax.mail.internet.MimeMessage;
26 import javax.mail.internet.MimeMultipart;
27
28 import org.junit.Before;
29 import org.junit.Test;
30
31 import static org.junit.Assert.assertEquals;
32
33 public class EmailMessageToStringTestCase extends AbstractMuleTestCase
34 {
35 private EmailMessageToString transformer;
36 private static String TEXT = "text";
37 private static String TO = "me@me.com";
38
39 @Before
40 public void createTransformer()
41 {
42 transformer = new EmailMessageToString();
43 }
44
45 @Test
46 public void testSimpleStringMessage() throws MessagingException, TransformerException
47 {
48 Message msg = GreenMailUtilities.toMessage(TEXT, TO, null);
49 assertEquals(TEXT, transformer.transform(msg));
50 }
51
52 @Test
53 public void testSimpleNonTextMessage() throws MessagingException, TransformerException
54 {
55 MimeMessage message = new MimeMessage(Session.getDefaultInstance(new Properties()));
56 message.setContent(new StringReader(TEXT), "application/octet-stream");
57 message.setRecipient(Message.RecipientType.TO, new InternetAddress(TO));
58 assertEquals("", transformer.transform(message));
59 }
60
61 @Test
62 public void testMultipartFirstPartTextMessage() throws MessagingException, TransformerException
63 {
64 MimeMessage message = new MimeMessage(Session.getDefaultInstance(new Properties()));
65 MimeMultipart mimeMultipart = new MimeMultipart();
66 MimeBodyPart bp1 = new MimeBodyPart();
67 bp1.setContent(TEXT, "test/plain");
68 mimeMultipart.addBodyPart(bp1);
69 message.setContent(mimeMultipart);
70 message.setRecipient(Message.RecipientType.TO, new InternetAddress(TO));
71 assertEquals(TEXT, transformer.transform(message));
72 }
73
74 @Test
75 public void testMultipartMessage2() throws MessagingException, TransformerException
76 {
77 MimeMessage message = new MimeMessage(Session.getDefaultInstance(new Properties()));
78 MimeMultipart mimeMultipart = new MimeMultipart();
79 MimeBodyPart bp1 = new MimeBodyPart();
80 bp1.setContent(new StringReader(TEXT), "binary");
81 mimeMultipart.addBodyPart(bp1);
82 message.setContent(mimeMultipart);
83 message.setRecipient(Message.RecipientType.TO, new InternetAddress(TO));
84 assertEquals("", transformer.transform(message));
85 }
86 }