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 2017/01/12 16:32:58 UTC
[1/3] james-project git commit: MAILET-145: Propose an easy builder
for Mime messages
Repository: james-project
Updated Branches:
refs/heads/master a82724a45 -> 35858f70d
MAILET-145: Propose an easy builder for Mime messages
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9172ef2f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9172ef2f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9172ef2f
Branch: refs/heads/master
Commit: 9172ef2f2cb217f479bbcc4feb8e8d5f126d3c75
Parents: a82724a
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Dec 28 14:33:16 2016 +0700
Committer: Quynh Nguyen <qn...@linagora.com>
Committed: Thu Jan 12 09:22:59 2017 +0700
----------------------------------------------------------------------
mailet/base/pom.xml | 5 +
.../mailet/base/test/MimeMessageBuilder.java | 320 +++++++++++++++++++
2 files changed, 325 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/9172ef2f/mailet/base/pom.xml
----------------------------------------------------------------------
diff --git a/mailet/base/pom.xml b/mailet/base/pom.xml
index fdec517..d15b8d7 100644
--- a/mailet/base/pom.xml
+++ b/mailet/base/pom.xml
@@ -95,6 +95,11 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/james-project/blob/9172ef2f/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java b/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
new file mode 100644
index 0000000..25a4810
--- /dev/null
+++ b/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
@@ -0,0 +1,320 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.mailet.base.test;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+
+import javax.activation.DataHandler;
+import javax.mail.BodyPart;
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.Session;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.InternetHeaders;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+import javax.mail.util.ByteArrayDataSource;
+
+import org.apache.commons.io.IOUtils;
+
+import com.google.common.base.Charsets;
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
+import com.google.common.base.Throwables;
+import com.google.common.collect.FluentIterable;
+import com.google.common.collect.ImmutableList;
+
+public class MimeMessageBuilder {
+
+ public static class Header {
+ private final String name;
+ private final String value;
+
+ public Header(String name, String value) {
+ this.name = name;
+ this.value = value;
+ }
+ }
+
+ public static class MultipartBuilder {
+ private ImmutableList.Builder<BodyPart> bodyParts = ImmutableList.builder();
+
+ public MultipartBuilder addBody(BodyPart bodyPart) {
+ this.bodyParts.add(bodyPart);
+ return this;
+ }
+
+ public MultipartBuilder addBodys(BodyPart... bodyParts) {
+ this.bodyParts.addAll(Arrays.asList(bodyParts));
+ return this;
+ }
+
+ public MimeMultipart build() throws MessagingException {
+ MimeMultipart multipart = new MimeMultipart();
+ List<BodyPart> bodyParts = this.bodyParts.build();
+ for(BodyPart bodyPart : bodyParts) {
+ multipart.addBodyPart(bodyPart);
+ }
+ return multipart;
+ }
+ }
+
+ public static class BodyPartBuilder {
+ public static final String DEFAULT_TEXT_PLAIN_UTF8_TYPE = "text/plain; charset=UTF-8";
+ public static final String DEFAULT_VALUE = "";
+
+ private Optional<String> cid = Optional.absent();
+ private Optional<String> filename = Optional.absent();
+ private ImmutableList.Builder<Header> headers = ImmutableList.builder();
+ private Optional<String> disposition = Optional.absent();
+ private Optional<String> data = Optional.absent();
+ private Optional<String> type = Optional.absent();
+
+ public BodyPartBuilder cid(String cid) {
+ this.cid = Optional.of(cid);
+ return this;
+ }
+
+ public BodyPartBuilder filename(String filename) {
+ this.filename = Optional.of(filename);
+ return this;
+ }
+
+ public BodyPartBuilder disposition(String disposition) {
+ this.disposition = Optional.of(disposition);
+ return this;
+ }
+
+ public BodyPartBuilder data(String data) {
+ this.data = Optional.of(data);
+ return this;
+ }
+
+ public BodyPartBuilder type(String type) {
+ this.type = Optional.of(type);
+ return this;
+ }
+
+ public BodyPartBuilder addHeader(String name, String value) {
+ this.headers.add(new Header(name, value));
+ return this;
+ }
+
+ public BodyPartBuilder addHeaders(Header... headers) {
+ this.headers.addAll(Arrays.asList(headers));
+ return this;
+ }
+
+ public BodyPart build() throws IOException, MessagingException {
+ Preconditions.checkNotNull(data);
+ MimeBodyPart bodyPart = new MimeBodyPart();
+ bodyPart.setDataHandler(
+ new DataHandler(
+ new ByteArrayDataSource(
+ data.or(DEFAULT_VALUE),
+ type.or(DEFAULT_TEXT_PLAIN_UTF8_TYPE))
+ ));
+ if (filename.isPresent()) {
+ bodyPart.setFileName(filename.get());
+ }
+ if (cid.isPresent()) {
+ bodyPart.setContentID(cid.get());
+ }
+ if (disposition.isPresent()) {
+ bodyPart.setDisposition(disposition.get());
+ }
+ List<Header> headerList = headers.build();
+ for(Header header: headerList) {
+ bodyPart.addHeader(header.name, header.value);
+ }
+ return bodyPart;
+ }
+ }
+
+ public static final Function<String, InternetAddress> TO_INTERNET_ADDRESS = new Function<String, InternetAddress>() {
+ @Override
+ public InternetAddress apply(String input) {
+ try {
+ return new InternetAddress(input);
+ } catch (AddressException e) {
+ throw Throwables.propagate(e);
+ }
+ }
+ };
+
+ public static MimeMessage defaultMimeMessage() {
+ return new MimeMessage(Session.getDefaultInstance(new Properties()));
+ }
+
+ public static MimeMessageBuilder mimeMessageBuilder() {
+ return new MimeMessageBuilder();
+ }
+
+ public static MultipartBuilder multipartBuilder() {
+ return new MultipartBuilder();
+ }
+
+ public static BodyPartBuilder bodyPartBuilder() {
+ return new BodyPartBuilder();
+ }
+
+ private Optional<String> text = Optional.absent();
+ private Optional<String> subject = Optional.absent();
+ private Optional<InternetAddress> sender = Optional.absent();
+ private Optional<InternetAddress> from = Optional.absent();
+ private Optional<MimeMultipart> content = Optional.absent();
+ private ImmutableList.Builder<InternetAddress> cc = ImmutableList.builder();
+ private ImmutableList.Builder<InternetAddress> to = ImmutableList.builder();
+ private ImmutableList.Builder<InternetAddress> bcc = ImmutableList.builder();
+ private ImmutableList.Builder<Header> headers = ImmutableList.builder();
+
+ public MimeMessageBuilder setText(String text) {
+ this.text = Optional.of(text);
+ return this;
+ }
+
+ public MimeMessageBuilder addToRecipient(String text) throws AddressException {
+ this.to.add(new InternetAddress(text));
+ return this;
+ }
+
+ public MimeMessageBuilder setSubject(String subject) {
+ this.subject = Optional.fromNullable(subject);
+ return this;
+ }
+
+ public MimeMessageBuilder setSender(String sender) throws AddressException {
+ this.sender = Optional.of(new InternetAddress(sender));
+ return this;
+ }
+
+ public MimeMessageBuilder setFrom(String from) throws AddressException {
+ this.from = Optional.of(new InternetAddress(from));
+ return this;
+ }
+
+ public MimeMessageBuilder addCcRecipient(String text) throws AddressException {
+ this.cc.add(new InternetAddress(text));
+ return this;
+ }
+
+ public MimeMessageBuilder addBccRecipient(String text) throws AddressException {
+ this.bcc.add(new InternetAddress(text));
+ return this;
+ }
+
+ public MimeMessageBuilder addToRecipient(String... tos) throws AddressException {
+ this.to.addAll(FluentIterable.from(Arrays.asList(tos))
+ .transform(TO_INTERNET_ADDRESS)
+ .toList());
+ return this;
+ }
+
+ public MimeMessageBuilder addCcRecipient(String... ccs) throws AddressException {
+ this.cc.addAll(FluentIterable.from(Arrays.asList(ccs))
+ .transform(TO_INTERNET_ADDRESS)
+ .toList());
+ return this;
+ }
+
+ public MimeMessageBuilder addBccRecipient(String... bccs) throws AddressException {
+ this.bcc.addAll(FluentIterable.from(Arrays.asList(bccs))
+ .transform(TO_INTERNET_ADDRESS)
+ .toList());
+ return this;
+ }
+
+ public MimeMessageBuilder setContent(MimeMultipart mimeMultipart) {
+ this.content = Optional.of(mimeMultipart);
+ return this;
+ }
+
+ public MimeMessageBuilder setMultipartWithBodyParts(BodyPart... bobyParts) throws MessagingException {
+ this.content = Optional.of(MimeMessageBuilder.multipartBuilder()
+ .addBodys(bobyParts)
+ .build());
+ return this;
+ }
+
+ public MimeMessageBuilder setMultipartWithSubMessage(MimeMessage mimeMessage) throws MessagingException, IOException {
+ return setMultipartWithBodyParts(
+ new MimeBodyPart(
+ new InternetHeaders(new ByteArrayInputStream("Content-Type: multipart/mixed".getBytes(Charsets.US_ASCII))),
+ IOUtils.toByteArray(mimeMessage.getInputStream())));
+ }
+
+ public MimeMessageBuilder addHeader(String name, String value) {
+ this.headers.add(new Header(name, value));
+ return this;
+ }
+
+ public MimeMessageBuilder addHeaders(Header... headers) {
+ this.headers.addAll(Arrays.asList(headers));
+ return this;
+ }
+
+ public MimeMessage build() throws MessagingException {
+ Preconditions.checkState(!(text.isPresent() && content.isPresent()), "Can not get at the same time a text and a content");
+ MimeMessage mimeMessage = new MimeMessage(Session.getInstance(new Properties()));
+ if (text.isPresent()) {
+ BodyPart bodyPart = new MimeBodyPart();
+ bodyPart.setText(text.get());
+ mimeMessage.setContent(bodyPart, "text/plain");
+ }
+ if (content.isPresent()) {
+ mimeMessage.setContent(content.get());
+ }
+ if (sender.isPresent()) {
+ mimeMessage.setSender(sender.get());
+ }
+ if (from.isPresent()) {
+ mimeMessage.setFrom(from.get());
+ }
+ if (subject.isPresent()) {
+ mimeMessage.setSubject(subject.get());
+ }
+ List<InternetAddress> toAddresses = to.build();
+ if (!toAddresses.isEmpty()) {
+ mimeMessage.setRecipients(Message.RecipientType.TO, toAddresses.toArray(new InternetAddress[toAddresses.size()]));
+ }
+ List<InternetAddress> ccAddresses = cc.build();
+ if (!ccAddresses.isEmpty()) {
+ mimeMessage.setRecipients(Message.RecipientType.CC, ccAddresses.toArray(new InternetAddress[ccAddresses.size()]));
+ }
+ List<InternetAddress> bccAddresses = bcc.build();
+ if (!bccAddresses.isEmpty()) {
+ mimeMessage.setRecipients(Message.RecipientType.BCC, bccAddresses.toArray(new InternetAddress[bccAddresses.size()]));
+ }
+ List<Header> headerList = headers.build();
+ for(Header header: headerList) {
+ mimeMessage.addHeader(header.name, header.value);
+ }
+ mimeMessage.saveChanges();
+ return mimeMessage;
+ }
+
+}
---------------------------------------------------------------------
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-145: Make NESSpamCheck readable
Posted by ro...@apache.org.
MAILET-145: Make NESSpamCheck readable
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/35858f70
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/35858f70
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/35858f70
Branch: refs/heads/master
Commit: 35858f70d2b98942eec7018b2f4c1fa0b6fa2bee
Parents: 883edef
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Dec 28 15:55:05 2016 +0700
Committer: Quynh Nguyen <qn...@linagora.com>
Committed: Thu Jan 12 11:09:26 2017 +0700
----------------------------------------------------------------------
.../transport/matchers/NESSpamCheckTest.java | 62 +++++---------------
1 file changed, 14 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/35858f70/mailet/standard/src/test/java/org/apache/james/transport/matchers/NESSpamCheckTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/matchers/NESSpamCheckTest.java b/mailet/standard/src/test/java/org/apache/james/transport/matchers/NESSpamCheckTest.java
index adf387c..da0be46 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/matchers/NESSpamCheckTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/matchers/NESSpamCheckTest.java
@@ -17,80 +17,46 @@
* under the License. *
****************************************************************/
-
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 org.apache.mailet.MailAddress;
-import org.apache.mailet.Matcher;
+import org.apache.mailet.Mail;
import org.apache.mailet.base.RFC2822Headers;
-import org.apache.mailet.base.test.FakeMail;
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 NESSpamCheckTest {
- private MimeMessage mockedMimeMessage;
-
- private FakeMail mockedMail;
-
- private Matcher matcher;
-
- 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 NESSpamCheck matcher;
- private void setupMatcher() throws MessagingException {
- setupMockedMimeMessage();
+ @Before
+ public void setUp() throws Exception {
matcher = new NESSpamCheck();
FakeMatcherConfig mci = FakeMatcherConfig.builder()
- .matcherName("NESSpamCheck")
- .build();
+ .matcherName("NESSpamCheck")
+ .build();
matcher.init(mci);
}
@Test
public void testNESSpamCheckMatched() throws MessagingException {
- setHeaderName(RFC2822Headers.RECEIVED);
- setHeaderValue("xxxxxxxxxxxxxxxxxxxxx");
+ Mail mail = MailUtil.createMockMail2Recipients(
+ MailUtil.createMimeMessage(RFC2822Headers.RECEIVED, "xxxxxxxxxxxxxxxxxxxxx"));
- setupMockedMimeMessage();
- mockedMail = MailUtil.createMockMail2Recipients(mockedMimeMessage);
- setupMatcher();
-
- Collection<MailAddress> matchedRecipients = matcher.match(mockedMail);
-
- Assert.assertNotNull(matchedRecipients);
- Assert.assertEquals(matchedRecipients.size(), mockedMail.getRecipients().size());
+ assertThat(matcher.match(mail)).hasSize(2);
}
@Test
public void testNESSpamCheckNotMatched() throws MessagingException {
- setupMockedMimeMessage();
- mockedMail = MailUtil.createMockMail2Recipients(mockedMimeMessage);
- setupMatcher();
-
- Collection<MailAddress> matchedRecipients = matcher.match(mockedMail);
+ Mail mail = MailUtil.createMockMail2Recipients(
+ MailUtil.createMimeMessage("defaultHeaderName", "defaultHeaderValue"));
- Assert.assertNull(matchedRecipients);
+ assertThat(matcher.match(mail)).isNull();
}
}
---------------------------------------------------------------------
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-145: Use MimeMessageBuilder in
other places
Posted by ro...@apache.org.
MAILET-145: Use MimeMessageBuilder in other places
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/883edefb
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/883edefb
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/883edefb
Branch: refs/heads/master
Commit: 883edefb854bf0bdff50e3c3ba46739a95e1a901
Parents: 9172ef2
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Dec 28 14:35:19 2016 +0700
Committer: Quynh Nguyen <qn...@linagora.com>
Committed: Thu Jan 12 11:09:20 2017 +0700
----------------------------------------------------------------------
.../org/apache/mailet/base/test/MailUtil.java | 25 +-
.../mailet/base/test/MimeMessageBuilder.java | 4 +-
.../transport/matchers/GenericRegexMatcher.java | 15 +-
.../transport/mailets/AddSubjectPrefixTest.java | 16 +-
.../MailAttributesToMimeHeadersTest.java | 10 +-
.../transport/mailets/RemoveMimeHeaderTest.java | 38 +--
.../transport/mailets/StripAttachmentTest.java | 341 +++++++++----------
.../james/transport/mailets/UnwrapTextTest.java | 1 -
.../james/transport/mailets/BounceTest.java | 3 +-
.../mailets/delivery/LocalDeliveryTest.java | 39 +--
.../mailets/delivery/MailDispatcherTest.java | 43 +--
.../mailets/delivery/MailboxAppenderTest.java | 27 +-
.../mailets/delivery/SieveIntegrationTest.java | 66 ++--
.../mailets/delivery/SimpleMailStoreTest.java | 27 +-
.../mailets/delivery/ToRecipientFolderTest.java | 38 +--
.../managesieve/ManageSieveMailetTestCase.java | 48 +--
16 files changed, 308 insertions(+), 433 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/mailet/base/src/test/java/org/apache/mailet/base/test/MailUtil.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/test/java/org/apache/mailet/base/test/MailUtil.java b/mailet/base/src/test/java/org/apache/mailet/base/test/MailUtil.java
index 070eef7..4758d77 100644
--- a/mailet/base/src/test/java/org/apache/mailet/base/test/MailUtil.java
+++ b/mailet/base/src/test/java/org/apache/mailet/base/test/MailUtil.java
@@ -23,8 +23,6 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import javax.mail.MessagingException;
-import javax.mail.Session;
-import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.mailet.Mail;
@@ -35,8 +33,8 @@ import org.apache.mailet.MailAddress;
*/
public class MailUtil {
- private static final Session NO_SESSION = null;
-
+ public static final String SENDER = "test@james.apache.org";
+ public static final String RECIPIENT = "test2@james.apache.org";
private static int m_counter = 0;
public static String newId() {
@@ -72,17 +70,14 @@ public class MailUtil {
}
private static MimeMessage createMimeMessage(String headerName, String headerValue, String subject) throws MessagingException {
- String sender = "test@james.apache.org";
- String rcpt = "test2@james.apache.org";
-
- MimeMessage mimeMessage = new MimeMessage(NO_SESSION);
- mimeMessage.setFrom(new InternetAddress(sender));
- mimeMessage.setRecipients(MimeMessage.RecipientType.TO, rcpt);
- if (headerName != null) mimeMessage.setHeader(headerName, headerValue);
- if (subject != null) mimeMessage.setSubject(subject);
- mimeMessage.setText("testtext");
- mimeMessage.saveChanges();
- return mimeMessage;
+ MimeMessageBuilder mimeMessageBuilder = MimeMessageBuilder.mimeMessageBuilder()
+ .addToRecipient(RECIPIENT)
+ .setFrom(SENDER)
+ .setSubject(subject);
+ if (headerName != null) {
+ mimeMessageBuilder.addHeader(headerName, headerValue);
+ }
+ return mimeMessageBuilder.build();
}
public static String toString(Mail mail, String charset) throws IOException, MessagingException {
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java b/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
index 25a4810..42a2339 100644
--- a/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
+++ b/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
@@ -68,7 +68,7 @@ public class MimeMessageBuilder {
return this;
}
- public MultipartBuilder addBodys(BodyPart... bodyParts) {
+ public MultipartBuilder addBodies(BodyPart... bodyParts) {
this.bodyParts.addAll(Arrays.asList(bodyParts));
return this;
}
@@ -255,7 +255,7 @@ public class MimeMessageBuilder {
public MimeMessageBuilder setMultipartWithBodyParts(BodyPart... bobyParts) throws MessagingException {
this.content = Optional.of(MimeMessageBuilder.multipartBuilder()
- .addBodys(bobyParts)
+ .addBodies(bobyParts)
.build());
return this;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/mailet/standard/src/main/java/org/apache/james/transport/matchers/GenericRegexMatcher.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/GenericRegexMatcher.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/GenericRegexMatcher.java
index c079acf..e9c0612 100755
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/GenericRegexMatcher.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/GenericRegexMatcher.java
@@ -21,16 +21,17 @@
package org.apache.james.transport.matchers;
-import org.apache.mailet.base.GenericMatcher;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
import java.util.Collection;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.base.GenericMatcher;
+
/**
* This is a generic matcher that uses regular expressions. If any of
* the regular expressions match, the matcher is considered to have
@@ -77,10 +78,8 @@ abstract public class GenericRegexMatcher extends GenericMatcher {
//Loop through the header values
if (headers != null) for (String header : headers) {
if (pattern.matcher(header).matches()) {
- // log("Match: " + headerName + "[" + j + "]: " + headers[j]);
return mail.getRecipients();
}
- //log(" " + headerName + "[" + j + "]: " + headers[j]);
}
}
return null;
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddSubjectPrefixTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddSubjectPrefixTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddSubjectPrefixTest.java
index 26c5bb4..5799c42 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddSubjectPrefixTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddSubjectPrefixTest.java
@@ -53,8 +53,8 @@ public class AddSubjectPrefixTest {
.build();
mailet.init(mailetConfig);
- MimeMessage mockedMimeMessage = MailUtil.createMimeMessageWithSubject("test");
- FakeMail mail = MailUtil.createMockMail2Recipients(mockedMimeMessage);
+ MimeMessage mimeMessage = MailUtil.createMimeMessageWithSubject("test");
+ FakeMail mail = MailUtil.createMockMail2Recipients(mimeMessage);
mailet.service(mail);
@@ -72,8 +72,8 @@ public class AddSubjectPrefixTest {
String subject =
"=?iso8859-15?Q?Beno=EEt_TELLIER_vous_a_d=E9pos=E9_des_fichiers?=";
- MimeMessage mockedMimeMessage = MailUtil.createMimeMessageWithSubject(subject);
- FakeMail mail = MailUtil.createMockMail2Recipients(mockedMimeMessage);
+ MimeMessage mimeMessage = MailUtil.createMimeMessageWithSubject(subject);
+ FakeMail mail = MailUtil.createMockMail2Recipients(mimeMessage);
mailet.service(mail);
@@ -90,8 +90,8 @@ public class AddSubjectPrefixTest {
mailet.init(mailetConfig);
String noSubject = null;
- MimeMessage mockedMimeMessage = MailUtil.createMimeMessageWithSubject(noSubject);
- FakeMail mail = MailUtil.createMockMail2Recipients(mockedMimeMessage);
+ MimeMessage mimeMessage = MailUtil.createMimeMessageWithSubject(noSubject);
+ FakeMail mail = MailUtil.createMockMail2Recipients(mimeMessage);
mailet.service(mail);
@@ -106,8 +106,8 @@ public class AddSubjectPrefixTest {
.build();
mailet.init(mailetConfig);
- MimeMessage mockedMimeMessage = MailUtil.createMimeMessageWithSubject("");
- FakeMail mail = MailUtil.createMockMail2Recipients(mockedMimeMessage);
+ MimeMessage mimeMessage = MailUtil.createMimeMessageWithSubject("");
+ FakeMail mail = MailUtil.createMockMail2Recipients(mimeMessage);
mailet.service(mail);
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesToMimeHeadersTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesToMimeHeadersTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesToMimeHeadersTest.java
index 8a5ac95..4ebe09e 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesToMimeHeadersTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesToMimeHeadersTest.java
@@ -24,12 +24,12 @@ package org.apache.james.transport.mailets;
import static org.assertj.core.api.Assertions.assertThat;
import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
import org.apache.mailet.Mailet;
import org.apache.mailet.base.test.FakeMail;
import org.apache.mailet.base.test.FakeMailetConfig;
import org.apache.mailet.base.test.MailUtil;
+import org.apache.mailet.base.test.MimeMessageBuilder;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -84,10 +84,10 @@ public class MailAttributesToMimeHeadersTest {
.setProperty("simplemapping", MAIL_ATTRIBUTE_NAME1 + "; " + HEADER_NAME1)
.build();
mailet.init(mailetConfig);
-
- MimeMessage mimeMessage = MailUtil.createMimeMessage();
- mimeMessage.addHeader(HEADER_NAME1, "first value");
- FakeMail mockedMail = MailUtil.createMockMail2Recipients(mimeMessage);
+
+ FakeMail mockedMail = MailUtil.createMockMail2Recipients(MimeMessageBuilder.mimeMessageBuilder()
+ .addHeader(HEADER_NAME1, "first value")
+ .build());
mockedMail.setAttribute(MAIL_ATTRIBUTE_NAME1, MAIL_ATTRIBUTE_VALUE1);
mailet.service(mockedMail);
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/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 4477d0f..3a04511 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
@@ -31,7 +31,7 @@ import org.apache.mailet.Mail;
import org.apache.mailet.base.GenericMailet;
import org.apache.mailet.base.test.FakeMail;
import org.apache.mailet.base.test.FakeMailetConfig;
-import org.apache.mailet.base.test.MailUtil;
+import org.apache.mailet.base.test.MimeMessageBuilder;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -65,11 +65,10 @@ public class RemoveMimeHeaderTest {
.build();
mailet.init(mailetConfig);
- MimeMessage mimeMessage = MailUtil.createMimeMessage();
- mimeMessage.setHeader(HEADER1, "true");
- mimeMessage.setHeader(HEADER2, "true");
- mimeMessage.saveChanges();
- Mail mail = createMail(mimeMessage);
+ Mail mail = createMail(MimeMessageBuilder.mimeMessageBuilder()
+ .addHeader(HEADER1, "true")
+ .addHeader(HEADER2, "true")
+ .build());
mailet.service(mail);
@@ -85,11 +84,10 @@ public class RemoveMimeHeaderTest {
.build();
mailet.init(mailetConfig);
- MimeMessage mimeMessage = MailUtil.createMimeMessage();
- mimeMessage.setHeader(HEADER1, "true");
- mimeMessage.setHeader(HEADER2, "true");
- mimeMessage.saveChanges();
- Mail mail = createMail(mimeMessage);
+ Mail mail = createMail(MimeMessageBuilder.mimeMessageBuilder()
+ .addHeader(HEADER1, "true")
+ .addHeader(HEADER2, "true")
+ .build());
mailet.service(mail);
@@ -106,11 +104,10 @@ public class RemoveMimeHeaderTest {
.build();
mailet.init(mailetConfig);
- MimeMessage mimeMessage = MailUtil.createMimeMessage();
- mimeMessage.setHeader(HEADER1, "true");
- mimeMessage.setHeader(HEADER2, "true");
- mimeMessage.saveChanges();
- Mail mail = createMail(mimeMessage);
+ Mail mail = createMail(MimeMessageBuilder.mimeMessageBuilder()
+ .addHeader(HEADER1, "true")
+ .addHeader(HEADER2, "true")
+ .build());
mailet.service(mail);
@@ -126,11 +123,10 @@ public class RemoveMimeHeaderTest {
.build();
mailet.init(mailetConfig);
- MimeMessage mimeMessage = MailUtil.createMimeMessage();
- mimeMessage.setHeader(HEADER1, "true");
- mimeMessage.setHeader(HEADER2, "true");
- mimeMessage.saveChanges();
- Mail mail = createMail(mimeMessage);
+ Mail mail = createMail(MimeMessageBuilder.mimeMessageBuilder()
+ .addHeader(HEADER1, "true")
+ .addHeader(HEADER2, "true")
+ .build());
mailet.service(mail);
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
index 63a211e..d888c44 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
@@ -27,16 +27,13 @@ import static org.mockito.Mockito.when;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
-import java.io.UnsupportedEncodingException;
import java.util.Collection;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
+import javax.mail.BodyPart;
import javax.mail.MessagingException;
import javax.mail.Part;
-import javax.mail.Session;
-import javax.mail.internet.InternetHeaders;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
@@ -48,6 +45,7 @@ import org.apache.mailet.Mailet;
import org.apache.mailet.MailetException;
import org.apache.mailet.base.test.FakeMail;
import org.apache.mailet.base.test.FakeMailetConfig;
+import org.apache.mailet.base.test.MimeMessageBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@@ -61,10 +59,29 @@ import com.google.common.base.Optional;
public class StripAttachmentTest {
private static final String EXPECTED_ATTACHMENT_CONTENT = "\u0023\u00A4\u00E3\u00E0\u00E9";
- private static final Optional<String> ABSENT_MIME_TYPE = Optional.<String> absent();
- private static final String MIME_HEADER_DEFAULT = "Content-Transfer-Encoding: 8bit\r\nContent-Type: application/octet-stream; charset=utf-8\r\n\r\n";
- private static final String MIME_HEADER_TEXT_CALENDAR = "Content-Transfer-Encoding: 8bit\r\nContent-Type: text/calendar; charset=utf-8\r\n\r\n";
- private static final String MIME_HEADER_TEXT_HTML = "Content-Transfer-Encoding: 8bit\r\nContent-Type: text/html; charset=utf-8\r\n\r\n";
+ private static final Optional<String> ABSENT_MIME_TYPE = Optional.absent();
+ private static final String CONTENT_TRANSFER_ENCODING_VALUE ="8bit";
+
+ public static final String CONTENT_TRANSFER_ENCODING = "Content-Transfer-Encoding";
+ public static final String CONTENT_TYPE = "Content-Type";
+ public static final String CONTENT_TYPE_DEFAULT = "application/octet-stream; charset=utf-8";
+ public static final String TEXT_CALENDAR_CHARSET_UTF_8 = "text/calendar; charset=utf-8";
+ public static final String TEXT_HTML_CHARSET_UTF_8 = "text/html; charset=utf-8";
+
+ private static MimeMessageBuilder.Header[] TEXT_HEADERS = {
+ new MimeMessageBuilder.Header(CONTENT_TRANSFER_ENCODING, CONTENT_TRANSFER_ENCODING_VALUE),
+ new MimeMessageBuilder.Header(CONTENT_TYPE, CONTENT_TYPE_DEFAULT)
+ };
+
+ private static MimeMessageBuilder.Header[] HTML_HEADERS = {
+ new MimeMessageBuilder.Header(CONTENT_TRANSFER_ENCODING, CONTENT_TRANSFER_ENCODING_VALUE),
+ new MimeMessageBuilder.Header(CONTENT_TYPE, TEXT_HTML_CHARSET_UTF_8)
+ };
+
+ private static MimeMessageBuilder.Header[] CALENDAR_HEADERS = {
+ new MimeMessageBuilder.Header(CONTENT_TRANSFER_ENCODING, CONTENT_TRANSFER_ENCODING_VALUE),
+ new MimeMessageBuilder.Header(CONTENT_TYPE, TEXT_CALENDAR_CHARSET_UTF_8)
+ };
@Rule
public ExpectedException expectedException = ExpectedException.none();
@@ -86,19 +103,15 @@ public class StripAttachmentTest {
@Test
public void serviceShouldNotModifyMailWhenNotMultipart() throws MessagingException, IOException {
Mailet mailet = initMailet();
- MimeMessage message = mimeMessage();
+ MimeMessage message = MimeMessageBuilder.mimeMessageBuilder()
+ .setSubject("test")
+ .setText("simple text")
+ .build();
- MimeBodyPart part = new MimeBodyPart();
- part.setText("simple text");
-
- message.setSubject("test");
- message.setContent(part, "text/plain");
- message.saveChanges();
-
- MimeMessage expectedMessage = mimeMessage();
- message.setSubject("test");
- message.setContent(part, "text/plain");
- message.saveChanges();
+ MimeMessage expectedMessage = MimeMessageBuilder.mimeMessageBuilder()
+ .setSubject("test")
+ .setText("simple text")
+ .build();
Mail mail = FakeMail.builder()
.mimeMessage(message)
@@ -110,26 +123,23 @@ public class StripAttachmentTest {
mailet.service(mail);
assertThat(mail).isEqualToComparingFieldByField(expectedMail);
- assertThat(mail.getMessage()).isEqualToComparingFieldByField(expectedMessage);
- assertThat(mail.getMessage().getContent()).isEqualTo(part);
+ BodyPart content = (BodyPart) mail.getMessage().getContent();
+ assertThat(IOUtils.toString(content.getInputStream(), Charsets.UTF_8)).isEqualTo("simple text");
}
@Test
public void serviceShouldSaveAttachmentInAFolderWhenPatternMatch() throws MessagingException, IOException {
Mailet mailet = initMailet();
- MimeMessage message = mimeMessage();
- MimeMultipart multiPart = new MimeMultipart();
- MimeBodyPart textPart = new MimeBodyPart();
- textPart.setText("simple text");
- multiPart.addBodyPart(textPart);
String expectedAttachmentContent = EXPECTED_ATTACHMENT_CONTENT;
- multiPart.addBodyPart(createAttachmentBodyPart(expectedAttachmentContent, "10.tmp", MIME_HEADER_DEFAULT));
- multiPart.addBodyPart(createAttachmentBodyPart("\u0014\u00A3\u00E1\u00E2\u00E4", "temp.zip", MIME_HEADER_DEFAULT));
-
- message.setSubject("test");
- message.setContent(multiPart);
- message.saveChanges();
+ MimeMessage message = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("simple text")
+ .build(),
+ createAttachmentBodyPart(expectedAttachmentContent, "10.tmp", TEXT_HEADERS),
+ createAttachmentBodyPart("\u0014\u00A3\u00E1\u00E2\u00E4", "temp.zip", TEXT_HEADERS))
+ .build();
Mail mail = FakeMail.builder()
.mimeMessage(message)
@@ -157,19 +167,17 @@ public class StripAttachmentTest {
Mailet mailet = new StripAttachment();
mailet.init(mci);
- MimeMultipart multiPart = new MimeMultipart();
- MimeBodyPart textPart = new MimeBodyPart();
- textPart.setText("simple text");
- multiPart.addBodyPart(textPart);
String expectedFileName = "10.ical";
- multiPart.addBodyPart(createAttachmentBodyPart("content", expectedFileName, MIME_HEADER_TEXT_CALENDAR));
- multiPart.addBodyPart(createAttachmentBodyPart("other content", "11.ical", MIME_HEADER_DEFAULT));
- multiPart.addBodyPart(createAttachmentBodyPart("<p>html</p>", "index.html", MIME_HEADER_TEXT_HTML));
+ MimeMessage message = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("simple text")
+ .build(),
+ createAttachmentBodyPart("content", expectedFileName, CALENDAR_HEADERS),
+ createAttachmentBodyPart("other content", "11.ical", TEXT_HEADERS),
+ createAttachmentBodyPart("<p>html</p>", "index.html", HTML_HEADERS))
+ .build();
- MimeMessage message = mimeMessage();
- message.setSubject("test");
- message.setContent(multiPart);
- message.saveChanges();
Mail mail = FakeMail.builder()
.mimeMessage(message)
@@ -182,21 +190,13 @@ public class StripAttachmentTest {
assertThat(removedAttachments).containsOnly(expectedFileName);
}
- private MimeMessage mimeMessage() {
- return new MimeMessage(Session
- .getDefaultInstance(new Properties()));
- }
-
- private MimeBodyPart createAttachmentBodyPart(String body, String fileName, String mimeHeaders) throws MessagingException, UnsupportedEncodingException {
- MimeBodyPart part = createBodyPart(body, mimeHeaders);
- part.setDisposition("attachment");
- part.setFileName(fileName);
- return part;
- }
-
- private MimeBodyPart createBodyPart(String body, String mimeHeaders) throws MessagingException, UnsupportedEncodingException {
- byte[] content = (mimeHeaders + body).getBytes("UTF-8");
- return new MimeBodyPart(new ByteArrayInputStream(content));
+ private BodyPart createAttachmentBodyPart(String body, String fileName, MimeMessageBuilder.Header... headers) throws MessagingException, IOException {
+ return MimeMessageBuilder.bodyPartBuilder()
+ .data(body)
+ .addHeaders(headers)
+ .disposition(MimeBodyPart.ATTACHMENT)
+ .filename(fileName)
+ .build();
}
@Test
@@ -211,19 +211,15 @@ public class StripAttachmentTest {
.build();
mailet.init(mci);
- MimeMessage message = mimeMessage();
-
- MimeMultipart multiPart = new MimeMultipart();
- MimeBodyPart part = new MimeBodyPart();
- part.setText("simple text");
- multiPart.addBodyPart(part);
String expectedAttachmentContent = EXPECTED_ATTACHMENT_CONTENT;
- multiPart.addBodyPart(createAttachmentBodyPart(expectedAttachmentContent, "temp.tmp", MIME_HEADER_DEFAULT));
- multiPart.addBodyPart(createAttachmentBodyPart("\u0014\u00A3\u00E1\u00E2\u00E4", "winmail.dat", MIME_HEADER_DEFAULT));
-
- message.setSubject("test");
- message.setContent(multiPart);
- message.saveChanges();
+ MimeMessage message = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("simple text")
+ .build(),
+ createAttachmentBodyPart(expectedAttachmentContent, "temp.tmp", TEXT_HEADERS),
+ createAttachmentBodyPart("\u0014\u00A3\u00E1\u00E2\u00E4", "winmail.dat", TEXT_HEADERS))
+ .build();
Mail mail = FakeMail.builder()
.mimeMessage(message)
@@ -245,19 +241,16 @@ public class StripAttachmentTest {
public void serviceShouldDecodeFilenameAndSaveAttachmentInAFolderWhenPatternMatchAndDecodeFilenameTrue() throws MessagingException, IOException {
Mailet mailet = initMailet();
- MimeMessage message = mimeMessage();
-
- MimeMultipart multiPart = new MimeMultipart();
- MimeBodyPart part = new MimeBodyPart();
- part.setText("simple text");
- multiPart.addBodyPart(part);
String expectedAttachmentContent = EXPECTED_ATTACHMENT_CONTENT;
- multiPart.addBodyPart(createAttachmentBodyPart(expectedAttachmentContent, "=?iso-8859-15?Q?=E9_++++Pubblicit=E0_=E9_vietata____Milano9052.tmp?=", MIME_HEADER_DEFAULT));
- multiPart.addBodyPart(createAttachmentBodyPart("\u0014\u00A3\u00E1\u00E2\u00E4", "temp.zip", MIME_HEADER_DEFAULT));
-
- message.setSubject("test");
- message.setContent(multiPart);
- message.saveChanges();
+ MimeMessage message = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("simple text")
+ .build(),
+ createAttachmentBodyPart(expectedAttachmentContent,
+ "=?iso-8859-15?Q?=E9_++++Pubblicit=E0_=E9_vietata____Milano9052.tmp?=", TEXT_HEADERS),
+ createAttachmentBodyPart("\u0014\u00A3\u00E1\u00E2\u00E4", "temp.zip", TEXT_HEADERS))
+ .build();
Mail mail = FakeMail.builder()
.mimeMessage(message)
@@ -290,20 +283,16 @@ public class StripAttachmentTest {
.setProperty("attribute", customAttribute)
.build();
mailet.init(mci);
-
- MimeMessage message = mimeMessage();
- MimeMultipart multiPart = new MimeMultipart();
- MimeBodyPart part = new MimeBodyPart();
- part.setText("simple text");
- multiPart.addBodyPart(part);
String expectedKey = "10.tmp";
- multiPart.addBodyPart(createAttachmentBodyPart(EXPECTED_ATTACHMENT_CONTENT, expectedKey, MIME_HEADER_DEFAULT));
- multiPart.addBodyPart(createAttachmentBodyPart("\u0014\u00A3\u00E1\u00E2\u00E4", "temp.zip", MIME_HEADER_DEFAULT));
-
- message.setSubject("test");
- message.setContent(multiPart);
- message.saveChanges();
+ MimeMessage message = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("simple text")
+ .build(),
+ createAttachmentBodyPart(EXPECTED_ATTACHMENT_CONTENT, expectedKey, TEXT_HEADERS),
+ createAttachmentBodyPart("\u0014\u00A3\u00E1\u00E2\u00E4", "temp.zip", TEXT_HEADERS))
+ .build();
Mail mail = FakeMail.builder()
.mimeMessage(message)
@@ -542,17 +531,15 @@ public class StripAttachmentTest {
.setProperty("pattern", ".*")
.build();
mailet.init(mci);
- MimeMultipart multiPart = new MimeMultipart();
-
- MimeBodyPart part = new MimeBodyPart(new ByteArrayInputStream(new byte[0]));
- part.setFileName("removeMe.tmp");
- multiPart.addBodyPart(part);
- MimeMessage message = mimeMessage();
- message.setContent(multiPart);
- message.saveChanges();
+
+ MimeMessage mimeMessage = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(MimeMessageBuilder.bodyPartBuilder()
+ .filename("removeMe.tmp")
+ .build())
+ .build();
Mail mail = mock(Mail.class);
//When
- boolean actual = mailet.processMultipartPartMessage(message, mail);
+ boolean actual = mailet.processMultipartPartMessage(mimeMessage, mail);
//Then
assertThat(actual).isTrue();
}
@@ -568,17 +555,16 @@ public class StripAttachmentTest {
.setProperty("pattern", ".*")
.build();
mailet.init(mci);
- MimeMultipart multiPart = new MimeMultipart();
-
- MimeBodyPart part = new MimeBodyPart(new ByteArrayInputStream(new byte[0]));
- part.setFileName("removeMe.tmp");
- multiPart.addBodyPart(part);
- MimeMessage message = mimeMessage();
- message.setContent(multiPart);
- message.saveChanges();
+
+ MimeMessage mimeMessage = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(MimeMessageBuilder.bodyPartBuilder()
+ .filename("removeMe.tmp")
+ .build())
+ .build();
+
Mail mail = mock(Mail.class);
//When
- boolean actual = mailet.processMultipartPartMessage(message, mail);
+ boolean actual = mailet.processMultipartPartMessage(mimeMessage, mail);
//Then
assertThat(actual).isTrue();
}
@@ -595,18 +581,20 @@ public class StripAttachmentTest {
.setProperty("pattern", ".*")
.build();
mailet.init(mci);
- MimeMultipart multiPart = new MimeMultipart();
-
- MimeBodyPart part = new MimeBodyPart(new ByteArrayInputStream(new byte[0]));
- part.setFileName("removeMe.tmp");
- multiPart.addBodyPart(part);
- multiPart.addBodyPart(part);
- MimeMessage message = mimeMessage();
- message.setContent(multiPart);
- message.saveChanges();
+
+ MimeMessage mimeMessage = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .filename("removeMe.tmp")
+ .build(),
+ MimeMessageBuilder.bodyPartBuilder()
+ .filename("removeMe.tmp")
+ .build())
+ .build();
+
Mail mail = FakeMail.builder().build();
//When
- boolean actual = mailet.processMultipartPartMessage(message, mail);
+ boolean actual = mailet.processMultipartPartMessage(mimeMessage, mail);
//Then
assertThat(actual).isTrue();
@SuppressWarnings("unchecked")
@@ -628,24 +616,21 @@ public class StripAttachmentTest {
.setProperty("attribute", customAttribute)
.build();
mailet.init(mci);
-
- // Message with two matching attachments
- MimeMultipart multiPart = new MimeMultipart();
- MimeBodyPart attachmentPart1 = new MimeBodyPart(new ByteArrayInputStream(new byte[0]));
- attachmentPart1.setFileName("removeMe1.tmp");
- multiPart.addBodyPart(attachmentPart1);
- MimeBodyPart attachmentPart2 = new MimeBodyPart(new ByteArrayInputStream(new byte[0]));
- attachmentPart2.setFileName("removeMe2.tmp");
- multiPart.addBodyPart(attachmentPart2);
-
- MimeMessage message = mimeMessage();
- message.setContent(multiPart);
- message.saveChanges();
+
+ MimeMessage mimeMessage = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .filename("removeMe1.tmp")
+ .build(),
+ MimeMessageBuilder.bodyPartBuilder()
+ .filename("removeMe2.tmp")
+ .build())
+ .build();
Mail mail = FakeMail.builder().build();
//When
- boolean actual = mailet.processMultipartPartMessage(message, mail);
+ boolean actual = mailet.processMultipartPartMessage(mimeMessage, mail);
//Then
assertThat(actual).isTrue();
@@ -666,23 +651,15 @@ public class StripAttachmentTest {
.build();
mailet .init(mci);
- MimeBodyPart attachmentPart = new MimeBodyPart(new ByteArrayInputStream(new byte[0]));
- attachmentPart.setFileName("removeMe.tmp");
-
- MimeMultipart subMultiPart = new MimeMultipart();
- subMultiPart.addBodyPart(attachmentPart);
-
- MimeMessage subMessage = mimeMessage();
- subMessage.setContent(subMultiPart);
- subMessage.saveChanges();
-
- MimeMultipart multiPartMixed = new MimeMultipart();
- multiPartMixed.addBodyPart(new MimeBodyPart(new InternetHeaders(new ByteArrayInputStream("Content-Type: multipart/mixed".getBytes(Charsets.US_ASCII)))
- , IOUtils.toByteArray(subMessage.getInputStream())));
-
- MimeMessage message = mimeMessage();
- message.setContent(multiPartMixed);
- message.saveChanges();
+ MimeMessage message = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithSubMessage(
+ MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .filename("removeMe.tmp")
+ .build())
+ .build())
+ .build();
Mail mail = mock(Mail.class);
//When
boolean actual = mailet.processMultipartPartMessage(message, mail);
@@ -701,20 +678,16 @@ public class StripAttachmentTest {
.setProperty("pattern", ".*\\.tmp")
.build();
mailet.init(mci);
- MimeMultipart mainMultiPart = new MimeMultipart();
- MimeMessage subMessage = mimeMessage();
- MimeMultipart subMultiPart = new MimeMultipart();
- MimeBodyPart part = new MimeBodyPart(new ByteArrayInputStream(new byte[0]));
- part.setFileName("dontRemoveMe.other");
- subMultiPart.addBodyPart(part);
- subMessage.setContent(subMultiPart);
- subMessage.saveChanges();
- mainMultiPart.addBodyPart(new MimeBodyPart(new InternetHeaders(new ByteArrayInputStream("Content-Type: multipart/mixed".getBytes(Charsets.US_ASCII)))
- ,
- IOUtils.toByteArray(subMessage.getInputStream())));
- MimeMessage message = mimeMessage();
- message.setContent(mainMultiPart);
- message.saveChanges();
+
+ MimeMessage message = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithSubMessage(
+ MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .filename("dontRemoveMe.other")
+ .build())
+ .build())
+ .build();
Mail mail = mock(Mail.class);
//When
boolean actual = mailet.processMultipartPartMessage(message, mail);
@@ -733,19 +706,21 @@ public class StripAttachmentTest {
.setProperty("pattern", ".*")
.build();
mailet.init(mci);
- MimeMultipart multiPart = new MimeMultipart();
-
- MimeBodyPart part = new MimeBodyPart(new ByteArrayInputStream(new byte[0]));
- part.setFileName("removeMe.tmp");
- multiPart.addBodyPart(part);
- MimeMessage message = mimeMessage();
- message.setContent(multiPart);
- message.saveChanges();
+
+ MimeMultipart mimeMultipart = MimeMessageBuilder.multipartBuilder()
+ .addBody(MimeMessageBuilder.bodyPartBuilder()
+ .filename("removeMe.tmp")
+ .build())
+ .build();
+ MimeMessage mimeMessage = MimeMessageBuilder.mimeMessageBuilder()
+ .setContent(mimeMultipart)
+ .build();
+
Mail mail = mock(Mail.class);
//When
- mailet.processMultipartPartMessage(message, mail);
+ mailet.processMultipartPartMessage(mimeMessage, mail);
//Then
- assertThat(multiPart.getCount()).isZero();
+ assertThat(mimeMultipart.getCount()).isZero();
}
@Test
@@ -757,8 +732,10 @@ public class StripAttachmentTest {
.setProperty("pattern", ".*\\.tmp")
.build();
mailet.init(mci);
- Part part = new MimeBodyPart(new ByteArrayInputStream(new byte[0]));
- part.setFileName("example.tmp");
+
+ Part part = MimeMessageBuilder.bodyPartBuilder()
+ .filename("example.tmp")
+ .build();
//When
Optional<String> maybeFilename = mailet.saveAttachmentToFile(part, ABSENT_MIME_TYPE);
//Then
@@ -776,7 +753,7 @@ public class StripAttachmentTest {
.setProperty("pattern", ".*\\.tmp")
.build();
mailet.init(mci);
- Part part = new MimeBodyPart(new ByteArrayInputStream(new byte[0]));
+ Part part = MimeMessageBuilder.bodyPartBuilder().build();
Optional<String> maybeFilename = mailet.saveAttachmentToFile(part, ABSENT_MIME_TYPE);
assertThat(maybeFilename).isAbsent();
@@ -791,7 +768,7 @@ public class StripAttachmentTest {
.setProperty("pattern", ".*")
.build();
mailet.init(mci);
- Part part = new MimeBodyPart(new ByteArrayInputStream(new byte[0]));
+ Part part = MimeMessageBuilder.bodyPartBuilder().build();
String fileName = "exampleWithoutSuffix";
//When
Optional<String> maybeFilename = mailet.saveAttachmentToFile(part, Optional.of(fileName));
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/mailet/standard/src/test/java/org/apache/james/transport/mailets/UnwrapTextTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/UnwrapTextTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/UnwrapTextTest.java
index ee62290..6942479 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/UnwrapTextTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/UnwrapTextTest.java
@@ -19,7 +19,6 @@
package org.apache.james.transport.mailets;
-import org.apache.james.transport.mailets.UnwrapText;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
index 8f9a0b0..4ff3ca9 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
@@ -37,6 +37,7 @@ import org.apache.mailet.base.MailAddressFixture;
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.MimeMessageBuilder;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -113,7 +114,7 @@ public class BounceTest {
.name(MAILET_NAME)
.recipient(MailAddressFixture.ANY_AT_JAMES)
.build();
- MimeMessage mimeMessage = new MimeMessage(Session.getDefaultInstance(new Properties()));
+ MimeMessage mimeMessage = MimeMessageBuilder.defaultMimeMessage();
mimeMessage.setText("My content");
mail.setMessage(mimeMessage);
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
index 84d2e50..26fee78 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
@@ -29,17 +29,10 @@ import static org.mockito.Mockito.when;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
-import java.util.Properties;
-import javax.activation.DataHandler;
import javax.mail.Flags;
import javax.mail.MessagingException;
-import javax.mail.Session;
-import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import javax.mail.util.ByteArrayDataSource;
import org.apache.james.domainlist.api.DomainList;
import org.apache.james.mailbox.MailboxManager;
@@ -57,6 +50,7 @@ import org.apache.mailet.MailAddress;
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.MimeMessageBuilder;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
@@ -143,26 +137,19 @@ public class LocalDeliveryTest {
}
private Mail createMail() throws MessagingException, IOException {
- MimeMessage message = new MimeMessage(Session.getDefaultInstance(new Properties()));
- message.setSubject("Subject");
- message.setSender(new InternetAddress("sender@any.com"));
- message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(RECEIVER_DOMAIN_COM));
- MimeMultipart multipart = new MimeMultipart();
- MimeBodyPart scriptPart = new MimeBodyPart();
- scriptPart.setDataHandler(
- new DataHandler(
- new ByteArrayDataSource(
- "toto",
- "application/sieve; charset=UTF-8")
- ));
- scriptPart.setDisposition(MimeBodyPart.ATTACHMENT);
- scriptPart.setHeader("Content-Type", "application/sieve; charset=UTF-8");
- scriptPart.setFileName("file.txt");
- multipart.addBodyPart(scriptPart);
- message.setContent(multipart);
- message.saveChanges();
return FakeMail.builder()
- .mimeMessage(message)
+ .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
+ .setSender("sender@any.com")
+ .setSubject("Subject")
+ .addToRecipient(RECEIVER_DOMAIN_COM)
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("toto")
+ .disposition(MimeBodyPart.ATTACHMENT)
+ .filename("file.txt")
+ .addHeader("Content-Type", "application/sieve; charset=UTF-8")
+ .build())
+ .build())
.state(Mail.DEFAULT)
.recipient(new MailAddress("receiver@domain.com"))
.build();
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
index be24ca1..9fe8f69 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
@@ -28,16 +28,9 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
import java.util.ArrayList;
import java.util.List;
-import java.util.Properties;
-import javax.activation.DataHandler;
import javax.mail.MessagingException;
-import javax.mail.Multipart;
-import javax.mail.Session;
-import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import javax.mail.util.ByteArrayDataSource;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
@@ -47,6 +40,7 @@ import org.apache.mailet.base.MailAddressFixture;
import org.apache.mailet.base.RFC2822Headers;
import org.apache.mailet.base.test.FakeMail;
import org.apache.mailet.base.test.FakeMailContext;
+import org.apache.mailet.base.test.MimeMessageBuilder;
import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
@@ -76,7 +70,7 @@ public class MailDispatcherTest {
.sender(MailAddressFixture.OTHER_AT_JAMES)
.recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
.state("state")
- .mimeMessage(new MimeMessage(Session.getDefaultInstance(new Properties())))
+ .mimeMessage(MimeMessageBuilder.defaultMimeMessage())
.build();
testee.dispatch(mail);
@@ -97,7 +91,7 @@ public class MailDispatcherTest {
FakeMail mail = FakeMail.builder()
.recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
.state("state")
- .mimeMessage(new MimeMessage(Session.getDefaultInstance(new Properties())))
+ .mimeMessage(MimeMessageBuilder.defaultMimeMessage())
.build();
testee.dispatch(mail);
@@ -116,7 +110,7 @@ public class MailDispatcherTest {
String state = "state";
FakeMail mail = FakeMail.builder()
.recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
- .mimeMessage(new MimeMessage(Session.getDefaultInstance(new Properties())))
+ .mimeMessage(MimeMessageBuilder.defaultMimeMessage())
.state(state)
.build();
testee.dispatch(mail);
@@ -136,18 +130,12 @@ public class MailDispatcherTest {
.when(mailStore)
.storeMail(any(MailAddress.class), any(Mail.class));
- MimeMessage mimeMessage = new MimeMessage(Session.getDefaultInstance(new Properties()));
- Multipart multipart = new MimeMultipart();
- MimeBodyPart bodyPart = new MimeBodyPart();
- bodyPart.setDataHandler(
- new DataHandler(
- new ByteArrayDataSource(
- "toto",
- "text/plain; charset=UTF-8")
- ));
- multipart.addBodyPart(bodyPart);
- mimeMessage.setContent(multipart);
- mimeMessage.saveChanges();
+ MimeMessage mimeMessage = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("toto")
+ .build())
+ .build();
FakeMail mail = FakeMail.builder()
.sender(MailAddressFixture.OTHER_AT_JAMES)
@@ -179,7 +167,7 @@ public class MailDispatcherTest {
FakeMail mail = FakeMail.builder()
.sender(MailAddressFixture.OTHER_AT_JAMES)
.recipients(MailAddressFixture.ANY_AT_JAMES)
- .mimeMessage(new MimeMessage(Session.getDefaultInstance(new Properties())))
+ .mimeMessage(MimeMessageBuilder.defaultMimeMessage())
.state("state")
.build();
testee.dispatch(mail);
@@ -200,11 +188,12 @@ public class MailDispatcherTest {
.consume(false)
.build();
- MimeMessage mimeMessage = new MimeMessage(Session.getDefaultInstance(new Properties()));
String delivered_to_1 = "delivered_to_1";
String delivered_to_2 = "delivered_to_2";
- mimeMessage.addHeader(MailDispatcher.DELIVERED_TO, delivered_to_1);
- mimeMessage.addHeader(MailDispatcher.DELIVERED_TO, delivered_to_2);
+ MimeMessage mimeMessage = MimeMessageBuilder.mimeMessageBuilder()
+ .addHeaders(new MimeMessageBuilder.Header(MailDispatcher.DELIVERED_TO, delivered_to_1),
+ new MimeMessageBuilder.Header(MailDispatcher.DELIVERED_TO, delivered_to_2))
+ .build();
FakeMail mail = FakeMail.builder()
.sender(MailAddressFixture.OTHER_AT_JAMES)
.recipients(MailAddressFixture.ANY_AT_JAMES)
@@ -229,7 +218,7 @@ public class MailDispatcherTest {
FakeMail mail = FakeMail.builder()
.sender(MailAddressFixture.OTHER_AT_JAMES)
.recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.ANY_AT_JAMES2)
- .mimeMessage(new MimeMessage(Session.getDefaultInstance(new Properties())))
+ .mimeMessage(MimeMessageBuilder.defaultMimeMessage())
.state("state")
.build();
testee.dispatch(mail);
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailboxAppenderTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailboxAppenderTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailboxAppenderTest.java
index 0fc54c5..c83ddc5 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailboxAppenderTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailboxAppenderTest.java
@@ -22,16 +22,8 @@ package org.apache.james.transport.mailets.delivery;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
-import java.util.Properties;
-
-import javax.activation.DataHandler;
import javax.mail.MessagingException;
-import javax.mail.Multipart;
-import javax.mail.Session;
-import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import javax.mail.util.ByteArrayDataSource;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
@@ -42,6 +34,7 @@ import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageRange;
import org.apache.james.mailbox.model.MessageResult;
import org.apache.james.mailbox.model.MessageResultIterator;
+import org.apache.mailet.base.test.MimeMessageBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@@ -67,18 +60,12 @@ public class MailboxAppenderTest {
@Before
public void setUp() throws Exception {
- mimeMessage = new MimeMessage(Session.getDefaultInstance(new Properties()));
- Multipart multipart = new MimeMultipart();
- MimeBodyPart bodyPart = new MimeBodyPart();
- bodyPart.setDataHandler(
- new DataHandler(
- new ByteArrayDataSource(
- "toto",
- "text/plain; charset=UTF-8")
- ));
- multipart.addBodyPart(bodyPart);
- mimeMessage.setContent(multipart);
- mimeMessage.saveChanges();
+ mimeMessage = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("toto")
+ .build())
+ .build();
integrationResources = new InMemoryIntegrationResources();
integrationResources.init();
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
index 97556de..e3bdddf 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
@@ -24,16 +24,9 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.io.IOException;
-import java.util.Properties;
-import javax.activation.DataHandler;
import javax.mail.MessagingException;
-import javax.mail.Session;
-import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import javax.mail.util.ByteArrayDataSource;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
@@ -45,6 +38,8 @@ import org.apache.mailet.MailAddress;
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.MimeMessageBuilder;
+import org.apache.mailet.base.test.MimeMessageBuilder.Header;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
@@ -57,16 +52,6 @@ public class SieveIntegrationTest {
public static final String LOCAL_PART = "receiver";
public static final String RECEIVER_DOMAIN_COM = LOCAL_PART + "@domain.com";
- class Header {
- String name;
- String value;
-
- public Header(String name, String value) {
- this.name = name;
- this.value = value;
- }
- }
-
public static DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-mm-dd HH:mm:ss");
public static final DateTime DATE_CLOSE = formatter.parseDateTime("2016-01-16 00:00:00");
public static final DateTime DATE_DEFAULT = formatter.parseDateTime("2016-01-14 00:00:00");
@@ -365,7 +350,6 @@ public class SieveIntegrationTest {
assertThat(mail.getAttribute(MailStore.DELIVERY_PATH_PREFIX + LOCAL_PART)).isEqualTo(expressMailboxNameWithSlash(SELECTED_MAILBOX.getName()));
}
-
@Test
public void addressDomainShouldOnlyMatchLocalPart() throws Exception {
prepareTestUsingScript("org/apache/james/transport/mailets/delivery/addressDomain.script");
@@ -940,34 +924,26 @@ public class SieveIntegrationTest {
return createMailWithSubjectAndHeaders(subject);
}
- private FakeMail createMailWithSubjectAndHeaders(String subject, Header... headers) throws MessagingException, IOException {
- MimeMessage message = new MimeMessage(Session.getDefaultInstance(new Properties()));
- message.setSubject(subject);
- message.setSender(new InternetAddress("sender@any.com"));
- message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(RECEIVER_DOMAIN_COM));
- MimeMultipart multipart = new MimeMultipart();
- MimeBodyPart scriptPart = new MimeBodyPart();
- scriptPart.setDataHandler(
- new DataHandler(
- new ByteArrayDataSource(
- "A text to match",
- "text/plain; charset=UTF-8")
- ));
- scriptPart.setDisposition(MimeBodyPart.ATTACHMENT);
- scriptPart.setHeader("Content-Type", "text/plain; charset=UTF-8");
- scriptPart.setFileName("file.txt");
- multipart.addBodyPart(scriptPart);
- message.setContent(multipart);
- for (Header header : headers) {
- message.addHeader(header.name, header.value);
- }
- message.saveChanges();
+ private FakeMail createMailWithSubjectAndHeaders(String subject, MimeMessageBuilder.Header... headers) throws MessagingException, IOException {
return FakeMail.builder()
- .mimeMessage(message)
- .state(Mail.DEFAULT)
- .recipient(new MailAddress(RECEIVER_DOMAIN_COM))
- .sender(new MailAddress("sender@any.com"))
- .build();
+ .mimeMessage(
+ MimeMessageBuilder.mimeMessageBuilder()
+ .setSubject(subject)
+ .addHeaders(headers)
+ .setSender("sender@any.com")
+ .addToRecipient(RECEIVER_DOMAIN_COM)
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("A text to match")
+ .addHeader("Content-Type", "text/plain; charset=UTF-8")
+ .filename("file.txt")
+ .disposition(MimeBodyPart.ATTACHMENT)
+ .build())
+ .build())
+ .state(Mail.DEFAULT)
+ .recipient(new MailAddress(RECEIVER_DOMAIN_COM))
+ .sender(new MailAddress("sender@any.com"))
+ .build();
}
private String expressMailboxNameWithSlash(String name) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java
index 15cac3f..8c6cbf5 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java
@@ -25,15 +25,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import java.util.Properties;
-
-import javax.activation.DataHandler;
-import javax.mail.Multipart;
-import javax.mail.Session;
-import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import javax.mail.util.ByteArrayDataSource;
import org.apache.commons.logging.Log;
import org.apache.james.metrics.api.Metric;
@@ -42,6 +34,7 @@ import org.apache.james.user.api.UsersRepositoryException;
import org.apache.mailet.MailAddress;
import org.apache.mailet.base.MailAddressFixture;
import org.apache.mailet.base.test.FakeMail;
+import org.apache.mailet.base.test.MimeMessageBuilder;
import org.junit.Before;
import org.junit.Test;
@@ -65,18 +58,12 @@ public class SimpleMailStoreTest {
.log(mock(Log.class))
.build();
- mimeMessage = new MimeMessage(Session.getDefaultInstance(new Properties()));
- Multipart multipart = new MimeMultipart();
- MimeBodyPart bodyPart = new MimeBodyPart();
- bodyPart.setDataHandler(
- new DataHandler(
- new ByteArrayDataSource(
- "toto",
- "text/plain; charset=UTF-8")
- ));
- multipart.addBodyPart(bodyPart);
- mimeMessage.setContent(multipart);
- mimeMessage.saveChanges();
+ mimeMessage = MimeMessageBuilder.mimeMessageBuilder()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("toto")
+ .build())
+ .build();
}
@Test
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
index f166c09..1c556a7 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
@@ -56,6 +56,7 @@ import org.apache.mailet.MailAddress;
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.MimeMessageBuilder;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -193,29 +194,22 @@ public class ToRecipientFolderTest {
}
private Mail createMail() throws MessagingException, IOException {
- MimeMessage message = new MimeMessage(Session.getDefaultInstance(new Properties()));
- message.setSubject("Subject");
- message.setSender(new InternetAddress("sender@any.com"));
- message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(USER));
- MimeMultipart multipart = new MimeMultipart();
- MimeBodyPart scriptPart = new MimeBodyPart();
- scriptPart.setDataHandler(
- new DataHandler(
- new ByteArrayDataSource(
- "toto",
- "application/sieve; charset=UTF-8")
- ));
- scriptPart.setDisposition(MimeBodyPart.ATTACHMENT);
- scriptPart.setHeader("Content-Type", "application/sieve; charset=UTF-8");
- scriptPart.setFileName("file.txt");
- multipart.addBodyPart(scriptPart);
- message.setContent(multipart);
- message.saveChanges();
return FakeMail.builder()
- .mimeMessage(message)
- .state(Mail.DEFAULT)
- .recipient(new MailAddress(USER))
- .build();
+ .mimeMessage(MimeMessageBuilder.mimeMessageBuilder()
+ .setSender("sender@any.com")
+ .setSubject("Subject")
+ .addToRecipient(USER)
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("toto")
+ .disposition(MimeBodyPart.ATTACHMENT)
+ .filename("file.txt")
+ .addHeader("Content-Type", "application/sieve; charset=UTF-8")
+ .build())
+ .build())
+ .state(Mail.DEFAULT)
+ .recipient(new MailAddress("receiver@domain.com"))
+ .build();
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/883edefb/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
index bdf6dd5..15f4bdb 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
@@ -27,17 +27,13 @@ import static org.mockito.Mockito.when;
import java.io.ByteArrayInputStream;
import java.io.IOException;
-import java.util.Properties;
-import javax.activation.DataHandler;
import javax.mail.MessagingException;
-import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.internet.MimeMultipart;
-import javax.mail.util.ByteArrayDataSource;
import org.apache.commons.io.IOUtils;
import org.apache.james.managesieve.api.SieveParser;
@@ -51,6 +47,7 @@ import org.apache.mailet.MailAddress;
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.MimeMessageBuilder;
import org.junit.Before;
import org.junit.Test;
@@ -490,35 +487,26 @@ public class ManageSieveMailetTestCase {
}
private MimeMessage prepareMimeMessage(String subject) throws MessagingException {
- MimeMessage message = new MimeMessage(Session.getDefaultInstance(new Properties()));
- message.setSubject(subject);
- message.setSender(new InternetAddress(USER));
- message.setRecipient(RecipientType.TO, new InternetAddress(SIEVE_LOCALHOST));
- message.saveChanges();
- return message;
+ return MimeMessageBuilder.mimeMessageBuilder()
+ .setSubject(subject)
+ .addToRecipient(SIEVE_LOCALHOST)
+ .setSender(USER)
+ .build();
}
private MimeMessage prepareMessageWithAttachment(String scriptContent, String subject) throws MessagingException, IOException {
- MimeMessage message = prepareMimeMessage(subject);
- MimeMultipart multipart = new MimeMultipart();
- MimeBodyPart scriptPart = new MimeBodyPart();
- scriptPart.setDataHandler(
- new DataHandler(
- new ByteArrayDataSource(
- scriptContent,
- "application/sieve; charset=UTF-8")
- ));
- scriptPart.setDisposition(MimeBodyPart.ATTACHMENT);
- // setting a DataHandler with no mailcap definition is not
- // supported by the specs. Javamail activation still work,
- // but Geronimo activation translate it to text/plain.
- // Let's manually force the header.
- scriptPart.setHeader("Content-Type", "application/sieve; charset=UTF-8");
- scriptPart.setFileName(SCRIPT_NAME);
- multipart.addBodyPart(scriptPart);
- message.setContent(multipart);
- message.saveChanges();
- return message;
+ return MimeMessageBuilder.mimeMessageBuilder()
+ .setSubject(subject)
+ .addToRecipient(SIEVE_LOCALHOST)
+ .setSender(USER)
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data(scriptContent)
+ .disposition(MimeBodyPart.ATTACHMENT)
+ .filename(SCRIPT_NAME)
+ .addHeader("Content-Type", "application/sieve; charset=UTF-8")
+ .build())
+ .build();
}
private void ensureResponse(String subject, String... contents) throws MessagingException, IOException {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org