This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 24a70cfe3a66e4287c68827c9ef1d72c36e33fc3 Author: Benoit Tellier <[email protected]> AuthorDate: Sun Jan 30 20:26:20 2022 +0700 JAMES-3708 MailAddress::toInternetAddress should return an optional This forces callers to explicitly handle the missing case thus minimising the impact of possible defects (no NPE and quality caller should handle that in a graceful way). Also adds a log to simplify diagnostic. --- .../java/org/apache/james/core/MailAddress.java | 8 +++--- .../org/apache/james/core/MailAddressTest.java | 4 +-- .../apache/james/transport/mailets/ServerTime.java | 6 +++- .../mailetcontainer/impl/JamesMailetContext.java | 4 ++- .../org/apache/james/transport/mailets/Bounce.java | 2 +- .../apache/james/transport/mailets/DSNBounce.java | 2 +- .../james/transport/mailets/NotifyPostmaster.java | 11 ++++++-- .../james/transport/mailets/NotifySender.java | 10 +++++-- .../james/transport/mailets/WhiteListManager.java | 15 ++++++---- .../transport/mailets/jsieve/RejectAction.java | 3 +- .../transport/mailets/jsieve/SieveMailAdapter.java | 4 ++- .../transport/mailets/redirect/MailModifier.java | 12 ++++++-- .../remote/delivery/InternetAddressConverter.java | 2 +- .../james/transport/util/MailAddressUtils.java | 2 +- .../org/apache/james/transport/util/TosUtils.java | 2 +- .../james/transport/mailets/DSNBounceTest.java | 10 +++---- .../transport/mailets/NotifyPostmasterTest.java | 8 +++--- .../james/transport/mailets/NotifySenderTest.java | 10 +++---- .../james/transport/mailets/RedirectTest.java | 3 +- .../james/transport/matchers/dlp/DlpTest.java | 8 +++--- .../transport/util/SpecialAddressesUtilsTest.java | 32 +++++++++++----------- .../apache/james/transport/util/TosUtilsTest.java | 8 +++--- .../mailets/XOriginatingIpInNetworkSpec.scala | 8 +++--- 23 files changed, 103 insertions(+), 71 deletions(-) diff --git a/core/src/main/java/org/apache/james/core/MailAddress.java b/core/src/main/java/org/apache/james/core/MailAddress.java index 2c67d79..58ef705 100644 --- a/core/src/main/java/org/apache/james/core/MailAddress.java +++ b/core/src/main/java/org/apache/james/core/MailAddress.java @@ -379,12 +379,12 @@ public class MailAddress implements java.io.Serializable { * * @return the address */ - public InternetAddress toInternetAddress() { + public Optional<InternetAddress> toInternetAddress() { try { - return new InternetAddress(toString()); + return Optional.of(new InternetAddress(toString())); } catch (javax.mail.internet.AddressException ae) { - //impossible really - return null; + LOGGER.warn("A valid address '{}' as per James criterial fails to parse as a javax.mail InternetAdrress", asString()); + return Optional.empty(); } } diff --git a/core/src/test/java/org/apache/james/core/MailAddressTest.java b/core/src/test/java/org/apache/james/core/MailAddressTest.java index a00a789..1920c35 100644 --- a/core/src/test/java/org/apache/james/core/MailAddressTest.java +++ b/core/src/test/java/org/apache/james/core/MailAddressTest.java @@ -117,7 +117,7 @@ class MailAddressTest { @MethodSource("goodAddresses") void toInternetAddressShouldNoop(String mailAddress) throws Exception { assertThat(new MailAddress(mailAddress).toInternetAddress()) - .isNotNull(); + .isNotEmpty(); } @ParameterizedTest @@ -171,7 +171,7 @@ class MailAddressTest { InternetAddress b = new InternetAddress(GOOD_ADDRESS); MailAddress a = new MailAddress(b); - assertThat(a.toInternetAddress()).isEqualTo(b); + assertThat(a.toInternetAddress()).contains(b); assertThat(a.toString()).isEqualTo(GOOD_ADDRESS); } diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ServerTime.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ServerTime.java index 7dc52d3..b525eaa 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ServerTime.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ServerTime.java @@ -21,12 +21,15 @@ package org.apache.james.transport.mailets; +import javax.mail.Address; import javax.mail.internet.MimeMessage; import org.apache.mailet.Experimental; import org.apache.mailet.Mail; import org.apache.mailet.base.GenericMailet; +import com.github.fge.lambdas.Throwing; + /** * Returns the current time for the mail server. Sample configuration: * <pre><code> @@ -61,7 +64,8 @@ public class ServerTime extends GenericMailet { // MAIL FROM/RCPT TO commands used to send the inquiry. if (response.getFrom() == null) { - response.setFrom(mail.getRecipients().iterator().next().toInternetAddress()); + mail.getRecipients().iterator().next().toInternetAddress() + .ifPresent(Throwing.<Address>consumer(response::setFrom).sneakyThrow()); } if (response.getAllRecipients() == null) { diff --git a/server/mailet/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java b/server/mailet/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java index f14224b..49bff92 100644 --- a/server/mailet/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java +++ b/server/mailet/mailetcontainer-impl/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java @@ -65,6 +65,7 @@ import org.apache.mailet.base.RFC2822Headers; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.github.fge.lambdas.Throwing; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; @@ -186,7 +187,8 @@ public class JamesMailetContext implements MailetContext, Configurable, Disposab // Change the sender... if (bouncer != null) { - reply.getMessage().setFrom(bouncer.toInternetAddress()); + bouncer.toInternetAddress() + .ifPresent(Throwing.<Address>consumer(address -> reply.getMessage().setFrom(address)).sneakyThrow()); } reply.getMessage().saveChanges(); diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Bounce.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Bounce.java index 2818995..d1883d1 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Bounce.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Bounce.java @@ -129,7 +129,7 @@ public class Bounce extends GenericMailet implements RedirectNotify { private static final ImmutableSet<String> CONFIGURABLE_PARAMETERS = ImmutableSet.of( "debug", "passThrough", "fakeDomainCheck", "inline", "attachment", "message", "notice", "sender", "sendingAddress", "prefix", "attachError"); private static final List<MailAddress> RECIPIENTS = ImmutableList.of(SpecialAddress.REVERSE_PATH); - private static final List<InternetAddress> TO = ImmutableList.of(SpecialAddress.REVERSE_PATH.toInternetAddress()); + private static final List<InternetAddress> TO = SpecialAddress.REVERSE_PATH.toInternetAddress().stream().collect(ImmutableList.toImmutableList()); private final DNSService dns; @Inject diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java index 0144d9a..e1b9528 100755 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java @@ -163,7 +163,7 @@ public class DSNBounce extends GenericMailet implements RedirectNotify { private static final ImmutableSet<String> CONFIGURABLE_PARAMETERS = ImmutableSet.of("debug", "passThrough", "messageString", "attachment", "sender", "prefix", "action", "defaultStatus"); private static final List<MailAddress> RECIPIENT_MAIL_ADDRESSES = ImmutableList.of(SpecialAddress.REVERSE_PATH); - private static final List<InternetAddress> TO_INTERNET_ADDRESSES = ImmutableList.of(SpecialAddress.REVERSE_PATH.toInternetAddress()); + private static final List<InternetAddress> TO_INTERNET_ADDRESSES = ImmutableList.of(SpecialAddress.REVERSE_PATH.toInternetAddress().get()); private static final String LOCALHOST = "127.0.0.1"; private static final Pattern DIAG_PATTERN = Patterns.compilePatternUncheckedException("^\\d{3}\\s.*$"); diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifyPostmaster.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifyPostmaster.java index be83f65..5ae9d8f 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifyPostmaster.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifyPostmaster.java @@ -203,11 +203,18 @@ public class NotifyPostmaster extends GenericMailet implements RedirectNotify { .allowedSpecials(ALLOWED_SPECIALS) .getSpecialAddress(to.get()); if (specialAddress.isPresent()) { - return ImmutableList.of(specialAddress.get().toInternetAddress()); + return specialAddress + .flatMap(MailAddress::toInternetAddress) + .map(ImmutableList::of) + .orElse(ImmutableList.of()); } LOGGER.info("\"to\" parameter ignored, set to postmaster"); } - return ImmutableList.of(getMailetContext().getPostmaster().toInternetAddress()); + return getMailetContext() + .getPostmaster() + .toInternetAddress() + .map(ImmutableList::of) + .orElse(ImmutableList.of()); } @Override diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifySender.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifySender.java index 2b3888e..668b9ff 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifySender.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifySender.java @@ -203,11 +203,17 @@ public class NotifySender extends GenericMailet implements RedirectNotify { .allowedSpecials(ALLOWED_SPECIALS) .getSpecialAddress(to.get()); if (specialAddress.isPresent()) { - return ImmutableList.of(specialAddress.get().toInternetAddress()); + return specialAddress + .flatMap(MailAddress::toInternetAddress) + .map(ImmutableList::of) + .orElse(ImmutableList.of()); } LOGGER.info("\"to\" parameter ignored, set to sender"); } - return ImmutableList.of(SpecialAddress.SENDER.toInternetAddress()); + return SpecialAddress.SENDER + .toInternetAddress() + .map(ImmutableList::of) + .orElse(ImmutableList.of()); } @Override diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/WhiteListManager.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/WhiteListManager.java index 2d17c4a..d91c5e5 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/WhiteListManager.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/WhiteListManager.java @@ -38,6 +38,7 @@ import java.util.Set; import java.util.StringTokenizer; import javax.inject.Inject; +import javax.mail.Address; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; @@ -61,6 +62,9 @@ import org.apache.mailet.base.RFC2822Headers; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.github.fge.lambdas.Throwing; +import com.google.common.collect.ImmutableList; + /** * <p> * Manages for each local user a "white list" of remote addresses whose messages @@ -396,7 +400,7 @@ public class WhiteListManager extends GenericMailet { selectRS = selectStmt.executeQuery(); while (selectRS.next()) { MailAddress mailAddress = new MailAddress(selectRS.getString(1), selectRS.getString(2)); - out.println(mailAddress.toInternetAddress().toString()); + out.println(mailAddress.toString()); } out.println(); @@ -664,12 +668,13 @@ public class WhiteListManager extends GenericMailet { MimeMessage reply = new MimeMessage(Session.getDefaultInstance(System.getProperties(), null)); // Create the list of recipients in the Address[] format - InternetAddress[] rcptAddr = new InternetAddress[1]; - rcptAddr[0] = senderMailAddress.toInternetAddress(); - reply.setRecipients(Message.RecipientType.TO, rcptAddr); + reply.setRecipients(Message.RecipientType.TO, senderMailAddress.toInternetAddress().stream() + .collect(ImmutableList.toImmutableList()) + .toArray(new InternetAddress[0])); // Set the sender... - reply.setFrom(notifier.toInternetAddress()); + notifier.toInternetAddress() + .ifPresent(Throwing.<Address>consumer(reply::setFrom).sneakyThrow()); // Create the message body MimeMultipart multipart = new MimeMultipart(); diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RejectAction.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RejectAction.java index eca6337..018bfcd 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RejectAction.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RejectAction.java @@ -133,7 +133,8 @@ public class RejectAction implements MailAction { // Send the message MimeMessage reply = (MimeMessage) aMail.getMessage().reply(false); - reply.setFrom(soleRecipient.toInternetAddress()); + soleRecipient.toInternetAddress() + .ifPresent(Throwing.<Address>consumer(reply::setFrom).sneakyThrow()); reply.setContent(multipart); reply.saveChanges(); Address[] recipientAddresses = reply.getAllRecipients(); diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java index 7728a05..2fb44cf 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java @@ -31,6 +31,7 @@ import java.util.Set; import javax.mail.Header; import javax.mail.MessagingException; +import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import org.apache.james.core.MailAddress; @@ -271,7 +272,8 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC public String getEnvelopeTo() { return getMail().getRecipients() .stream() - .map(mailAddress -> mailAddress.toInternetAddress().getAddress()) + .flatMap(mailAddress -> mailAddress.toInternetAddress().stream()) + .map(InternetAddress::getAddress) .filter(Objects::nonNull) .findFirst() .orElse(null); diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MailModifier.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MailModifier.java index cf1113e..a39bfa4 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MailModifier.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MailModifier.java @@ -23,6 +23,7 @@ import java.time.LocalDateTime; import java.util.List; import java.util.Optional; +import javax.mail.Address; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.internet.InternetAddress; @@ -39,6 +40,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.github.fge.lambdas.Throwing; +import com.github.fge.lambdas.consumers.ThrowingConsumer; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; @@ -146,7 +148,7 @@ public class MailModifier { */ public void setReplyTo(Optional<MailAddress> optionalReplyTo) throws MessagingException { optionalReplyTo.ifPresent(Throwing - .consumer((MailAddress address) -> setReplyTo(address)) + .consumer((ThrowingConsumer<MailAddress>) this::setReplyTo) .sneakyThrow()); } @@ -157,7 +159,10 @@ public class MailModifier { LOGGER.debug("replyTo set to: null"); } } else { - mail.getMessage().setReplyTo(new InternetAddress[] { replyTo.toInternetAddress() }); + ImmutableList<InternetAddress> replyToAsList = replyTo.toInternetAddress() + .stream() + .collect(ImmutableList.toImmutableList()); + mail.getMessage().setReplyTo(replyToAsList.toArray(new InternetAddress[0])); if (mailet.getInitParameters().isDebug()) { LOGGER.debug("replyTo set to: {}", replyTo); } @@ -204,7 +209,8 @@ public class MailModifier { public void setSender(Optional<MailAddress> sender) throws MessagingException { if (sender.isPresent()) { - mail.getMessage().setFrom(sender.get().toInternetAddress()); + sender.flatMap(MailAddress::toInternetAddress) + .ifPresent(Throwing.<Address>consumer(address -> mail.getMessage().setFrom(address)).sneakyThrow()); if (mailet.getInitParameters().isDebug()) { LOGGER.debug("sender set to: {}", sender); diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/InternetAddressConverter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/InternetAddressConverter.java index 58c2a3f..4247c0e 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/InternetAddressConverter.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/InternetAddressConverter.java @@ -32,7 +32,7 @@ public class InternetAddressConverter { public static ImmutableSet<InternetAddress> convert(Collection<MailAddress> recipients) { Preconditions.checkNotNull(recipients); return recipients.stream() - .map(MailAddress::toInternetAddress) + .flatMap(mailAddress -> mailAddress.toInternetAddress().stream()) .collect(ImmutableSet.toImmutableSet()); } } diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java index 5785fcf..b203005 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java @@ -55,7 +55,7 @@ public class MailAddressUtils { private static Stream<InternetAddress> streamOfInternetAddress(List<MailAddress> mailAddresses) { return mailAddresses.stream() - .map(MailAddress::toInternetAddress); + .flatMap(mailAddress -> mailAddress.toInternetAddress().stream()); } public static boolean isUnalteredOrReversePathOrSender(MailAddress mailAddress) { diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/util/TosUtils.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/util/TosUtils.java index a7fd76f..f1f4bc8 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/util/TosUtils.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/util/TosUtils.java @@ -56,6 +56,6 @@ public class TosUtils { private boolean containsOnlyUnalteredOrTo(List<InternetAddress> apparentlyTo) { return apparentlyTo.size() == 1 && - (apparentlyTo.get(0).equals(SpecialAddress.UNALTERED.toInternetAddress()) || apparentlyTo.get(0).equals(SpecialAddress.RECIPIENTS.toInternetAddress())); + (apparentlyTo.get(0).equals(SpecialAddress.UNALTERED.toInternetAddress().get()) || apparentlyTo.get(0).equals(SpecialAddress.RECIPIENTS.toInternetAddress().get())); } } diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java index a448476..c37959d 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java @@ -116,7 +116,7 @@ public class DSNBounceTest { @Test void getToShouldReturnReversePathOnly() { - assertThat(dsnBounce.getTo()).containsOnly(SpecialAddress.REVERSE_PATH.toInternetAddress()); + assertThat(dsnBounce.getTo()).containsOnly(SpecialAddress.REVERSE_PATH.toInternetAddress().get()); } @Test @@ -305,7 +305,7 @@ public class DSNBounceTest { SentMail sentMail = sentMails.get(0); assertThat(sentMail.getMsg().getFrom()) - .containsOnly(fakeMailContext.getPostmaster().toInternetAddress()); + .containsOnly(fakeMailContext.getPostmaster().toInternetAddress().get()); assertThat(sentMail.getRecipients()).containsOnly(mail.getSender()); } @@ -332,7 +332,7 @@ public class DSNBounceTest { assertThat(sentMails).hasSize(1); SentMail sentMail = sentMails.get(0); - assertThat(sentMail.getMsg().getFrom()).containsOnly(mail.getSender().toInternetAddress()); + assertThat(sentMail.getMsg().getFrom()).containsOnly(mail.getSender().toInternetAddress().get()); assertThat(sentMail.getRecipients()).containsOnly(mail.getSender()); } @@ -359,7 +359,7 @@ public class DSNBounceTest { assertThat(sentMails).hasSize(1); SentMail sentMail = sentMails.get(0); - assertThat(sentMail.getMsg().getFrom()).containsOnly(mail.getSender().toInternetAddress()); + assertThat(sentMail.getMsg().getFrom()).containsOnly(mail.getSender().toInternetAddress().get()); assertThat(sentMail.getRecipients()).containsOnly(mail.getSender()); } @@ -387,7 +387,7 @@ public class DSNBounceTest { assertThat(sentMails).hasSize(1); SentMail sentMail = sentMails.get(0); - assertThat(sentMail.getMsg().getFrom()).containsOnly(bounceSender.toInternetAddress()); + assertThat(sentMail.getMsg().getFrom()).containsOnly(bounceSender.toInternetAddress().get()); assertThat(sentMail.getRecipients()).containsOnly(mail.getSender()); } } diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/NotifyPostmasterTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/NotifyPostmasterTest.java index 1b713af..8c50ca3 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/NotifyPostmasterTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/NotifyPostmasterTest.java @@ -100,7 +100,7 @@ public class NotifyPostmasterTest { .build(); notifyPostmaster.init(mailetConfig); - assertThat(notifyPostmaster.getTo()).containsOnly(postmaster.toInternetAddress()); + assertThat(notifyPostmaster.getTo()).containsOnly(postmaster.toInternetAddress().get()); } @Test @@ -112,7 +112,7 @@ public class NotifyPostmasterTest { .build(); notifyPostmaster.init(mailetConfig); - assertThat(notifyPostmaster.getTo()).containsOnly(postmaster.toInternetAddress()); + assertThat(notifyPostmaster.getTo()).containsOnly(postmaster.toInternetAddress().get()); } @Test @@ -124,7 +124,7 @@ public class NotifyPostmasterTest { .build(); notifyPostmaster.init(mailetConfig); - assertThat(notifyPostmaster.getTo()).containsOnly(SpecialAddress.UNALTERED.toInternetAddress()); + assertThat(notifyPostmaster.getTo()).containsOnly(SpecialAddress.UNALTERED.toInternetAddress().get()); } @Test @@ -136,7 +136,7 @@ public class NotifyPostmasterTest { .build(); notifyPostmaster.init(mailetConfig); - assertThat(notifyPostmaster.getTo()).containsOnly(postmaster.toInternetAddress()); + assertThat(notifyPostmaster.getTo()).containsOnly(postmaster.toInternetAddress().get()); } @Test diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/NotifySenderTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/NotifySenderTest.java index 72fedfc..665777d 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/NotifySenderTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/NotifySenderTest.java @@ -98,7 +98,7 @@ public class NotifySenderTest { .build(); notifySender.init(mailetConfig); - assertThat(notifySender.getTo()).containsOnly(SpecialAddress.SENDER.toInternetAddress()); + assertThat(notifySender.getTo()).containsOnly(SpecialAddress.SENDER.toInternetAddress().get()); } @Test @@ -110,7 +110,7 @@ public class NotifySenderTest { .build(); notifySender.init(mailetConfig); - assertThat(notifySender.getTo()).containsOnly(SpecialAddress.SENDER.toInternetAddress()); + assertThat(notifySender.getTo()).containsOnly(SpecialAddress.SENDER.toInternetAddress().get()); } @Test @@ -122,7 +122,7 @@ public class NotifySenderTest { .build(); notifySender.init(mailetConfig); - assertThat(notifySender.getTo()).containsOnly(SpecialAddress.UNALTERED.toInternetAddress()); + assertThat(notifySender.getTo()).containsOnly(SpecialAddress.UNALTERED.toInternetAddress().get()); } @Test @@ -134,7 +134,7 @@ public class NotifySenderTest { .build(); notifySender.init(mailetConfig); - assertThat(notifySender.getTo()).containsOnly(SpecialAddress.FROM.toInternetAddress()); + assertThat(notifySender.getTo()).containsOnly(SpecialAddress.FROM.toInternetAddress().get()); } @Test @@ -146,7 +146,7 @@ public class NotifySenderTest { .build(); notifySender.init(mailetConfig); - assertThat(notifySender.getTo()).containsOnly(SpecialAddress.SENDER.toInternetAddress()); + assertThat(notifySender.getTo()).containsOnly(SpecialAddress.SENDER.toInternetAddress().get()); } @Test diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RedirectTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RedirectTest.java index 45fddd6..38a49ff 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RedirectTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RedirectTest.java @@ -20,7 +20,6 @@ package org.apache.james.transport.mailets; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatCode; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -216,7 +215,7 @@ public class RedirectTest { .build(); redirect.init(mailetConfig); - assertThat(redirect.getTo()).containsOnly(postmaster.toInternetAddress()); + assertThat(redirect.getTo()).containsOnly(postmaster.toInternetAddress().get()); } @Test diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/dlp/DlpTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/dlp/DlpTest.java index 79d1668..0f3669b 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/dlp/DlpTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/dlp/DlpTest.java @@ -133,7 +133,7 @@ class DlpTest { .recipient(RECIPIENT1) .mimeMessage(MimeMessageBuilder .mimeMessageBuilder() - .addFrom(ANY_AT_JAMES.toInternetAddress())) + .addFrom(ANY_AT_JAMES.toInternetAddress().get())) .build(); assertThat(dlp.match(mail)).contains(RECIPIENT1); @@ -170,7 +170,7 @@ class DlpTest { .recipient(RECIPIENT1) .mimeMessage(MimeMessageBuilder .mimeMessageBuilder() - .addToRecipient(RECIPIENT2.toInternetAddress())) + .addToRecipient(RECIPIENT2.toInternetAddress().get())) .build(); assertThat(dlp.match(mail)).contains(RECIPIENT1); @@ -190,7 +190,7 @@ class DlpTest { .recipient(RECIPIENT1) .mimeMessage(MimeMessageBuilder .mimeMessageBuilder() - .addCcRecipient(RECIPIENT2.toInternetAddress())) + .addCcRecipient(RECIPIENT2.toInternetAddress().get())) .build(); assertThat(dlp.match(mail)).contains(RECIPIENT1); @@ -210,7 +210,7 @@ class DlpTest { .recipient(RECIPIENT1) .mimeMessage(MimeMessageBuilder .mimeMessageBuilder() - .addBccRecipient(RECIPIENT2.toInternetAddress())) + .addBccRecipient(RECIPIENT2.toInternetAddress().get())) .build(); assertThat(dlp.match(mail)).contains(RECIPIENT1); diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/SpecialAddressesUtilsTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/SpecialAddressesUtilsTest.java index cb8668c..d9c2b05 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/SpecialAddressesUtilsTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/SpecialAddressesUtilsTest.java @@ -294,7 +294,7 @@ public class SpecialAddressesUtilsTest { .sender(sender) .build(); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.SENDER.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.SENDER.toInternetAddress().get())); assertThat(addresses).containsOnly(sender); } @@ -304,9 +304,9 @@ public class SpecialAddressesUtilsTest { MailAddress from = MailAddressFixture.ANY_AT_JAMES; MailAddress from2 = MailAddressFixture.OTHER_AT_JAMES; FakeMail mail = FakeMail.from(MimeMessageBuilder.mimeMessageBuilder() - .addFrom(from.toInternetAddress(), from2.toInternetAddress())); + .addFrom(from.toInternetAddress().get(), from2.toInternetAddress().get())); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.FROM.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.FROM.toInternetAddress().get())); assertThat(addresses).containsOnly(from, from2); } @@ -320,7 +320,7 @@ public class SpecialAddressesUtilsTest { .sender(sender) .build(); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.FROM.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.FROM.toInternetAddress().get())); assertThat(addresses).containsOnly(sender); } @@ -331,7 +331,7 @@ public class SpecialAddressesUtilsTest { .name("name") .build(); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.SENDER.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.SENDER.toInternetAddress().get())); assertThat(addresses).isEmpty(); } @@ -340,7 +340,7 @@ public class SpecialAddressesUtilsTest { void replaceInternetAddressesShouldReturnEmptyWhenAddressesMatchReplyToAndReplyToIsNull() throws Exception { FakeMail mail = FakeMail.from(MimeMessageBuilder.mimeMessageBuilder()); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REPLY_TO.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REPLY_TO.toInternetAddress().get())); assertThat(addresses).isEmpty(); } @@ -354,7 +354,7 @@ public class SpecialAddressesUtilsTest { MailAddress expectedReplyTo = MailAddressFixture.ANY_AT_JAMES; MailAddress expectedReplyTo2 = MailAddressFixture.OTHER_AT_JAMES; - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REPLY_TO.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REPLY_TO.toInternetAddress().get())); assertThat(addresses).containsOnly(expectedReplyTo, expectedReplyTo2); } @@ -368,7 +368,7 @@ public class SpecialAddressesUtilsTest { .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()) .build(); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REPLY_TO.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REPLY_TO.toInternetAddress().get())); assertThat(addresses).containsOnly(sender); } @@ -381,7 +381,7 @@ public class SpecialAddressesUtilsTest { .sender(sender) .build(); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REVERSE_PATH.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REVERSE_PATH.toInternetAddress().get())); assertThat(addresses).containsOnly(sender); } @@ -392,7 +392,7 @@ public class SpecialAddressesUtilsTest { .name("name") .build(); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REVERSE_PATH.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REVERSE_PATH.toInternetAddress().get())); assertThat(addresses).isEmpty(); } @@ -404,7 +404,7 @@ public class SpecialAddressesUtilsTest { FakeMail mail = FakeMail.from(MimeMessageBuilder.mimeMessageBuilder() .addToRecipient(to.asString(), to2.asString())); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.RECIPIENTS.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.RECIPIENTS.toInternetAddress().get())); assertThat(addresses).containsOnly(to, to2); } @@ -416,7 +416,7 @@ public class SpecialAddressesUtilsTest { FakeMail mail = FakeMail.from(MimeMessageBuilder.mimeMessageBuilder() .addToRecipient(to.asString(), to2.asString())); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.TO.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.TO.toInternetAddress().get())); assertThat(addresses).containsOnly(to, to2); } @@ -427,7 +427,7 @@ public class SpecialAddressesUtilsTest { .name("name") .build(); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.UNALTERED.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.UNALTERED.toInternetAddress().get())); assertThat(addresses).isEmpty(); } @@ -438,7 +438,7 @@ public class SpecialAddressesUtilsTest { .name("name") .build(); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.NULL.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.NULL.toInternetAddress().get())); assertThat(addresses).isEmpty(); } @@ -451,7 +451,7 @@ public class SpecialAddressesUtilsTest { MailAddress address = new MailAddress("user", "address.marker"); MailAddress address2 = new MailAddress("user2", "address.marker"); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(address.toInternetAddress(), address2.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(address.toInternetAddress().get(), address2.toInternetAddress().get())); assertThat(addresses).containsOnly(address, address2); } @@ -462,7 +462,7 @@ public class SpecialAddressesUtilsTest { .name("name") .build(); - List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.DELETE.toInternetAddress())); + List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.DELETE.toInternetAddress().get())); MailAddress expected = new MailAddress("[email protected]"); assertThat(addresses).containsOnly(expected); diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/TosUtilsTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/TosUtilsTest.java index c1d3454..52bf692 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/TosUtilsTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/TosUtilsTest.java @@ -61,7 +61,7 @@ class TosUtilsTest { @Test void getToShouldReturnEmptyWhenMailetToContainsOnlyUnaltered() throws Exception { when(mailet.getTo()) - .thenReturn(ImmutableList.of(SpecialAddress.UNALTERED.toInternetAddress())); + .thenReturn(ImmutableList.of(SpecialAddress.UNALTERED.toInternetAddress().get())); FakeMail fakeMail = FakeMail.defaultFakeMail(); @@ -73,7 +73,7 @@ class TosUtilsTest { @Test void getToShouldReturnEmptyWhenMailetToContainsOnlyRecipients() throws Exception { when(mailet.getTo()) - .thenReturn(ImmutableList.of(SpecialAddress.RECIPIENTS.toInternetAddress())); + .thenReturn(ImmutableList.of(SpecialAddress.RECIPIENTS.toInternetAddress().get())); FakeMail fakeMail = FakeMail.defaultFakeMail(); @@ -87,7 +87,7 @@ class TosUtilsTest { MailAddress mailAddress = new MailAddress("test", "james.org"); MailAddress mailAddress2 = new MailAddress("test2", "james.org"); when(mailet.getTo()) - .thenReturn(ImmutableList.of(mailAddress.toInternetAddress(), mailAddress2.toInternetAddress())); + .thenReturn(ImmutableList.of(mailAddress.toInternetAddress().get(), mailAddress2.toInternetAddress().get())); FakeMail fakeMail = FakeMail.defaultFakeMail(); @@ -100,7 +100,7 @@ class TosUtilsTest { @Test void getToShouldReturnAddressesFromOriginalMailWhenMailetToAreSpecialAddresses() throws Exception { when(mailet.getTo()) - .thenReturn(ImmutableList.of(SpecialAddress.FROM.toInternetAddress(), SpecialAddress.TO.toInternetAddress())); + .thenReturn(ImmutableList.of(SpecialAddress.FROM.toInternetAddress().get(), SpecialAddress.TO.toInternetAddress().get())); MailAddress from = new MailAddress("from", "james.org"); MailAddress toMailAddress = new MailAddress("to", "james.org"); diff --git a/server/mailet/mailets/src/test/scala/org/apache/james/transport/mailets/XOriginatingIpInNetworkSpec.scala b/server/mailet/mailets/src/test/scala/org/apache/james/transport/mailets/XOriginatingIpInNetworkSpec.scala index f7dd673..72db56a 100644 --- a/server/mailet/mailets/src/test/scala/org/apache/james/transport/mailets/XOriginatingIpInNetworkSpec.scala +++ b/server/mailet/mailets/src/test/scala/org/apache/james/transport/mailets/XOriginatingIpInNetworkSpec.scala @@ -59,7 +59,7 @@ class XOriginatingIpInNetworkSpec extends Specification with Matchers { .remoteAddr("10.0.0.1") .mimeMessage( MimeMessageBuilder.mimeMessageBuilder() - .addToRecipient(testRecipient.toInternetAddress) + .addToRecipient(testRecipient.toInternetAddress.get()) .addHeader(X_ORIGINATING_IP,"192.168.200.1") .build()) .build @@ -77,7 +77,7 @@ class XOriginatingIpInNetworkSpec extends Specification with Matchers { .remoteAddr("10.0.0.1") .mimeMessage( MimeMessageBuilder.mimeMessageBuilder() - .addToRecipient(testRecipient.toInternetAddress) + .addToRecipient(testRecipient.toInternetAddress.get()) .addHeader(X_ORIGINATING_IP,"[192.168.200.1]") .build()) .build @@ -95,7 +95,7 @@ class XOriginatingIpInNetworkSpec extends Specification with Matchers { .remoteAddr("10.0.0.1") .mimeMessage( MimeMessageBuilder.mimeMessageBuilder() - .addToRecipient(testRecipient.toInternetAddress) + .addToRecipient(testRecipient.toInternetAddress.get()) .addHeader(X_ORIGINATING_IP,"10.0.0.2") .build()) .build @@ -113,7 +113,7 @@ class XOriginatingIpInNetworkSpec extends Specification with Matchers { .remoteAddr("10.0.0.1") .mimeMessage( MimeMessageBuilder.mimeMessageBuilder() - .addToRecipient(testRecipient.toInternetAddress) + .addToRecipient(testRecipient.toInternetAddress.get()) .build()) .build --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
