You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2016/08/30 18:01:36 UTC

[01/10] james-project git commit: MAILET-113 IsSingleRecipientTest should match our coding conventions

Repository: james-project
Updated Branches:
  refs/heads/master 094d62776 -> 54f3bf313


MAILET-113 IsSingleRecipientTest should match our coding conventions


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

Branch: refs/heads/master
Commit: 284424dedf74be6575bd3256d8ad015d2e09ff78
Parents: 094d627
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Aug 17 14:26:12 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Aug 31 00:55:56 2016 +0700

----------------------------------------------------------------------
 .../matchers/IsSingleRecipientTest.java         | 61 +++++++-------------
 1 file changed, 21 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/284424de/mailet/standard/src/test/java/org/apache/james/transport/matchers/IsSingleRecipientTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/IsSingleRecipientTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/IsSingleRecipientTest.java
index 19b0a54..9fc7f83 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/IsSingleRecipientTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/IsSingleRecipientTest.java
@@ -20,8 +20,7 @@
 
 package org.apache.james.transport.matchers;
 
-import java.util.Arrays;
-import java.util.Collection;
+import static org.assertj.core.api.Assertions.assertThat;
 
 import javax.mail.MessagingException;
 
@@ -30,62 +29,44 @@ import org.apache.mailet.Matcher;
 import org.apache.mailet.base.test.FakeMail;
 import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMatcherConfig;
-import org.junit.Assert;
+import org.junit.Before;
 import org.junit.Test;
 
 public class IsSingleRecipientTest {
 
-    private FakeMail mockedMail;
-
     private Matcher matcher;
+    private MailAddress mailAddress1;
+    private MailAddress mailAddress2;
 
-    private MailAddress[] recipients;
+    @Before
+    public void setUp() throws MessagingException {
+        matcher = new IsSingleRecipient();
+        FakeMatcherConfig matcherConfig = new FakeMatcherConfig("IsSingleRecipient", FakeMailContext.defaultContext());
+        matcher.init(matcherConfig);
 
-    private void setRecipients(MailAddress[] recipients) {
-        this.recipients = recipients;
+        mailAddress1 = new MailAddress("test@james.apache.org");
+        mailAddress2 = new MailAddress("test2@james.apache.org");
     }
 
-    private void setupMockedMail() {
-        mockedMail = new FakeMail();
-        mockedMail.setRecipients(Arrays.asList(recipients));
+    @Test
+    public void matchShouldMatchOneRecipientsEmails() throws MessagingException {
+        FakeMail fakeMail = FakeMail.builder().recipient(mailAddress1).build();
 
+        assertThat(matcher.match(fakeMail)).containsExactly(mailAddress1);
     }
 
-    private void setupMatcher() throws MessagingException {
-
-        matcher = new IsSingleRecipient();
-        FakeMatcherConfig mci = new FakeMatcherConfig("IsSingleRecipient",
-                FakeMailContext.defaultContext());
-        matcher.init(mci);
-    }
-
-    // test if matched
     @Test
-    public void testHostIsMatchedAllRecipients() throws MessagingException {
-        setRecipients(new MailAddress[]{new MailAddress(
-                "test@james.apache.org")});
-
-        setupMockedMail();
-        setupMatcher();
-
-        Collection<MailAddress> matchedRecipients = matcher.match(mockedMail);
+    public void matchShouldNotMatchMultiRecipientsEMail() throws MessagingException {
+        FakeMail fakeMail = FakeMail.builder().recipients(mailAddress1, mailAddress2).build();
 
-        Assert.assertNotNull(matchedRecipients);
+        assertThat(matcher.match(fakeMail)).isNull();
     }
 
-    // test if not matched
     @Test
-    public void testHostIsMatchedOneRecipient() throws MessagingException {
-        setRecipients(new MailAddress[]{
-                new MailAddress("test@james2.apache.org"),
-                new MailAddress("test2@james.apache.org")});
-
-        setupMockedMail();
-        setupMatcher();
-
-        Collection<MailAddress> matchedRecipients = matcher.match(mockedMail);
+    public void matchShouldNotMatchMailWithNotRecipients() throws MessagingException {
+        FakeMail fakeMail = FakeMail.builder().build();
 
-        Assert.assertNull(matchedRecipients);
+        assertThat(matcher.match(fakeMail)).isNull();
     }
 
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[09/10] james-project git commit: JAMES-1773 Documenting that limit should be strictly positive for SizeGreaterThan

Posted by bt...@apache.org.
JAMES-1773 Documenting that limit should be strictly positive for SizeGreaterThan


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

Branch: refs/heads/master
Commit: 54f3bf313b1952f3c4c4fb6445e402cd75b69305
Parents: 7fadba1
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Aug 17 12:44:42 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Aug 31 00:59:27 2016 +0700

----------------------------------------------------------------------
 server/src/site/xdoc/dev-provided-matchers.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/54f3bf31/server/src/site/xdoc/dev-provided-matchers.xml
----------------------------------------------------------------------
diff --git a/server/src/site/xdoc/dev-provided-matchers.xml b/server/src/site/xdoc/dev-provided-matchers.xml
index 6818062..ffbe625 100644
--- a/server/src/site/xdoc/dev-provided-matchers.xml
+++ b/server/src/site/xdoc/dev-provided-matchers.xml
@@ -335,7 +335,7 @@
 
             <subsection name="SizeGreaterThan">
                 <p>Description: Matches emails with a total message size (headers and body) greater than the specified limit.
-                    All recipients are returned.</p>
+                    All recipients are returned. Specified limit should be strictly positive.</p>
                 <p>Configuration string: a positive integer followed by an 'm' or a 'k'.  This is the maximum message size permitted
                     specified in megabytes or kilobytes respectively.
                     <pre><code>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[08/10] james-project git commit: JAMES-1773 Propose missing tests (handling units)

Posted by bt...@apache.org.
JAMES-1773 Propose missing tests (handling units)


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

Branch: refs/heads/master
Commit: 7fadba1e6cbf1812babd3e3e942d59783aca8018
Parents: d77682f
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Aug 17 12:41:17 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Aug 31 00:59:27 2016 +0700

----------------------------------------------------------------------
 .../transport/matchers/SizeGreaterThanTest.java | 37 +++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7fadba1e/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
index 3f4f805..22ac107 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
@@ -17,7 +17,6 @@
  * under the License.                                           *
  ****************************************************************/
 
-
 package org.apache.james.transport.matchers;
 
 import static org.assertj.core.api.Assertions.assertThat;
@@ -73,6 +72,42 @@ public class SizeGreaterThanTest {
     }
 
     @Test
+    public void matchShouldNotMatchMailsWithSpecifiedSize() throws MessagingException {
+        fakeMail.setMessageSize(1024);
+        FakeMatcherConfig matcherConfiguration = new FakeMatcherConfig("SizeGreaterThan=1k", FakeMailContext.defaultContext());
+        matcher.init(matcherConfiguration);
+
+        assertThat(matcher.match(fakeMail)).isNull();
+    }
+
+    @Test
+    public void matchShouldMatchMailsWithSizeSuperiorToSpecifiedSize() throws MessagingException {
+        fakeMail.setMessageSize(1025);
+        FakeMatcherConfig matcherConfiguration = new FakeMatcherConfig("SizeGreaterThan=1k", FakeMailContext.defaultContext());
+        matcher.init(matcherConfiguration);
+
+        assertThat(matcher.match(fakeMail)).containsExactly(mailAddress);
+    }
+
+    @Test
+    public void matchShouldReturnNullWhenUnderLimitNoUnit() throws MessagingException {
+        fakeMail.setMessageSize(4);
+        FakeMatcherConfig matcherConfiguration = new FakeMatcherConfig("SizeGreaterThan=4", FakeMailContext.defaultContext());
+        matcher.init(matcherConfiguration);
+
+        assertThat(matcher.match(fakeMail)).isNull();
+    }
+
+    @Test
+    public void matchShouldMatchOverLimitWhenNoUnit() throws MessagingException {
+        fakeMail.setMessageSize(5);
+        FakeMatcherConfig matcherConfiguration = new FakeMatcherConfig("SizeGreaterThan=4", FakeMailContext.defaultContext());
+        matcher.init(matcherConfiguration);
+
+        assertThat(matcher.match(fakeMail)).containsExactly(mailAddress);
+    }
+
+    @Test
     public void initShouldThrowOnInvalidUnits() throws Exception {
         expectedException.expect(MessagingException.class);
         FakeMatcherConfig matcherConfiguration = new FakeMatcherConfig("SizeGreaterThan=1mb", FakeMailContext.defaultContext());


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[05/10] james-project git commit: MAILET-112 Give possibility to set message of FakeMail from a MimeMessage

Posted by bt...@apache.org.
MAILET-112 Give possibility to set message of FakeMail from a MimeMessage


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

Branch: refs/heads/master
Commit: a5195b34a5f7c2754a98bd3690da184c9062fc61
Parents: 284424d
Author: Benoit Tellier <bt...@linagora.com>
Authored: Tue Aug 30 12:02:05 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Aug 31 00:59:27 2016 +0700

----------------------------------------------------------------------
 .../test/java/org/apache/mailet/base/test/FakeMail.java  | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/a5195b34/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMail.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMail.java b/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMail.java
index 31f0ebb..12b0a7c 100644
--- a/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMail.java
+++ b/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMail.java
@@ -40,6 +40,7 @@ import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 
 import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 
 public class FakeMail implements Mail {
@@ -62,6 +63,7 @@ public class FakeMail implements Mail {
     public static class Builder {
 
         private Optional<String> fileName = Optional.absent();
+        private Optional<MimeMessage> mimeMessage = Optional.absent();
         private List<MailAddress> recipients = new ArrayList<MailAddress>();
         private MailAddress sender;
 
@@ -70,6 +72,11 @@ public class FakeMail implements Mail {
             return this;
         }
 
+        public Builder mimeMessage(MimeMessage mimeMessage) {
+            this.mimeMessage = Optional.of(mimeMessage);
+            return this;
+        }
+
         public Builder recipients(List<MailAddress> recipients) {
             this.recipients.addAll(recipients);
             return this;
@@ -91,10 +98,14 @@ public class FakeMail implements Mail {
         }
 
         public FakeMail build() throws MessagingException {
+            Preconditions.checkState(!(fileName.isPresent() && mimeMessage.isPresent()), "You can not specify a MimeMessage object when you alredy set Content from a file");
             FakeMail mail = new FakeMail();
             if (fileName.isPresent()) {
                 mail.setMessage(new MimeMessage(Session.getInstance(new Properties()), ClassLoader.getSystemResourceAsStream(fileName.get())));
             }
+            if (mimeMessage.isPresent()) {
+                mail.setMessage(mimeMessage.get());
+            }
             mail.setSender(sender);
             mail.setRecipients(recipients);
             return mail;


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[03/10] james-project git commit: MAILET-112 FetchFromTest should test non matching headers are not removed

Posted by bt...@apache.org.
MAILET-112 FetchFromTest should test non matching headers are not removed


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

Branch: refs/heads/master
Commit: b10e5d06bb139b85d2c6320205fdf699688c8b30
Parents: 2c4a612
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Aug 17 13:30:17 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Aug 31 00:59:27 2016 +0700

----------------------------------------------------------------------
 .../james/transport/matchers/FetchedFromTest.java       | 12 ++++++++++++
 1 file changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/b10e5d06/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
index a0e8a7b..7a6fd47 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
@@ -86,4 +86,16 @@ public class FetchedFromTest {
 
         assertThat(fakeMail.getMessage().getHeader(FETCH_FROM_HEADER)).isNull();
     }
+
+    @Test
+    public void matchShouldNotRemoveNonMatchingHeaders() throws MessagingException {
+        FakeMail fakeMail = FakeMail.builder()
+            .recipients(mailAddress1, mailAddress2)
+            .mimeMessage(MailUtil.createMimeMessage(FETCH_FROM_HEADER, WRONG_HEADER_VALUE))
+            .build();
+
+        matcher.match(fakeMail);
+
+        assertThat(fakeMail.getMessage().getHeader(FETCH_FROM_HEADER)).containsExactly(WRONG_HEADER_VALUE);
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[04/10] james-project git commit: MAILET-112 Remove redundant comments

Posted by bt...@apache.org.
MAILET-112 Remove redundant comments


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

Branch: refs/heads/master
Commit: fc5e13af9cc4906151fc77f853a66be4f1759ff0
Parents: ef9f4a9
Author: Benoit Tellier <bt...@linagora.com>
Authored: Tue Aug 30 17:36:56 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Aug 31 00:59:27 2016 +0700

----------------------------------------------------------------------
 .../org/apache/james/transport/matchers/FetchedFromTest.java     | 4 ----
 1 file changed, 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/fc5e13af/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
index faeb337..6250162 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
@@ -17,7 +17,6 @@
  * under the License.                                           *
  ****************************************************************/
 
-
 package org.apache.james.transport.matchers;
 
 import static org.assertj.core.api.Assertions.assertThat;
@@ -51,7 +50,6 @@ public class FetchedFromTest {
         mailAddress2 = new MailAddress("you@apache.org");
     }
 
-    // test if the Header was matched
     @Test
     public void matchShouldReturnMatchWhenFetchFromHeaderHoldsRightValue() throws MessagingException {
         FakeMail fakeMail = FakeMail.builder()
@@ -62,7 +60,6 @@ public class FetchedFromTest {
         assertThat(matcher.match(fakeMail)).containsExactly(mailAddress1, mailAddress2);
     }
 
-    // test if the Header was not matched
     @Test
     public void matchShouldReturnNotMatchWhenFetchFromHeaderHoldsWrongValue() throws MessagingException {
         FakeMail fakeMail = FakeMail.builder()
@@ -73,7 +70,6 @@ public class FetchedFromTest {
         assertThat(matcher.match(fakeMail)).isNull();
     }
 
-    // test if the Header was removed after matched
     @Test
     public void matchShouldRemoveMatchingHeaders() throws MessagingException {
         FakeMail fakeMail = FakeMail.builder()


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[06/10] james-project git commit: MAILET-112 Improve FetchedFrom

Posted by bt...@apache.org.
MAILET-112 Improve FetchedFrom

 - Use Guava's equals
 - Use constant for header name


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

Branch: refs/heads/master
Commit: ef9f4a9e4c17a565926a02b2ff30dec8e31b0898
Parents: b10e5d0
Author: Benoit Tellier <bt...@linagora.com>
Authored: Tue Aug 30 12:16:01 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Aug 31 00:59:27 2016 +0700

----------------------------------------------------------------------
 .../james/transport/matchers/FetchedFrom.java      | 17 +++++++----------
 .../james/transport/matchers/FetchedFromTest.java  | 13 ++++++-------
 2 files changed, 13 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/ef9f4a9e/mailet/standard/src/main/java/org/apache/james/transport/matchers/FetchedFrom.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/FetchedFrom.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/FetchedFrom.java
index 3ef395e..6b707f3 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/FetchedFrom.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/FetchedFrom.java
@@ -17,8 +17,6 @@
  * under the License.                                           *
  ****************************************************************/
 
-
-
 package org.apache.james.transport.matchers;
 
 import org.apache.mailet.base.GenericMatcher;
@@ -28,6 +26,8 @@ import org.apache.mailet.MailAddress;
 import javax.mail.internet.MimeMessage;
 import java.util.Collection;
 
+import com.google.common.base.Objects;
+
 /**
  * Matches mail with a header set by Fetchpop X-fetched-from <br>
  * fetchpop sets X-fetched-by to the "name" of the fetchpop fetch task.<br>
@@ -38,17 +38,14 @@ import java.util.Collection;
  */
 
 public class FetchedFrom extends GenericMatcher {
-    
 
-    /*
-     * (non-Javadoc)
-     * @see org.apache.mailet.base.GenericMatcher#match(org.apache.mailet.Mail)
-     */
+    public static final String X_FETCHED_FROM = "X-fetched-from";
+
     public Collection<MailAddress> match(Mail mail) throws javax.mail.MessagingException {
         MimeMessage message = mail.getMessage();
-        String fetch = message.getHeader("X-fetched-from", null);
-        if (fetch != null && fetch.equals(getCondition())) {
-            mail.getMessage().removeHeader("X-fetched-from");
+        String fetchHeaderValue = message.getHeader(X_FETCHED_FROM, null);
+        if (Objects.equal(fetchHeaderValue, getCondition())) {
+            mail.getMessage().removeHeader(X_FETCHED_FROM);
             return mail.getRecipients();
         }
         return null;

http://git-wip-us.apache.org/repos/asf/james-project/blob/ef9f4a9e/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
index 7a6fd47..faeb337 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
@@ -34,7 +34,6 @@ import org.junit.Before;
 import org.junit.Test;
 
 public class FetchedFromTest {
-    private static final String FETCH_FROM_HEADER = "X-fetched-from";
     private static final String EXPECTED_HEADER_VALUE = "james-user";
     private static final String WRONG_HEADER_VALUE = "defaultHeaderValue";
 
@@ -57,7 +56,7 @@ public class FetchedFromTest {
     public void matchShouldReturnMatchWhenFetchFromHeaderHoldsRightValue() throws MessagingException {
         FakeMail fakeMail = FakeMail.builder()
             .recipients(mailAddress1, mailAddress2)
-            .mimeMessage(MailUtil.createMimeMessage(FETCH_FROM_HEADER, EXPECTED_HEADER_VALUE))
+            .mimeMessage(MailUtil.createMimeMessage(FetchedFrom.X_FETCHED_FROM, EXPECTED_HEADER_VALUE))
             .build();
 
         assertThat(matcher.match(fakeMail)).containsExactly(mailAddress1, mailAddress2);
@@ -68,7 +67,7 @@ public class FetchedFromTest {
     public void matchShouldReturnNotMatchWhenFetchFromHeaderHoldsWrongValue() throws MessagingException {
         FakeMail fakeMail = FakeMail.builder()
             .recipients(mailAddress1, mailAddress2)
-            .mimeMessage(MailUtil.createMimeMessage(FETCH_FROM_HEADER, WRONG_HEADER_VALUE))
+            .mimeMessage(MailUtil.createMimeMessage(FetchedFrom.X_FETCHED_FROM, WRONG_HEADER_VALUE))
             .build();
 
         assertThat(matcher.match(fakeMail)).isNull();
@@ -79,23 +78,23 @@ public class FetchedFromTest {
     public void matchShouldRemoveMatchingHeaders() throws MessagingException {
         FakeMail fakeMail = FakeMail.builder()
             .recipients(mailAddress1, mailAddress2)
-            .mimeMessage(MailUtil.createMimeMessage(FETCH_FROM_HEADER, EXPECTED_HEADER_VALUE))
+            .mimeMessage(MailUtil.createMimeMessage(FetchedFrom.X_FETCHED_FROM, EXPECTED_HEADER_VALUE))
             .build();
 
         matcher.match(fakeMail);
 
-        assertThat(fakeMail.getMessage().getHeader(FETCH_FROM_HEADER)).isNull();
+        assertThat(fakeMail.getMessage().getHeader(FetchedFrom.X_FETCHED_FROM)).isNull();
     }
 
     @Test
     public void matchShouldNotRemoveNonMatchingHeaders() throws MessagingException {
         FakeMail fakeMail = FakeMail.builder()
             .recipients(mailAddress1, mailAddress2)
-            .mimeMessage(MailUtil.createMimeMessage(FETCH_FROM_HEADER, WRONG_HEADER_VALUE))
+            .mimeMessage(MailUtil.createMimeMessage(FetchedFrom.X_FETCHED_FROM, WRONG_HEADER_VALUE))
             .build();
 
         matcher.match(fakeMail);
 
-        assertThat(fakeMail.getMessage().getHeader(FETCH_FROM_HEADER)).containsExactly(WRONG_HEADER_VALUE);
+        assertThat(fakeMail.getMessage().getHeader(FetchedFrom.X_FETCHED_FROM)).containsExactly(WRONG_HEADER_VALUE);
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[10/10] james-project git commit: JAMES-1773 SizeGreaterThan matcher test should match our coding conventions

Posted by bt...@apache.org.
JAMES-1773 SizeGreaterThan matcher test should match our coding conventions


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

Branch: refs/heads/master
Commit: 6b46cdf394f9180dad4d3d5b77684277aca0b282
Parents: fc5e13a
Author: Benoit Tellier <bt...@linagora.com>
Authored: Mon Aug 29 13:09:00 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Aug 31 00:59:27 2016 +0700

----------------------------------------------------------------------
 .../transport/matchers/SizeGreaterThanTest.java | 68 +++++++++-----------
 1 file changed, 30 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/6b46cdf3/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
index 230aac2..b197eff 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
@@ -20,70 +20,62 @@
 
 package org.apache.james.transport.matchers;
 
-import java.util.Arrays;
-import java.util.Collection;
+import static org.assertj.core.api.Assertions.assertThat;
 
 import javax.mail.MessagingException;
-import javax.mail.internet.ParseException;
 
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.Matcher;
 import org.apache.mailet.base.test.FakeMail;
 import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMatcherConfig;
-import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import com.google.common.collect.ImmutableList;
 
 public class SizeGreaterThanTest {
 
-    private FakeMail mockedMail;
+    @Rule
+    public ExpectedException expectedException = ExpectedException.none();
 
+    private FakeMail fakeMail;
     private Matcher matcher;
+    private MailAddress mailAddress;
 
-    private void setupMockedMail(long size) throws ParseException {
-        mockedMail = new FakeMail();
-        mockedMail.setMessageSize(size);
-        mockedMail.setRecipients(Arrays.asList(new MailAddress("test@email")));
-
-    }
-
-    private void setupMatcher(String size) throws MessagingException {
+    @Before
+    public void setUp() throws Exception {
         matcher = new SizeGreaterThan();
-        FakeMatcherConfig mci = new FakeMatcherConfig("SizeGreaterThan=" + size,
-                FakeMailContext.defaultContext());
-        matcher.init(mci);
-    }
 
+        fakeMail = new FakeMail();
+        mailAddress = new MailAddress("test@email");
+        fakeMail.setRecipients(ImmutableList.of(mailAddress));
+    }
 
     @Test
-    public void testSizeGreater() throws MessagingException {
-        setupMockedMail(2000000);
-        setupMatcher("1m");
+    public void matchShouldMatchWhenMailAboveSize() throws MessagingException {
+        fakeMail.setMessageSize(2000000);
+        FakeMatcherConfig matcherConfiguration = new FakeMatcherConfig("SizeGreaterThan=1m", FakeMailContext.defaultContext());
+        matcher.init(matcherConfiguration);
 
-        Collection<MailAddress> matchedRecipients = matcher.match(mockedMail);
-
-        Assert.assertNotNull(matchedRecipients);
-        Assert.assertEquals(matchedRecipients.size(), mockedMail.getRecipients().size());
+        assertThat(matcher.match(fakeMail)).containsExactly(mailAddress);
     }
 
     @Test
-    public void testSizeNotGreater() throws MessagingException {
-        setupMockedMail(200000);
-        setupMatcher("1m");
-
-        Collection<MailAddress> matchedRecipients = matcher.match(mockedMail);
+    public void matchShouldNotMatchWhenMailUnderSize() throws MessagingException {
+        fakeMail.setMessageSize(200000);
+        FakeMatcherConfig matcherConfiguration = new FakeMatcherConfig("SizeGreaterThan=1m", FakeMailContext.defaultContext());
+        matcher.init(matcherConfiguration);
 
-        Assert.assertNull(matchedRecipients);
+        assertThat(matcher.match(fakeMail)).isNull();
     }
 
     @Test
-    public void testThrowExceptionOnInvalidAmount() {
-        boolean exception = false;
-        try {
-            setupMatcher("1mb");
-        } catch (MessagingException e) {
-            exception = true;
-        }
-        Assert.assertTrue("Exception thrown", exception);
+    public void initShouldThrowOnInvalidUnits() throws Exception {
+        expectedException.expect(MessagingException.class);
+        FakeMatcherConfig matcherConfiguration = new FakeMatcherConfig("SizeGreaterThan=1mb", FakeMailContext.defaultContext());
+        matcher.init(matcherConfiguration);
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[07/10] james-project git commit: MAILET-112 FetchFromTest should match our coding conventions

Posted by bt...@apache.org.
MAILET-112 FetchFromTest should match our coding conventions


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

Branch: refs/heads/master
Commit: 2c4a612c77635e95cd8197757720f3e2964bce30
Parents: a5195b3
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Aug 17 13:28:02 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Aug 31 00:59:27 2016 +0700

----------------------------------------------------------------------
 .../transport/matchers/FetchedFromTest.java     | 103 ++++++-------------
 1 file changed, 34 insertions(+), 69 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/2c4a612c/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
index 91a4827..a0e8a7b 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/FetchedFromTest.java
@@ -20,11 +20,9 @@
 
 package org.apache.james.transport.matchers;
 
-import java.util.Collection;
+import static org.assertj.core.api.Assertions.assertThat;
 
 import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.ParseException;
 
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.Matcher;
@@ -32,93 +30,60 @@ import org.apache.mailet.base.test.FakeMail;
 import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMatcherConfig;
 import org.apache.mailet.base.test.MailUtil;
-import org.junit.Assert;
+import org.junit.Before;
 import org.junit.Test;
 
 public class FetchedFromTest {
-
-    private MimeMessage mockedMimeMessage;
-
-    private FakeMail mockedMail;
+    private static final String FETCH_FROM_HEADER = "X-fetched-from";
+    private static final String EXPECTED_HEADER_VALUE = "james-user";
+    private static final String WRONG_HEADER_VALUE = "defaultHeaderValue";
 
     private Matcher matcher;
+    private MailAddress mailAddress1;
+    private MailAddress mailAddress2;
 
-    private final String HEADER_NAME = "X-fetched-from";
-
-    private final String HEADER_VALUE = "james-user";
-
-    private String headerName = "defaultHeaderName";
-
-    private String headerValue = "defaultHeaderValue";
-
-    private void setHeaderName(String headerName) {
-        this.headerName = headerName;
-    }
-
-    private void setHeaderValue(String headerValue) {
-        this.headerValue = headerValue;
-    }
-
-    private void setupMockedMimeMessage() throws MessagingException {
-        mockedMimeMessage = MailUtil.createMimeMessage(headerName, headerValue);
-    }
-
-    private void setupMockedMail(MimeMessage m) throws ParseException {
-        mockedMail = MailUtil.createMockMail2Recipients(m);
-    }
-
-    private void setupMatcher() throws MessagingException {
-        setupMockedMimeMessage();
+    @Before
+    public void setUp() throws MessagingException {
         matcher = new FetchedFrom();
-        FakeMatcherConfig mci = new FakeMatcherConfig("FetchedFrom="
-                + HEADER_VALUE, FakeMailContext.defaultContext());
-        matcher.init(mci);
+        FakeMatcherConfig matcherConfig = new FakeMatcherConfig("FetchedFrom=" + EXPECTED_HEADER_VALUE, FakeMailContext.defaultContext());
+        matcher.init(matcherConfig);
+
+        mailAddress1 = new MailAddress("me@apache.org");
+        mailAddress2 = new MailAddress("you@apache.org");
     }
 
     // test if the Header was matched
     @Test
-    public void testHeaderIsMatched() throws MessagingException {
-        setHeaderName(HEADER_NAME);
-        setHeaderValue(HEADER_VALUE);
-
-        setupMockedMimeMessage();
-        setupMockedMail(mockedMimeMessage);
-        setupMatcher();
-
-        Collection<MailAddress> matchedRecipients = matcher.match(mockedMail);
-        Assert.assertNotNull(matchedRecipients);
-        Assert.assertEquals(matchedRecipients.size(), mockedMail.getRecipients()
-                .size());
+    public void matchShouldReturnMatchWhenFetchFromHeaderHoldsRightValue() throws MessagingException {
+        FakeMail fakeMail = FakeMail.builder()
+            .recipients(mailAddress1, mailAddress2)
+            .mimeMessage(MailUtil.createMimeMessage(FETCH_FROM_HEADER, EXPECTED_HEADER_VALUE))
+            .build();
+
+        assertThat(matcher.match(fakeMail)).containsExactly(mailAddress1, mailAddress2);
     }
 
     // test if the Header was not matched
     @Test
-    public void testHeaderIsNotMatched() throws MessagingException {
-        setHeaderName(HEADER_NAME);
-        setHeaderValue(headerValue);
+    public void matchShouldReturnNotMatchWhenFetchFromHeaderHoldsWrongValue() throws MessagingException {
+        FakeMail fakeMail = FakeMail.builder()
+            .recipients(mailAddress1, mailAddress2)
+            .mimeMessage(MailUtil.createMimeMessage(FETCH_FROM_HEADER, WRONG_HEADER_VALUE))
+            .build();
 
-        setupMockedMimeMessage();
-        setupMockedMail(mockedMimeMessage);
-        setupMatcher();
-
-        Collection<MailAddress> matchedRecipients = matcher.match(mockedMail);
-        Assert.assertNull(matchedRecipients);
+        assertThat(matcher.match(fakeMail)).isNull();
     }
 
     // test if the Header was removed after matched
     @Test
-    public void testHeaderWasRemovedAfterMatched() throws MessagingException {
-        setHeaderName(HEADER_NAME);
-        setHeaderValue(HEADER_VALUE);
-
-        setupMockedMimeMessage();
-        setupMockedMail(mockedMimeMessage);
-        setupMatcher();
+    public void matchShouldRemoveMatchingHeaders() throws MessagingException {
+        FakeMail fakeMail = FakeMail.builder()
+            .recipients(mailAddress1, mailAddress2)
+            .mimeMessage(MailUtil.createMimeMessage(FETCH_FROM_HEADER, EXPECTED_HEADER_VALUE))
+            .build();
 
-        Collection<MailAddress> matchedRecipients = matcher.match(mockedMail);
-        Collection<MailAddress> matchedRecipients2 = matcher.match(mockedMail);
+        matcher.match(fakeMail);
 
-        Assert.assertNotNull(matchedRecipients);
-        Assert.assertNull(matchedRecipients2);
+        assertThat(fakeMail.getMessage().getHeader(FETCH_FROM_HEADER)).isNull();
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[02/10] james-project git commit: JAMES-1773 SizeGreaterThan should not accept negative or null size

Posted by bt...@apache.org.
JAMES-1773 SizeGreaterThan should not accept negative or null size


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

Branch: refs/heads/master
Commit: d77682f31b88a27f675daadbd57be2ada8a7dc10
Parents: 6b46cdf
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Aug 17 12:36:07 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Aug 31 00:59:27 2016 +0700

----------------------------------------------------------------------
 .../james/transport/matchers/SizeGreaterThan.java       |  3 +++
 .../james/transport/matchers/SizeGreaterThanTest.java   | 12 ++++++++++++
 2 files changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/d77682f3/mailet/standard/src/main/java/org/apache/james/transport/matchers/SizeGreaterThan.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/SizeGreaterThan.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/SizeGreaterThan.java
index 1ab8943..78175f3 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/SizeGreaterThan.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/SizeGreaterThan.java
@@ -65,6 +65,9 @@ public class SizeGreaterThan extends GenericMatcher {
         } catch (NumberFormatException e) {
             throw new MessagingException("Invalid amount: " + amount);
         }
+        if (cutoff < 1) {
+            throw new MessagingException("Amount should be strictly superior to 0");
+        }
     }
 
     /*

http://git-wip-us.apache.org/repos/asf/james-project/blob/d77682f3/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
index b197eff..3f4f805 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SizeGreaterThanTest.java
@@ -78,4 +78,16 @@ public class SizeGreaterThanTest {
         FakeMatcherConfig matcherConfiguration = new FakeMatcherConfig("SizeGreaterThan=1mb", FakeMailContext.defaultContext());
         matcher.init(matcherConfiguration);
     }
+
+    @Test(expected = MessagingException.class)
+    public void initShouldThrowOnNullSize() throws Exception {
+        FakeMatcherConfig matcherConfiguration = new FakeMatcherConfig("SizeGreaterThan=0", FakeMailContext.defaultContext());
+        matcher.init(matcherConfiguration);
+    }
+
+    @Test(expected = MessagingException.class)
+    public void initShouldThrowOnNegativeSize() throws Exception {
+        FakeMatcherConfig matcherConfiguration = new FakeMatcherConfig("SizeGreaterThan=-1", FakeMailContext.defaultContext());
+        matcher.init(matcherConfiguration);
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org