MAILET-115 Extract isUnalteredOrReversePathOrSender from AbstractRedirect to 
MailAddressesUtils


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ee14bc12
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ee14bc12
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ee14bc12

Branch: refs/heads/master
Commit: ee14bc12d40e874f4dec1a9a98aebf5332a018e9
Parents: 95f1b56
Author: Antoine Duprat <[email protected]>
Authored: Mon Nov 14 16:26:06 2016 +0100
Committer: Benoit Tellier <[email protected]>
Committed: Wed Jan 11 10:03:29 2017 +0700

----------------------------------------------------------------------
 .../james/transport/mailets/Redirect.java       |  2 +-
 .../apache/james/transport/mailets/Resend.java  |  2 +-
 .../mailets/redirect/AbstractRedirect.java      |  6 --
 .../james/transport/util/MailAddressUtils.java  |  7 ++
 .../transport/util/MailAddressUtilsTest.java    | 71 ++++++++++++++++++++
 5 files changed, 80 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/ee14bc12/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Redirect.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Redirect.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Redirect.java
index d64b96c..1de0a9f 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Redirect.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Redirect.java
@@ -399,7 +399,7 @@ public class Redirect extends AbstractRedirect {
     private MailAddress retrieveReversePath() throws MessagingException {
         MailAddress reversePath = getReversePath();
         if (reversePath != null) {
-            if (isUnalteredOrReversePathOrSender(reversePath)) {
+            if 
(MailAddressUtils.isUnalteredOrReversePathOrSender(reversePath)) {
                 return null;
             }
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee14bc12/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java
index 64c3bda..afa41e2 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java
@@ -354,7 +354,7 @@ public class Resend extends AbstractRedirect {
     protected MailAddress getReversePath(Mail originalMail) throws 
MessagingException {
         MailAddress reversePath = getReversePath();
         if (reversePath != null) {
-            if (isUnalteredOrReversePathOrSender(reversePath)) {
+            if 
(MailAddressUtils.isUnalteredOrReversePathOrSender(reversePath)) {
                 return null;
             }
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee14bc12/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AbstractRedirect.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AbstractRedirect.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AbstractRedirect.java
index 3aaa405..97ccdbc 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AbstractRedirect.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AbstractRedirect.java
@@ -357,12 +357,6 @@ public abstract class AbstractRedirect extends 
GenericMailet {
      */
     protected abstract MailAddress getReversePath(Mail originalMail) throws 
MessagingException;
 
-    protected boolean isUnalteredOrReversePathOrSender(MailAddress 
reversePath) {
-        return reversePath.equals(SpecialAddress.UNALTERED)
-                || reversePath.equals(SpecialAddress.REVERSE_PATH)
-                || reversePath.equals(SpecialAddress.SENDER);
-    }
-
     /**
      * Sets the "reverse-path" of <i>newMail</i> to <i>reversePath</i>. If the
      * requested value is <code>SpecialAddress.NULL</code> sets it to "<>". If

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee14bc12/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java
----------------------------------------------------------------------
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 cbd529b..89e1d4a 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
@@ -23,6 +23,7 @@ import java.util.List;
 import javax.mail.internet.AddressException;
 import javax.mail.internet.InternetAddress;
 
+import org.apache.james.transport.mailets.redirect.SpecialAddress;
 import org.apache.mailet.MailAddress;
 
 import com.google.common.base.Function;
@@ -63,4 +64,10 @@ public class MailAddressUtils {
                 }
             });
     }
+
+    public static boolean isUnalteredOrReversePathOrSender(MailAddress 
mailAddress) {
+        return mailAddress.equals(SpecialAddress.UNALTERED) 
+                || mailAddress.equals(SpecialAddress.REVERSE_PATH) 
+                || mailAddress.equals(SpecialAddress.SENDER);
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee14bc12/server/mailet/mailets/src/test/java/org/apache/james/transport/util/MailAddressUtilsTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/MailAddressUtilsTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/MailAddressUtilsTest.java
index 820e1d3..651c19c 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/util/MailAddressUtilsTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/util/MailAddressUtilsTest.java
@@ -24,6 +24,7 @@ import java.util.List;
 
 import javax.mail.internet.InternetAddress;
 
+import org.apache.james.transport.mailets.redirect.SpecialAddress;
 import org.apache.mailet.MailAddress;
 import org.junit.Rule;
 import org.junit.Test;
@@ -98,4 +99,74 @@ public class MailAddressUtilsTest {
 
         assertThat(internetAddresses).containsOnly(new 
InternetAddress("[email protected]"), new InternetAddress("[email protected]"));
     }
+
+    @Test
+    public void 
isUnalteredOrReversePathOrSenderShouldReturnTrueWhenMailAddressIsSpecialUnaltered()
 {
+        boolean unalteredOrReversePathOrSender = 
MailAddressUtils.isUnalteredOrReversePathOrSender(SpecialAddress.UNALTERED);
+
+        assertThat(unalteredOrReversePathOrSender).isTrue();
+    }
+
+    @Test
+    public void 
isUnalteredOrReversePathOrSenderShouldReturnTrueWhenMailAddressIsSpecialReversePath()
 {
+        boolean unalteredOrReversePathOrSender = 
MailAddressUtils.isUnalteredOrReversePathOrSender(SpecialAddress.REVERSE_PATH);
+
+        assertThat(unalteredOrReversePathOrSender).isTrue();
+    }
+
+    @Test
+    public void 
isUnalteredOrReversePathOrSenderShouldReturnTrueWhenMailAddressIsSpecialSender()
 {
+        boolean unalteredOrReversePathOrSender = 
MailAddressUtils.isUnalteredOrReversePathOrSender(SpecialAddress.SENDER);
+
+        assertThat(unalteredOrReversePathOrSender).isTrue();
+    }
+
+    @Test
+    public void 
isUnalteredOrReversePathOrSenderShouldReturnFalseWhenMailAddressIsSpecialDelete()
 {
+        boolean unalteredOrReversePathOrSender = 
MailAddressUtils.isUnalteredOrReversePathOrSender(SpecialAddress.DELETE);
+
+        assertThat(unalteredOrReversePathOrSender).isFalse();
+    }
+
+    @Test
+    public void 
isUnalteredOrReversePathOrSenderShouldReturnFalseWhenMailAddressIsSpecialFrom() 
{
+        boolean unalteredOrReversePathOrSender = 
MailAddressUtils.isUnalteredOrReversePathOrSender(SpecialAddress.FROM);
+
+        assertThat(unalteredOrReversePathOrSender).isFalse();
+    }
+
+    @Test
+    public void 
isUnalteredOrReversePathOrSenderShouldReturnFalseWhenMailAddressIsSpecialNull() 
{
+        boolean unalteredOrReversePathOrSender = 
MailAddressUtils.isUnalteredOrReversePathOrSender(SpecialAddress.NULL);
+
+        assertThat(unalteredOrReversePathOrSender).isFalse();
+    }
+
+    @Test
+    public void 
isUnalteredOrReversePathOrSenderShouldReturnFalseWhenMailAddressIsSpecialRecipients()
 {
+        boolean unalteredOrReversePathOrSender = 
MailAddressUtils.isUnalteredOrReversePathOrSender(SpecialAddress.RECIPIENTS);
+
+        assertThat(unalteredOrReversePathOrSender).isFalse();
+    }
+
+    @Test
+    public void 
isUnalteredOrReversePathOrSenderShouldReturnFalseWhenMailAddressIsSpecialReplyTo()
 {
+        boolean unalteredOrReversePathOrSender = 
MailAddressUtils.isUnalteredOrReversePathOrSender(SpecialAddress.REPLY_TO);
+
+        assertThat(unalteredOrReversePathOrSender).isFalse();
+    }
+
+    @Test
+    public void 
isUnalteredOrReversePathOrSenderShouldReturnFalseWhenMailAddressIsSpecialTo() {
+        boolean unalteredOrReversePathOrSender = 
MailAddressUtils.isUnalteredOrReversePathOrSender(SpecialAddress.TO);
+
+        assertThat(unalteredOrReversePathOrSender).isFalse();
+    }
+
+    @Test
+    public void 
isUnalteredOrReversePathOrSenderShouldReturnFalseWhenMailAddressIsNotSpecial() 
throws Exception {
+        boolean unalteredOrReversePathOrSender = 
MailAddressUtils.isUnalteredOrReversePathOrSender(new MailAddress("common", 
"james.org"));
+
+        assertThat(unalteredOrReversePathOrSender).isFalse();
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to