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 ro...@apache.org on 2016/09/20 09:24:37 UTC
[1/3] james-project git commit: MAILET-102 upgrade Null mailet and
tests to modern standards
Repository: james-project
Updated Branches:
refs/heads/master 3a8592d67 -> 12eb738de
MAILET-102 upgrade Null mailet and tests to modern standards
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0ef78d64
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0ef78d64
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0ef78d64
Branch: refs/heads/master
Commit: 0ef78d6420f4a10f317b1cbd8232458f3094ae86
Parents: 3a8592d
Author: Matthieu Baechler <ma...@linagora.com>
Authored: Thu Aug 25 15:53:29 2016 +0200
Committer: Matthieu Baechler <ma...@linagora.com>
Committed: Tue Sep 20 09:12:09 2016 +0200
----------------------------------------------------------------------
.../apache/james/transport/mailets/Null.java | 17 ++-----
.../james/transport/mailets/NullTest.java | 49 ++++++--------------
2 files changed, 17 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/0ef78d64/mailet/standard/src/main/java/org/apache/james/transport/mailets/Null.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/Null.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/Null.java
index 176d2a3..7f25514 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/Null.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/Null.java
@@ -25,26 +25,17 @@ import org.apache.mailet.base.GenericMailet;
import org.apache.mailet.Mail;
/**
- * Simplest Mailet which destroys any incoming messages.
- *
+ * Simplest Mailet which destroys any incoming messages
+ * by setting their state to GHOST
*/
public class Null extends GenericMailet {
- /**
- * Set this mail to GHOST state, indicating that no further processing
- * should take place.
- *
- * @param mail the mail to process
- */
+ @Override
public void service(Mail mail) {
mail.setState(Mail.GHOST);
}
- /**
- * Return a string describing this mailet.
- *
- * @return a string describing this mailet
- */
+ @Override
public String getMailetInfo() {
return "Null Mailet";
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/0ef78d64/mailet/standard/src/test/java/org/apache/james/transport/mailets/NullTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/NullTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/NullTest.java
index 99c7ced..53fb282 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/NullTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/NullTest.java
@@ -20,54 +20,31 @@
package org.apache.james.transport.mailets;
-import java.io.UnsupportedEncodingException;
-import java.util.Arrays;
+import static org.assertj.core.api.Assertions.assertThat;
import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.ParseException;
-import junit.framework.TestCase;
-
-import org.apache.james.transport.mailets.Null;
-import org.apache.mailet.base.test.FakeMail;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
import org.apache.mailet.Mailet;
+import org.apache.mailet.base.test.FakeMail;
+import org.junit.Before;
+import org.junit.Test;
-public class NullTest extends TestCase {
-
- private MimeMessage mockedMimeMessage;
-
- private Mail mockedMail;
+public class NullTest {
private Mailet mailet;
- public NullTest(String arg0) throws UnsupportedEncodingException {
- super(arg0);
- }
-
- private void setupMockedMail(MimeMessage m) throws ParseException {
- mockedMail = new FakeMail();
- mockedMail.setMessage(m);
- mockedMail.setRecipients(Arrays.asList(new MailAddress("test@james.apache.org"),
- new MailAddress("test2@james.apache.org")));
-
- }
-
- private void setupMailet() throws MessagingException {
+ @Before
+ public void setup() {
mailet = new Null();
}
- // test if the right state was set
- public void testNullMailet() throws MessagingException {
- setupMockedMail(mockedMimeMessage);
- setupMailet();
-
- mailet.service(mockedMail);
+ @Test
+ public void shouldChangeStateToGhost() throws MessagingException {
+ FakeMail mail = new FakeMail();
+
+ mailet.service(mail);
- String PROCESSOR = "ghost";
- assertEquals(PROCESSOR, mockedMail.getState());
+ assertThat(mail.getState()).isEqualTo("ghost");
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[3/3] james-project git commit: MAILET-130 SetMailAttribute upgrade
to new style
Posted by ro...@apache.org.
MAILET-130 SetMailAttribute upgrade to new style
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/12eb738d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/12eb738d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/12eb738d
Branch: refs/heads/master
Commit: 12eb738dea700de6c838a37fc149afaa8e53f0bf
Parents: 9b1dd0b
Author: Matthieu Baechler <ma...@linagora.com>
Authored: Mon Aug 29 17:26:21 2016 +0200
Committer: Matthieu Baechler <ma...@linagora.com>
Committed: Tue Sep 20 09:12:10 2016 +0200
----------------------------------------------------------------------
.../transport/mailets/SetMailAttribute.java | 45 ++++++--------------
1 file changed, 13 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/12eb738d/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetMailAttribute.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetMailAttribute.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetMailAttribute.java
index fd5192d..ea91948 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetMailAttribute.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetMailAttribute.java
@@ -21,10 +21,8 @@
package org.apache.james.transport.mailets;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-import java.util.Set;
import javax.mail.MessagingException;
@@ -32,6 +30,8 @@ import org.apache.mailet.Mail;
import org.apache.mailet.MailetException;
import org.apache.mailet.base.GenericMailet;
+import com.google.common.collect.ImmutableMap;
+
/**
* <p>This mailet sets attributes on the Mail.</p>
*
@@ -43,52 +43,33 @@ import org.apache.mailet.base.GenericMailet;
* </mailet>
* </code></pre>
*
- * @version CVS $Revision$ $Date$
* @since 2.2.0
*/
public class SetMailAttribute extends GenericMailet {
- private final HashMap<String, String> attributesToSet = new HashMap<String, String>(2);
-
- private Set<Map.Entry<String, String>> entries;
+ private ImmutableMap<String, String> entries;
- /**
- * Return a string describing this mailet.
- *
- * @return a string describing this mailet
- */
+ @Override
public String getMailetInfo() {
return "Set Mail Attribute Mailet";
}
- /**
- * Initialize the mailet
- *
- * @throws MailetException if the processor parameter is missing
- */
- public void init() throws MailetException
- {
+ @Override
+ public void init() throws MailetException {
+ ImmutableMap.Builder<String, String> attributes = ImmutableMap.builder();
Iterator<String> iter = getInitParameterNames();
while (iter.hasNext()) {
String name = iter.next();
- String value = getInitParameter (name);
- attributesToSet.put (name,value);
+ String value = getInitParameter(name);
+ attributes.put(name, value);
}
- entries = attributesToSet.entrySet();
+ entries = attributes.build();
}
- /**
- * Sets the configured attributes
- *
- * @param mail the mail to process
- *
- * @throws MessagingException in all cases
- */
+ @Override
public void service(Mail mail) throws MessagingException {
- if (entries != null) {
- for (Map.Entry<String, String> entry : entries) {
- mail.setAttribute(entry.getKey(), entry.getValue());
- }
+ for (Map.Entry<String, String> entry : entries.entrySet()) {
+ mail.setAttribute(entry.getKey(), entry.getValue());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[2/3] james-project git commit: MAILET-130 cover SetMailAttribute
with tests
Posted by ro...@apache.org.
MAILET-130 cover SetMailAttribute with tests
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9b1dd0ba
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9b1dd0ba
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9b1dd0ba
Branch: refs/heads/master
Commit: 9b1dd0bae24d2ec4b660d46bfd14de5d3aeabbbf
Parents: 0ef78d6
Author: Matthieu Baechler <ma...@linagora.com>
Authored: Mon Aug 29 17:20:52 2016 +0200
Committer: Matthieu Baechler <ma...@linagora.com>
Committed: Tue Sep 20 09:12:10 2016 +0200
----------------------------------------------------------------------
.../transport/mailets/SetMailAttributeTest.java | 79 ++++++++++++++------
1 file changed, 58 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/9b1dd0ba/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMailAttributeTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMailAttributeTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMailAttributeTest.java
index ae59925..009d3cd 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMailAttributeTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMailAttributeTest.java
@@ -20,8 +20,7 @@
package org.apache.james.transport.mailets;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.assertj.core.api.Assertions.assertThat;
import javax.mail.MessagingException;
@@ -31,38 +30,76 @@ import org.apache.mailet.base.test.FakeMailContext;
import org.apache.mailet.base.test.FakeMailetConfig;
import org.apache.mailet.base.test.MailUtil;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.ExpectedException;
public class SetMailAttributeTest {
+ @Rule public ExpectedException expectedException = ExpectedException.none();
+
private Mailet mailet;
- private final String ATTRIBUTE_NAME1 = "org.apache.james.junit1";
-
- private final String ATTRIBUTE_NAME2 = "org.apache.james.junit2";
-
- private Mail mockedMail;
-
@Before
public void setupMailet() throws MessagingException {
- mockedMail = MailUtil.createMockMail2Recipients(null);
mailet = new SetMailAttribute();
- FakeMailetConfig mci = new FakeMailetConfig("Test",
- FakeMailContext.defaultContext());
- mci.setProperty(ATTRIBUTE_NAME1, "true");
- mci.setProperty(ATTRIBUTE_NAME2, "true");
+ }
+
+ @Test
+ public void shouldAddConfiguredAttributes() throws MessagingException {
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+ mailetConfig.setProperty("org.apache.james.junit1", "true");
+ mailetConfig.setProperty("org.apache.james.junit2", "happy");
+
+ mailet.init(mailetConfig);
+
+ Mail mail = MailUtil.createMockMail2Recipients(null);
+
+ mailet.service(mail);
- mailet.init(mci);
+ assertThat(mail.getAttribute("org.apache.james.junit1")).isEqualTo("true");
+ assertThat(mail.getAttribute("org.apache.james.junit2")).isEqualTo("happy");
}
+
+ @Test
+ public void shouldAddNothingWhenNoConfiguredAttribute() throws MessagingException {
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+
+ mailet.init(mailetConfig);
+
+ Mail mail = MailUtil.createMockMail2Recipients(null);
+
+ mailet.service(mail);
- // test if the Header was add
+ assertThat(mail.getAttributeNames()).isEmpty();
+ }
+
@Test
- public void testMailAttributeAdded() throws MessagingException {
- assertNull(mockedMail.getAttribute(ATTRIBUTE_NAME1));
- assertNull(mockedMail.getAttribute(ATTRIBUTE_NAME2));
- mailet.service(mockedMail);
+ public void shouldOverwriteAttributeWhenAttributeAlreadyPresent() throws MessagingException {
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+ mailetConfig.setProperty("org.apache.james.junit1", "bar");
+
+ mailet.init(mailetConfig);
+
+ Mail mail = MailUtil.createMockMail2Recipients(null);
+ mail.setAttribute("org.apache.james.junit1", "foo");
+
+ mailet.service(mail);
- assertEquals("true", mockedMail.getAttribute(ATTRIBUTE_NAME1));
- assertEquals("true", mockedMail.getAttribute(ATTRIBUTE_NAME2));
+ assertThat(mail.getAttribute("org.apache.james.junit1")).isEqualTo("bar");
+ }
+
+ @Test
+ public void shouldThrowWhenNullProperty() throws MessagingException {
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+ expectedException.expect(NullPointerException.class);
+ mailetConfig.setProperty(null, "bar");
+ }
+
+ @Test
+ public void shouldThrowWhenNullValue() throws MessagingException {
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+ expectedException.expect(NullPointerException.class);
+ mailetConfig.setProperty("org.apache.james.junit1", null);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org