/* * Copyright (c) 2007, Your Corporation. All Rights Reserved. */ package org.springmodules.email.dispatcher.emailsender; import java.util.Properties; import javax.mail.Address; import javax.mail.Session; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import junit.framework.TestCase; import org.springframework.mail.javamail.MimeMessagePreparator; import org.springmodules.email.Email; import org.springmodules.email.EmailPriority; /** * @author Uri Boness */ public class JavaMailEmailSenderTests extends TestCase { private JavaMailEmailSender sender; protected void setUp() throws Exception { sender = new JavaMailEmailSender(); } public void testGenerateMimeMessagePreparator() throws Exception { Email email = new Email(); email.setFrom("From", "from@bla.com"); email.setReplyTo("Reply To", "replyto@bla.com"); email.setTo("to@bla.com"); email.setCc("cc@bla.com"); email.setBcc("bcc@bla.com"); email.setPriority(EmailPriority.HIGH); email.setSubject("subject"); email.setTextBody("text"); MimeMessagePreparator preparator = sender.generateMimeMessagePreparator(email, "UTF-8"); MimeMessage mimeMessage = createMimeMessage(); preparator.prepare(mimeMessage); assertEquals(1, mimeMessage.getFrom().length); InternetAddress address = (InternetAddress)mimeMessage.getFrom()[0]; assertEquals("From", address.getPersonal()); assertEquals("from@bla.com", address.getAddress()); Address[] addresses = mimeMessage.getRecipients(MimeMessage.RecipientType.TO); assertEquals(1, addresses.length); address = (InternetAddress)addresses[0]; assertEquals("to@bla.com", address.getAddress()); addresses = mimeMessage.getRecipients(MimeMessage.RecipientType.CC); assertEquals(1, addresses.length); address = (InternetAddress)addresses[0]; assertEquals("cc@bla.com", address.getAddress()); addresses = mimeMessage.getRecipients(MimeMessage.RecipientType.BCC); assertEquals(1, addresses.length); address = (InternetAddress)addresses[0]; assertEquals("bcc@bla.com", address.getAddress()); assertEquals("2", mimeMessage.getHeader("X-Priority")[0]); assertEquals("subject", mimeMessage.getSubject()); } protected MimeMessage createMimeMessage() { Session session = Session.getInstance(new Properties()); return new MimeMessage(session); } }