1 package test.atlassian.mail.server.util;
2
3 import alt.javax.mail.internet.MimeMessage;
4 import alt.javax.mail.internet.MimeMessageImpl;
5 import com.atlassian.mail.Email;
6 import com.atlassian.mail.MailException;
7 import com.atlassian.mail.server.impl.util.MessageCreator;
8 import junit.framework.TestCase;
9 import test.mock.mail.MockSession;
10
11 import javax.mail.MessagingException;
12 import javax.mail.internet.InternetAddress;
13 import java.io.UnsupportedEncodingException;
14
15 public class TestMessageCreator extends TestCase
16 {
17 MimeMessage message = new MimeMessageImpl(new MockSession() );
18 MessageCreator messageCreator = new MessageCreator();
19
20 public void testDefaultFromContainsPersonalName() throws MessagingException, UnsupportedEncodingException, MailException
21 {
22 _testFromName("Default Personal Name <from@example.com>", null, "Default Personal Name", "from@example.com");
23 }
24
25 public void testFromNameOverriddenByDefaultFromName() throws MessagingException, UnsupportedEncodingException, MailException
26 {
27 _testFromName("Default Personal Name <from@example.com>", "Personal From Name", "Default Personal Name", "from@example.com");
28 }
29
30 private void _testFromName(String defaultFrom, String fromName, String expectedPersonalName, String expectedFromAddress) throws MessagingException, UnsupportedEncodingException, MailException
31 {
32 Email email = new Email("to@example.com");
33 if (fromName != null)
34 email.setFromName(fromName);
35
36 messageCreator.updateMimeMessage(email, defaultFrom, "[EMAIL]",message);
37 InternetAddress fromAddress = (InternetAddress) message.getFrom()[0];
38
39 assertEquals(expectedFromAddress, fromAddress.getAddress());
40 assertEquals(expectedPersonalName, fromAddress.getPersonal());
41 }
42
43 }