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 ma...@apache.org on 2017/09/11 09:29:30 UTC
[2/4] james-project git commit: JAMES-2135 Move SMTPMessageSender to
server/testing then easier for using it on all testings
JAMES-2135 Move SMTPMessageSender to server/testing then easier for using it on all testings
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ebad05e4
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ebad05e4
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ebad05e4
Branch: refs/heads/master
Commit: ebad05e45972d831230810f7abe10fd5f4c3f551
Parents: f4fc139
Author: quynhn <qn...@linagora.com>
Authored: Fri Sep 8 09:37:33 2017 +0700
Committer: Matthieu Baechler <ma...@apache.org>
Committed: Mon Sep 11 11:28:15 2017 +0200
----------------------------------------------------------------------
.../james/mailets/AddDeliveredToHeaderTest.java | 2 +-
.../mailets/CommonMailetConfigurationTest.java | 2 +-
.../RecipientRewriteTableIntegrationTest.java | 2 +-
.../org/apache/james/mailets/SieveDelivery.java | 2 +-
.../crypto/SMIMEDecryptIntegrationTest.java | 2 +-
.../crypto/SMIMESignIntegrationTest.java | 2 +-
.../james/mailets/utils/SMTPMessageSender.java | 117 -------------------
.../mailets/AmqpForwardAttachmentTest.java | 2 +-
.../mailets/ICSAttachmentWorkflowTest.java | 2 +-
.../transport/mailets/StripAttachmentTest.java | 2 +-
server/testing/pom.xml | 4 +
.../apache/james/utils/SMTPMessageSender.java | 117 +++++++++++++++++++
12 files changed, 130 insertions(+), 126 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/AddDeliveredToHeaderTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/AddDeliveredToHeaderTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/AddDeliveredToHeaderTest.java
index be54831..1e18728 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/AddDeliveredToHeaderTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/AddDeliveredToHeaderTest.java
@@ -22,7 +22,7 @@ package org.apache.james.mailets;
import org.apache.james.mailbox.model.MailboxConstants;
import org.apache.james.mailets.configuration.CommonProcessors;
import org.apache.james.mailets.configuration.MailetContainer;
-import org.apache.james.mailets.utils.SMTPMessageSender;
+import org.apache.james.utils.SMTPMessageSender;
import org.apache.james.modules.MailboxProbeImpl;
import org.apache.james.probe.DataProbe;
import org.apache.james.transport.mailets.AddDeliveredToHeader;
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/CommonMailetConfigurationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/CommonMailetConfigurationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/CommonMailetConfigurationTest.java
index 989beb5..c4fc960 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/CommonMailetConfigurationTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/CommonMailetConfigurationTest.java
@@ -22,7 +22,7 @@ package org.apache.james.mailets;
import org.apache.james.mailbox.model.MailboxConstants;
import org.apache.james.mailets.configuration.CommonProcessors;
import org.apache.james.mailets.configuration.MailetContainer;
-import org.apache.james.mailets.utils.SMTPMessageSender;
+import org.apache.james.utils.SMTPMessageSender;
import org.apache.james.modules.MailboxProbeImpl;
import org.apache.james.probe.DataProbe;
import org.apache.james.utils.IMAPMessageReader;
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java
index 3b0d101..75ae12d 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/RecipientRewriteTableIntegrationTest.java
@@ -22,7 +22,7 @@ package org.apache.james.mailets;
import org.apache.james.mailbox.model.MailboxConstants;
import org.apache.james.mailets.configuration.CommonProcessors;
import org.apache.james.mailets.configuration.MailetContainer;
-import org.apache.james.mailets.utils.SMTPMessageSender;
+import org.apache.james.utils.SMTPMessageSender;
import org.apache.james.modules.MailboxProbeImpl;
import org.apache.james.probe.DataProbe;
import org.apache.james.utils.IMAPMessageReader;
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/SieveDelivery.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/SieveDelivery.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/SieveDelivery.java
index e9a0016..b80f3a9 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/SieveDelivery.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/SieveDelivery.java
@@ -23,7 +23,7 @@ import org.apache.james.mailbox.model.MailboxConstants;
import org.apache.james.mailbox.store.probe.MailboxProbe;
import org.apache.james.mailets.configuration.CommonProcessors;
import org.apache.james.mailets.configuration.MailetContainer;
-import org.apache.james.mailets.utils.SMTPMessageSender;
+import org.apache.james.utils.SMTPMessageSender;
import org.apache.james.modules.MailboxProbeImpl;
import org.apache.james.modules.protocols.SieveProbeImpl;
import org.apache.james.probe.DataProbe;
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
index 75c6844..7055506 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java
@@ -31,7 +31,7 @@ import org.apache.james.mailets.configuration.CommonProcessors;
import org.apache.james.mailets.configuration.MailetConfiguration;
import org.apache.james.mailets.configuration.MailetContainer;
import org.apache.james.mailets.configuration.ProcessorConfiguration;
-import org.apache.james.mailets.utils.SMTPMessageSender;
+import org.apache.james.utils.SMTPMessageSender;
import org.apache.james.modules.MailboxProbeImpl;
import org.apache.james.util.date.ZonedDateTimeProvider;
import org.apache.james.utils.IMAPMessageReader;
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMESignIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMESignIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMESignIntegrationTest.java
index ecd0729..d84a28d 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMESignIntegrationTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMESignIntegrationTest.java
@@ -29,7 +29,7 @@ import org.apache.james.mailets.configuration.CommonProcessors;
import org.apache.james.mailets.configuration.MailetConfiguration;
import org.apache.james.mailets.configuration.MailetContainer;
import org.apache.james.mailets.configuration.ProcessorConfiguration;
-import org.apache.james.mailets.utils.SMTPMessageSender;
+import org.apache.james.utils.SMTPMessageSender;
import org.apache.james.modules.MailboxProbeImpl;
import org.apache.james.probe.DataProbe;
import org.apache.james.util.date.ZonedDateTimeProvider;
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/utils/SMTPMessageSender.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/utils/SMTPMessageSender.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/utils/SMTPMessageSender.java
deleted file mode 100644
index a2475eb..0000000
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/utils/SMTPMessageSender.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************
- * 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.james.mailets.utils;
-
-import java.io.ByteArrayOutputStream;
-import java.io.Closeable;
-import java.io.IOException;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-import java.security.spec.InvalidKeySpecException;
-
-import javax.mail.Message;
-import javax.mail.MessagingException;
-
-import org.apache.commons.net.smtp.AuthenticatingSMTPClient;
-import org.apache.commons.net.smtp.SMTPClient;
-import org.apache.mailet.Mail;
-
-import com.google.common.base.Charsets;
-import com.google.common.base.Joiner;
-import com.google.common.base.Throwables;
-
-public class SMTPMessageSender implements Closeable {
-
- public static SMTPMessageSender noAuthentication(String ip, int port, String senderDomain) throws IOException {
- SMTPClient smtpClient = new SMTPClient();
- smtpClient.connect(ip, port);
- return new SMTPMessageSender(smtpClient, senderDomain);
- }
-
- public static SMTPMessageSender authentication(String ip, int port, String senderDomain, String username, String password)
- throws NoSuchAlgorithmException, IOException, InvalidKeySpecException, InvalidKeyException {
- AuthenticatingSMTPClient smtpClient = new AuthenticatingSMTPClient();
- smtpClient.connect(ip, port);
- smtpClient.auth(AuthenticatingSMTPClient.AUTH_METHOD.PLAIN, username, password);
- return new SMTPMessageSender(smtpClient, senderDomain);
- }
-
- private final SMTPClient smtpClient;
- private final String senderDomain;
-
- private SMTPMessageSender(SMTPClient smtpClient, String senderDomain) {
- this.smtpClient = smtpClient;
- this.senderDomain = senderDomain;
- }
-
- public void sendMessage(String from, String recipient) {
- try {
- smtpClient.helo(senderDomain);
- smtpClient.setSender(from);
- smtpClient.rcpt("<" + recipient + ">");
- smtpClient.sendShortMessageData("FROM: " + from + "\r\n" +
- "subject: test\r\n" +
- "\r\n" +
- "content\r\n" +
- ".\r\n");
- } catch (IOException e) {
- throw Throwables.propagate(e);
- }
- }
-
- public void sendMessageWithHeaders(String from, String recipient, String message) {
- try {
- smtpClient.helo(senderDomain);
- smtpClient.setSender(from);
- smtpClient.rcpt("<" + recipient + ">");
- smtpClient.sendShortMessageData(message);
- } catch (IOException e) {
- throw Throwables.propagate(e);
- }
- }
-
- public void sendMessage(Mail mail) throws MessagingException {
- try {
- String from = mail.getSender().asString();
- smtpClient.helo(senderDomain);
- smtpClient.setSender(from);
- smtpClient.rcpt("<" + Joiner.on(", ").join(mail.getRecipients()) + ">");
- smtpClient.sendShortMessageData(asString(mail.getMessage()));
- } catch (IOException e) {
- throw Throwables.propagate(e);
- }
- }
-
- private String asString(Message message) throws IOException, MessagingException {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- message.writeTo(outputStream);
- return new String(outputStream.toByteArray(), Charsets.UTF_8);
- }
-
- public boolean messageHasBeenSent() throws IOException {
- return smtpClient.getReplyString()
- .contains("250 2.6.0 Message received");
- }
-
- @Override
- public void close() throws IOException {
- smtpClient.disconnect();
- }
-}
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
index 47f71c4..db43632 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
@@ -29,7 +29,7 @@ import org.apache.james.mailets.configuration.CommonProcessors;
import org.apache.james.mailets.configuration.MailetConfiguration;
import org.apache.james.mailets.configuration.MailetContainer;
import org.apache.james.mailets.configuration.ProcessorConfiguration;
-import org.apache.james.mailets.utils.SMTPMessageSender;
+import org.apache.james.utils.SMTPMessageSender;
import org.apache.james.modules.MailboxProbeImpl;
import org.apache.james.probe.DataProbe;
import org.apache.james.transport.mailets.amqp.AmqpRule;
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
index 22d68a9..5c6e777 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
@@ -31,7 +31,7 @@ import org.apache.james.mailets.configuration.CommonProcessors;
import org.apache.james.mailets.configuration.MailetConfiguration;
import org.apache.james.mailets.configuration.MailetContainer;
import org.apache.james.mailets.configuration.ProcessorConfiguration;
-import org.apache.james.mailets.utils.SMTPMessageSender;
+import org.apache.james.utils.SMTPMessageSender;
import org.apache.james.modules.MailboxProbeImpl;
import org.apache.james.probe.DataProbe;
import org.apache.james.transport.mailets.amqp.AmqpRule;
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
index bb24326..24a3ecb 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
@@ -29,7 +29,7 @@ import org.apache.james.mailets.configuration.CommonProcessors;
import org.apache.james.mailets.configuration.MailetConfiguration;
import org.apache.james.mailets.configuration.MailetContainer;
import org.apache.james.mailets.configuration.ProcessorConfiguration;
-import org.apache.james.mailets.utils.SMTPMessageSender;
+import org.apache.james.utils.SMTPMessageSender;
import org.apache.james.modules.MailboxProbeImpl;
import org.apache.james.probe.DataProbe;
import org.apache.james.utils.IMAPMessageReader;
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/testing/pom.xml
----------------------------------------------------------------------
diff --git a/server/testing/pom.xml b/server/testing/pom.xml
index 3836069..069fab8 100644
--- a/server/testing/pom.xml
+++ b/server/testing/pom.xml
@@ -32,6 +32,10 @@
<dependencies>
<dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>apache-mailet-api</artifactId>
+ </dependency>
+ <dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebad05e4/server/testing/src/main/java/org/apache/james/utils/SMTPMessageSender.java
----------------------------------------------------------------------
diff --git a/server/testing/src/main/java/org/apache/james/utils/SMTPMessageSender.java b/server/testing/src/main/java/org/apache/james/utils/SMTPMessageSender.java
new file mode 100644
index 0000000..2a0e5fc
--- /dev/null
+++ b/server/testing/src/main/java/org/apache/james/utils/SMTPMessageSender.java
@@ -0,0 +1,117 @@
+/****************************************************************
+ * 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.james.utils;
+
+import java.io.ByteArrayOutputStream;
+import java.io.Closeable;
+import java.io.IOException;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.security.spec.InvalidKeySpecException;
+
+import javax.mail.Message;
+import javax.mail.MessagingException;
+
+import org.apache.commons.net.smtp.AuthenticatingSMTPClient;
+import org.apache.commons.net.smtp.SMTPClient;
+import org.apache.mailet.Mail;
+
+import com.google.common.base.Charsets;
+import com.google.common.base.Joiner;
+import com.google.common.base.Throwables;
+
+public class SMTPMessageSender implements Closeable {
+
+ public static SMTPMessageSender noAuthentication(String ip, int port, String senderDomain) throws IOException {
+ SMTPClient smtpClient = new SMTPClient();
+ smtpClient.connect(ip, port);
+ return new SMTPMessageSender(smtpClient, senderDomain);
+ }
+
+ public static SMTPMessageSender authentication(String ip, int port, String senderDomain, String username, String password)
+ throws NoSuchAlgorithmException, IOException, InvalidKeySpecException, InvalidKeyException {
+ AuthenticatingSMTPClient smtpClient = new AuthenticatingSMTPClient();
+ smtpClient.connect(ip, port);
+ smtpClient.auth(AuthenticatingSMTPClient.AUTH_METHOD.PLAIN, username, password);
+ return new SMTPMessageSender(smtpClient, senderDomain);
+ }
+
+ private final SMTPClient smtpClient;
+ private final String senderDomain;
+
+ private SMTPMessageSender(SMTPClient smtpClient, String senderDomain) {
+ this.smtpClient = smtpClient;
+ this.senderDomain = senderDomain;
+ }
+
+ public void sendMessage(String from, String recipient) {
+ try {
+ smtpClient.helo(senderDomain);
+ smtpClient.setSender(from);
+ smtpClient.rcpt("<" + recipient + ">");
+ smtpClient.sendShortMessageData("FROM: " + from + "\r\n" +
+ "subject: test\r\n" +
+ "\r\n" +
+ "content\r\n" +
+ ".\r\n");
+ } catch (IOException e) {
+ throw Throwables.propagate(e);
+ }
+ }
+
+ public void sendMessageWithHeaders(String from, String recipient, String message) {
+ try {
+ smtpClient.helo(senderDomain);
+ smtpClient.setSender(from);
+ smtpClient.rcpt("<" + recipient + ">");
+ smtpClient.sendShortMessageData(message);
+ } catch (IOException e) {
+ throw Throwables.propagate(e);
+ }
+ }
+
+ public void sendMessage(Mail mail) throws MessagingException {
+ try {
+ String from = mail.getSender().asString();
+ smtpClient.helo(senderDomain);
+ smtpClient.setSender(from);
+ smtpClient.rcpt("<" + Joiner.on(", ").join(mail.getRecipients()) + ">");
+ smtpClient.sendShortMessageData(asString(mail.getMessage()));
+ } catch (IOException e) {
+ throw Throwables.propagate(e);
+ }
+ }
+
+ private String asString(Message message) throws IOException, MessagingException {
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ message.writeTo(outputStream);
+ return new String(outputStream.toByteArray(), Charsets.UTF_8);
+ }
+
+ public boolean messageHasBeenSent() throws IOException {
+ return smtpClient.getReplyString()
+ .contains("250 2.6.0 Message received");
+ }
+
+ @Override
+ public void close() throws IOException {
+ smtpClient.disconnect();
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org