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/08/30 07:59:57 UTC
[1/4] james-project git commit: MAILET-103 Refactor
RemoveAllMailAttributes
Repository: james-project
Updated Branches:
refs/heads/master 709cd707f -> 3f528b84d
MAILET-103 Refactor RemoveAllMailAttributes
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/afdb0e63
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/afdb0e63
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/afdb0e63
Branch: refs/heads/master
Commit: afdb0e6340fa5ff5d927bcc641fcb1abf1606ad7
Parents: 93d543c
Author: Antoine Duprat <ad...@linagora.com>
Authored: Thu Aug 25 16:34:20 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Mon Aug 29 16:16:11 2016 +0200
----------------------------------------------------------------------
.../mailets/RemoveAllMailAttributes.java | 24 ++++--------
.../mailets/RemoveAllMailAttributesTest.java | 39 +++++++++++---------
2 files changed, 28 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/afdb0e63/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveAllMailAttributes.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveAllMailAttributes.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveAllMailAttributes.java
index 672bfd5..257d3bd 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveAllMailAttributes.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveAllMailAttributes.java
@@ -21,10 +21,11 @@
package org.apache.james.transport.mailets;
-import org.apache.mailet.base.GenericMailet;
-import org.apache.mailet.Mail;
import javax.mail.MessagingException;
+import org.apache.mailet.Mail;
+import org.apache.mailet.base.GenericMailet;
+
/**
* This mailet sets removes all attributes set on the Mail instance
*
@@ -37,26 +38,15 @@ import javax.mail.MessagingException;
* @since 2.2.0
*/
public class RemoveAllMailAttributes extends GenericMailet {
-
- /**
- * Return a string describing this mailet.
- *
- * @return a string describing this mailet
- */
+
+ @Override
public String getMailetInfo() {
return "Remove All Mail Attributes Mailet";
}
- /**
- * Removes all attributes on the Mail
- *
- * @param mail the mail to process
- *
- * @throws MessagingException in all cases
- */
+ @Override
public void service(Mail mail) throws MessagingException {
- mail.removeAllAttributes ();
+ mail.removeAllAttributes();
}
-
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/afdb0e63/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveAllMailAttributesTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveAllMailAttributesTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveAllMailAttributesTest.java
index 5847018..a6205e3 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveAllMailAttributesTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveAllMailAttributesTest.java
@@ -20,48 +20,51 @@
package org.apache.james.transport.mailets;
+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.Mail;
import org.apache.mailet.Mailet;
import org.apache.mailet.base.test.FakeMailContext;
import org.apache.mailet.base.test.FakeMailetConfig;
import org.apache.mailet.base.test.MailUtil;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class RemoveAllMailAttributesTest {
- private Mail mockedMail;
-
+ private Mail mail;
private Mailet mailet;
@Before
public void setUp() throws Exception {
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
mailet = new RemoveAllMailAttributes();
- FakeMailetConfig mci = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
- mailet.init(mci);
+ mailet.init(mailetConfig);
}
- private void setupMockedMail(MimeMessage m) throws ParseException {
- mockedMail = MailUtil.createMockMail2Recipients(m);
- mockedMail.setAttribute("org.apache.james.test.junit", "true");
+ @Test
+ public void getMailetInfoShouldReturnValue() {
+ assertThat(mailet.getMailetInfo()).isEqualTo("Remove All Mail Attributes Mailet");
}
- // test if ToProcessor works
@Test
- public void testRemoveAllMailAttributes() throws MessagingException {
- setupMockedMail(null);
- // check if the mail has a attribute
- Assert.assertTrue(mockedMail.getAttributeNames().hasNext());
+ public void serviceShouldRemoveAllMailAttributes() throws MessagingException {
+ mail = MailUtil.createMockMail2Recipients(null);
+ mail.setAttribute("org.apache.james.test.junit", "true");
- mailet.service(mockedMail);
+ mailet.service(mail);
- // check if all was removed
- Assert.assertFalse(mockedMail.getAttributeNames().hasNext());
+ assertThat(mail.getAttributeNames()).isEmpty();
}
+ @Test
+ public void serviceShouldRemoveAllMailAttributesWhenNone() throws MessagingException {
+ mail = MailUtil.createMockMail2Recipients(null);
+
+ mailet.service(mail);
+
+ assertThat(mail.getAttributeNames()).isEmpty();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[4/4] james-project git commit: Merge remote-tracking branch
'aduprat/MAILET-106'
Posted by ro...@apache.org.
Merge remote-tracking branch 'aduprat/MAILET-106'
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3f528b84
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3f528b84
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3f528b84
Branch: refs/heads/master
Commit: 3f528b84dbb896c0fc55ddf3c404f9fd7e6a1920
Parents: 8d052d3 b384e4b
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Tue Aug 30 09:59:07 2016 +0200
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Tue Aug 30 09:59:07 2016 +0200
----------------------------------------------------------------------
.../transport/mailets/RemoveMimeHeader.java | 53 ++-----
.../transport/mailets/RemoveMimeHeaderTest.java | 150 ++++++++++++-------
2 files changed, 109 insertions(+), 94 deletions(-)
----------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[2/4] james-project git commit: MAILET-106 Refactor RemoveMimeHeader
Posted by ro...@apache.org.
MAILET-106 Refactor RemoveMimeHeader
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b384e4bd
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b384e4bd
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b384e4bd
Branch: refs/heads/master
Commit: b384e4bdbe0b2445702b4fcc84229334f010def2
Parents: 93d543c
Author: Antoine Duprat <ad...@linagora.com>
Authored: Mon Aug 29 09:17:36 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Mon Aug 29 16:17:54 2016 +0200
----------------------------------------------------------------------
.../transport/mailets/RemoveMimeHeader.java | 53 ++-----
.../transport/mailets/RemoveMimeHeaderTest.java | 150 ++++++++++++-------
2 files changed, 109 insertions(+), 94 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/b384e4bd/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java
index 4b34a2e..43857a6 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java
@@ -21,15 +21,17 @@
package org.apache.james.transport.mailets;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
+import java.util.List;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
-import org.apache.mailet.base.GenericMailet;
import org.apache.mailet.Mail;
import org.apache.mailet.MailetException;
+import org.apache.mailet.base.GenericMailet;
+
+import com.google.common.base.Splitter;
+import com.google.common.collect.ImmutableList;
/**
* Remove mime headers
@@ -46,55 +48,32 @@ import org.apache.mailet.MailetException;
*/
public class RemoveMimeHeader extends GenericMailet {
- /**
- * Arraylist which holds the headers which should be removed
- */
- ArrayList<String> headers = new ArrayList<String>();
+ private List<String> headers;
- /*
- * (non-Javadoc)
- * @see org.apache.mailet.base.GenericMailet#init()
- */
+ @Override
public void init() throws MailetException {
String header = getInitParameter("name");
- if (header != null) {
- StringTokenizer st = new StringTokenizer(header, ",");
- while (st.hasMoreTokens()) {
- headers.add(st.nextToken());
- }
- } else {
- throw new MailetException(
- "Invalid config. Please specify atleast one name");
+ if (header == null) {
+ throw new MailetException("Invalid config. Please specify atleast one name");
}
+ headers = ImmutableList.copyOf(Splitter.on(",").split(header));
+ }
+
+ @Override
+ public String getMailetInfo() {
+ return "RemoveMimeHeader Mailet";
}
-
- /*
- * (non-Javadoc)
- * @see org.apache.mailet.base.GenericMailet#service(org.apache.mailet.Mail)
- */
+ @Override
public void service(Mail mail) {
try {
MimeMessage message = mail.getMessage();
-
- // loop through the headers
for (String header : headers) {
message.removeHeader(header);
}
-
message.saveChanges();
-
} catch (MessagingException e) {
- // just log the exception
log("Unable to remove headers: " + e.getMessage());
}
}
-
- /*
- * (non-Javadoc)
- * @see org.apache.mailet.base.GenericMailet#getMailetInfo()
- */
- public String getMailetInfo() {
- return "RemoveMimeHeader Mailet";
- }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/b384e4bd/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
index 33685cf..1b56e85 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
@@ -20,6 +20,10 @@
package org.apache.james.transport.mailets;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
@@ -29,97 +33,129 @@ import org.apache.mailet.base.test.FakeMail;
import org.apache.mailet.base.test.FakeMailContext;
import org.apache.mailet.base.test.FakeMailetConfig;
import org.apache.mailet.base.test.MailUtil;
-import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.ExpectedException;
public class RemoveMimeHeaderTest {
- private final static String HEADER1 = "header1";
-
- private final static String HEADER2 = "header2";
+ private static final String HEADER1 = "header1";
+ private static final String HEADER2 = "header2";
- private GenericMailet setupMockedMailet(String name1, String name2) throws MessagingException {
- GenericMailet mailet = new RemoveMimeHeader();
- FakeMailetConfig mci = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
- if (name1 != null) mci.setProperty("name", name1);
- if (name2 != null) mci.setProperty("name", name2);
+ @Rule
+ public ExpectedException expectedException = ExpectedException.none();
- mailet.init(mci);
- return mailet;
- }
+ private GenericMailet mailet;
- private MimeMessage getMockedMimeMessage() throws MessagingException {
- MimeMessage mockedMimeMessage = MailUtil.createMimeMessage();
- mockedMimeMessage.setHeader(HEADER1, "true");
- mockedMimeMessage.setHeader(HEADER2, "true");
- mockedMimeMessage.saveChanges();
- return mockedMimeMessage;
+ @Before
+ public void setup() {
+ mailet = new RemoveMimeHeader();
}
- private Mail getMockedMail(MimeMessage message) {
- Mail m = new FakeMail();
- m.setMessage(message);
- return m;
+ @Test
+ public void getMailetInfoShouldReturnValue() {
+ assertThat(mailet.getMailetInfo()).isEqualTo("RemoveMimeHeader Mailet");
}
@Test
- public void testOneHeaderRemoved() throws MessagingException {
- GenericMailet mailet = setupMockedMailet(HEADER1, null);
- Mail mail = getMockedMail(getMockedMimeMessage());
+ public void serviceShouldRemoveHeaderWhenOneMatching() throws MessagingException {
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+ mailetConfig.setProperty("name", HEADER1);
+ mailet.init(mailetConfig);
- // Get sure both headers are present
- Assert.assertNotNull("Header present", mail.getMessage().getHeader(HEADER1));
- Assert.assertNotNull("Header present", mail.getMessage().getHeader(HEADER2));
+ MimeMessage mimeMessage = MailUtil.createMimeMessage();
+ mimeMessage.setHeader(HEADER1, "true");
+ mimeMessage.setHeader(HEADER2, "true");
+ mimeMessage.saveChanges();
+ Mail mail = createMail(mimeMessage);
mailet.service(mail);
- // The first header should be removed
- Assert.assertNull("Header removed", mail.getMessage().getHeader(HEADER1));
- Assert.assertNotNull("Header present", mail.getMessage().getHeader(HEADER2));
+ assertThat(mail.getMessage().getHeader(HEADER1)).isNull();
+ assertThat(mail.getMessage().getHeader(HEADER2)).isNotNull();
}
@Test
- public void testTwoHeaderRemoved() throws MessagingException {
- GenericMailet mailet = setupMockedMailet(HEADER1, HEADER2);
- Mail mail = getMockedMail(getMockedMimeMessage());
+ public void serviceShouldRemoveHeadersWhenTwoMatching() throws MessagingException {
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+ mailetConfig.setProperty("name", HEADER1);
+ mailetConfig.setProperty("name", HEADER2);
+ mailet.init(mailetConfig);
+
+ MimeMessage mimeMessage = MailUtil.createMimeMessage();
+ mimeMessage.setHeader(HEADER1, "true");
+ mimeMessage.setHeader(HEADER2, "true");
+ mimeMessage.saveChanges();
+ Mail mail = createMail(mimeMessage);
- // Get sure both headers are present
- Assert.assertNotNull("Header present", mail.getMessage().getHeader(HEADER1));
- Assert.assertNotNull("Header present", mail.getMessage().getHeader(HEADER2));
+ mailet.service(mail);
+
+ assertThat(mail.getMessage().getHeader(HEADER1)).isNull();
+ assertThat(mail.getMessage().getHeader(HEADER2)).isNull();
+ }
+
+ @Test
+ public void serviceShouldNotRemoveHeaderWhenNoneMatching() throws MessagingException {
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+ mailetConfig.setProperty("name", "other1");
+ mailetConfig.setProperty("name", "other2");
+ mailet.init(mailetConfig);
+
+ MimeMessage mimeMessage = MailUtil.createMimeMessage();
+ mimeMessage.setHeader(HEADER1, "true");
+ mimeMessage.setHeader(HEADER2, "true");
+ mimeMessage.saveChanges();
+ Mail mail = createMail(mimeMessage);
mailet.service(mail);
- // Both header should be removed
- Assert.assertNull("Header removed", mail.getMessage().getHeader(HEADER1));
- Assert.assertNull("Header removed", mail.getMessage().getHeader(HEADER2));
+ assertThat(mail.getMessage().getHeader(HEADER1)).isNotNull();
+ assertThat(mail.getMessage().getHeader(HEADER2)).isNotNull();
}
@Test
- public void testNoHeaderRemoved() throws MessagingException {
- GenericMailet mailet = setupMockedMailet("h1", "h2");
- Mail mail = getMockedMail(getMockedMimeMessage());
+ public void serviceShouldNotRemoveHeaderWhenEmptyConfig() throws MessagingException {
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+ mailetConfig.setProperty("name", "");
+ mailet.init(mailetConfig);
- // Get sure both headers are present
- Assert.assertNotNull("Header present", mail.getMessage().getHeader(HEADER1));
- Assert.assertNotNull("Header present", mail.getMessage().getHeader(HEADER2));
+ MimeMessage mimeMessage = MailUtil.createMimeMessage();
+ mimeMessage.setHeader(HEADER1, "true");
+ mimeMessage.setHeader(HEADER2, "true");
+ mimeMessage.saveChanges();
+ Mail mail = createMail(mimeMessage);
mailet.service(mail);
- // Both header should be removed
- Assert.assertNotNull("Header present", mail.getMessage().getHeader(HEADER1));
- Assert.assertNotNull("header present", mail.getMessage().getHeader(HEADER2));
+ assertThat(mail.getMessage().getHeader(HEADER1)).isNotNull();
+ assertThat(mail.getMessage().getHeader(HEADER2)).isNotNull();
}
@Test
- public void testInvalidConfig() throws MessagingException {
- boolean exception = false;
- try {
- setupMockedMailet(null, null);
- } catch (MessagingException e) {
- exception = true;
- }
- Assert.assertTrue("Exception thrown", exception);
+ public void initShouldThrowWhenInvalidConfig() throws MessagingException {
+ expectedException.expect(MessagingException.class);
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+ mailet.init(mailetConfig);
}
+ @SuppressWarnings("unchecked")
+ @Test
+ public void serviceShouldNotThrowWhenExceptionOccured() throws MessagingException {
+ FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+ mailetConfig.setProperty("name", "");
+ mailet.init(mailetConfig);
+
+ Mail mail = mock(Mail.class);
+ when(mail.getMessage())
+ .thenThrow(MessagingException.class);
+ mailet.service(mail);
+ }
+
+ private Mail createMail(MimeMessage message) {
+ Mail mail = new FakeMail();
+ mail.setMessage(message);
+ return mail;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[3/4] james-project git commit: Merge remote-tracking branch
'aduprat/MAILET-103'
Posted by ro...@apache.org.
Merge remote-tracking branch 'aduprat/MAILET-103'
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/8d052d3d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/8d052d3d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/8d052d3d
Branch: refs/heads/master
Commit: 8d052d3d4e765f1c219f9fa426d6a0291357f37e
Parents: 709cd70 afdb0e6
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Tue Aug 30 09:58:48 2016 +0200
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Tue Aug 30 09:58:48 2016 +0200
----------------------------------------------------------------------
.../mailets/RemoveAllMailAttributes.java | 24 ++++--------
.../mailets/RemoveAllMailAttributesTest.java | 39 +++++++++++---------
2 files changed, 28 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org