package org.simplejavamail.email;
import org.junit.Before;
import org.junit.Test;
import org.simplejavamail.internal.util.MiscUtil;
import org.simplejavamail.util.ConfigLoader;
import testutil.ConfigLoaderTestHelper;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import static javax.mail.Message.RecipientType.*;
import static org.assertj.core.api.Assertions.assertThat;
@SuppressWarnings("unused")
public class EmailTest {
@Before
public void restoreOriginalStaticProperties()
throws IOException {
String s = "simplejavamail.defaults.from.name=From Default\n"
+ "simplejavamail.defaults.from.address=from@default.com\n"
+ "simplejavamail.defaults.replyto.name=Reply-To Default\n"
+ "simplejavamail.defaults.replyto.address=reply-to@default.com\n"
+ "simplejavamail.defaults.to.name=To Default\n"
+ "simplejavamail.defaults.to.address=to@default.com\n"
+ "simplejavamail.defaults.cc.name=CC Default\n"
+ "simplejavamail.defaults.cc.address=cc@default.com\n"
+ "simplejavamail.defaults.bcc.name=BCC Default\n"
+ "simplejavamail.defaults.bcc.address=bcc@default.com";
ConfigLoader.loadProperties(new ByteArrayInputStream(s.getBytes()), false);
}
@Test
public void emailConstructor_WithoutConfig()
throws Exception {
ConfigLoaderTestHelper.clearConfigProperties();
Email email = new Email();
assertThat(email.getFromRecipient()).isNull();
assertThat(email.getReplyToRecipient()).isNull();
assertThat(email.getRecipients()).isEmpty();
}
@Test
public void emailConstructor_WithConfig() {
Email email = new Email();
assertThat(email.getFromRecipient()).isEqualToComparingFieldByField(new Recipient("From Default", "from@default.com", null));
assertThat(email.getReplyToRecipient()).isEqualToComparingFieldByField(new Recipient("Reply-To Default", "reply-to@default.com", null));
assertThat(email.getRecipients()).isNotEmpty();
assertThat(email.getRecipients()).hasSize(3);
assertThat(email.getRecipients()).usingFieldByFieldElementComparator().contains(new Recipient("To Default", "to@default.com", TO));
assertThat(email.getRecipients()).usingFieldByFieldElementComparator().contains(new Recipient("CC Default", "cc@default.com", CC));
assertThat(email.getRecipients()).usingFieldByFieldElementComparator().contains(new Recipient("BCC Default", "bcc@default.com", BCC));
}
@Test
public void testBeautifyCID() {
assertThat(MiscUtil.extractCID(null)).isNull();
assertThat(MiscUtil.extractCID("")).isEqualTo("");
assertThat(MiscUtil.extractCID("haha")).isEqualTo("haha");
assertThat(MiscUtil.extractCID("<haha>")).isEqualTo("haha");
}
}