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