View Javadoc

1   /*
2    * $Id: EmailMessageToStringTestCase.java 22387 2011-07-12 03:53:36Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
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  }