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 ad...@apache.org on 2019/04/02 12:09:37 UTC

[james-project] 02/13: JAMES-2671 Use Port in SmtpGuiceProbe

This is an automated email from the ASF dual-hosted git repository.

aduprat pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 4a23f8aa32864baa00e164f0b2a3d12e12a57acb
Author: Gautier DI FOLCO <gd...@linagora.com>
AuthorDate: Fri Mar 8 14:29:51 2019 +0100

    JAMES-2671 Use Port in SmtpGuiceProbe
---
 .../org/apache/james/mpt/smtp/CassandraForwardSmtpTest.java |  2 +-
 .../james/mpt/smtp/CassandraSmtpStarttlsCommandTest.java    |  2 +-
 .../src/test/java/org/apache/james/JamesServerContract.java |  2 +-
 .../src/test/java/org/apache/james/JPAJamesServerTest.java  |  2 +-
 .../src/test/java/org/apache/james/JPAJamesServerTest.java  |  2 +-
 .../org/apache/james/modules/protocols/SmtpGuiceProbe.java  | 13 +++++++------
 .../org/apache/james/jmap/VacationRelayIntegrationTest.java |  2 +-
 .../jmap/methods/integration/SetMessagesMethodTest.java     |  2 +-
 .../main/java/org/apache/james/utils/SMTPMessageSender.java |  9 +++++----
 9 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraForwardSmtpTest.java b/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraForwardSmtpTest.java
index 331a65b..3a7b330 100644
--- a/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraForwardSmtpTest.java
+++ b/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraForwardSmtpTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.mpt.smtp;
 
-import static org.apache.james.mpt.smtp.CassandraSmtpTestRule.SmtpServerConnectedType.SMTP_GLOBAL_SERVER;
+import static org.apache.james.modules.protocols.SmtpGuiceProbe.SmtpServerConnectedType.SMTP_GLOBAL_SERVER;
 
 import org.apache.james.backends.cassandra.DockerCassandraRule;
 import org.junit.After;
diff --git a/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraSmtpStarttlsCommandTest.java b/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraSmtpStarttlsCommandTest.java
index 245fa1b..10eca13 100644
--- a/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraSmtpStarttlsCommandTest.java
+++ b/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraSmtpStarttlsCommandTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.mpt.smtp;
 
-import static org.apache.james.mpt.smtp.CassandraSmtpTestRule.SmtpServerConnectedType.SMTP_START_TLS_SERVER;
+import static org.apache.james.modules.protocols.SmtpGuiceProbe.SmtpServerConnectedType.SMTP_START_TLS_SERVER;
 
 import org.apache.james.backends.cassandra.DockerCassandraRule;
 import org.junit.After;
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerContract.java b/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerContract.java
index 0b48b10..1c4fa2c 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerContract.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerContract.java
@@ -89,7 +89,7 @@ public interface JamesServerContract {
     @Test
     default void connectSMTPServerShouldSendShabangOnConnect(GuiceJamesServer jamesServer) throws Exception {
         try (SocketChannel socketChannel = SocketChannel.open()) {
-            socketChannel.connect(new InetSocketAddress(JAMES_SERVER_HOST, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()));
+            socketChannel.connect(new InetSocketAddress(JAMES_SERVER_HOST, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort().getValue()));
             assertThat(getServerConnectionResponse(socketChannel)).startsWith("220 JAMES Linagora's SMTP awesome Server");
         }
     }
diff --git a/server/container/guice/jpa-smtp-mariadb/src/test/java/org/apache/james/JPAJamesServerTest.java b/server/container/guice/jpa-smtp-mariadb/src/test/java/org/apache/james/JPAJamesServerTest.java
index b344ba5..6089ee7 100644
--- a/server/container/guice/jpa-smtp-mariadb/src/test/java/org/apache/james/JPAJamesServerTest.java
+++ b/server/container/guice/jpa-smtp-mariadb/src/test/java/org/apache/james/JPAJamesServerTest.java
@@ -77,7 +77,7 @@ public class JPAJamesServerTest {
 
     @Test
     public void connectSMTPServerShouldSendShabangOnConnect() throws Exception {
-        socketChannel.connect(new InetSocketAddress("127.0.0.1", server.getProbe(SmtpGuiceProbe.class).getSmtpPort()));
+        socketChannel.connect(new InetSocketAddress("127.0.0.1", server.getProbe(SmtpGuiceProbe.class).getSmtpPort().getValue()));
         assertThat(getServerConnectionResponse(socketChannel)).startsWith("220 JAMES Linagora's SMTP awesome Server");
     }
     
diff --git a/server/container/guice/jpa-smtp/src/test/java/org/apache/james/JPAJamesServerTest.java b/server/container/guice/jpa-smtp/src/test/java/org/apache/james/JPAJamesServerTest.java
index aec51d6..71396eb 100644
--- a/server/container/guice/jpa-smtp/src/test/java/org/apache/james/JPAJamesServerTest.java
+++ b/server/container/guice/jpa-smtp/src/test/java/org/apache/james/JPAJamesServerTest.java
@@ -84,7 +84,7 @@ public class JPAJamesServerTest {
 
     @Test
     public void connectSMTPServerShouldSendShabangOnConnect() throws Exception {
-        socketChannel.connect(new InetSocketAddress("127.0.0.1", server.getProbe(SmtpGuiceProbe.class).getSmtpPort()));
+        socketChannel.connect(new InetSocketAddress("127.0.0.1", server.getProbe(SmtpGuiceProbe.class).getSmtpPort().getValue()));
         assertThat(getServerConnectionResponse(socketChannel)).startsWith("220 JAMES Linagora's SMTP awesome Server");
     }
     
diff --git a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SmtpGuiceProbe.java b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SmtpGuiceProbe.java
index 670a24c..178c23e 100644
--- a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SmtpGuiceProbe.java
+++ b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SmtpGuiceProbe.java
@@ -33,8 +33,8 @@ import org.apache.james.utils.GuiceProbe;
 public class SmtpGuiceProbe implements GuiceProbe {
 
     public enum SmtpServerConnectedType {
-        SMTP_GLOBAL_SERVER(probe -> Port.of(probe.getSmtpPort())),
-        SMTP_START_TLS_SERVER(probe -> Port.of(probe.getSmtpsPort()));
+        SMTP_GLOBAL_SERVER(SmtpGuiceProbe::getSmtpPort),
+        SMTP_START_TLS_SERVER(SmtpGuiceProbe::getSmtpsPort);
 
         private final Function<SmtpGuiceProbe, Port> portExtractor;
 
@@ -54,24 +54,25 @@ public class SmtpGuiceProbe implements GuiceProbe {
         this.smtpServerFactory = smtpServerFactory;
     }
 
-    public int getSmtpPort() {
+    public Port getSmtpPort() {
         return getPort(server -> true);
     }
 
-    public int getSmtpsPort() {
+    public Port getSmtpsPort() {
         return getPort(AbstractConfigurableAsyncServer::getStartTLSSupported);
     }
 
-    public Integer getSmtpAuthRequiredPort() {
+    public Port getSmtpAuthRequiredPort() {
         return getPort(server -> ((SMTPServer) server).getAuthRequired() == SMTPServer.AUTH_REQUIRED);
     }
 
-    private Integer getPort(Predicate<? super AbstractConfigurableAsyncServer> filter) {
+    private Port getPort(Predicate<? super AbstractConfigurableAsyncServer> filter) {
         return smtpServerFactory.getServers().stream()
             .filter(filter)
             .findFirst()
             .flatMap(server -> server.getListenAddresses().stream().findFirst())
             .map(InetSocketAddress::getPort)
+            .map(Port::new)
             .orElseThrow(() -> new IllegalStateException("SMTP server not defined"));
     }
 }
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java
index d619348..d4cda99 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java
@@ -111,7 +111,7 @@ public abstract class VacationRelayIntegrationTest {
         String externalMail = "ray@yopmail.com";
 
         SMTPClient smtpClient = new SMTPClient();
-        smtpClient.connect(LOCALHOST_IP, guiceJamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort());
+        smtpClient.connect(LOCALHOST_IP, guiceJamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort().getValue());
         smtpClient.helo(DOMAIN);
         smtpClient.setSender(externalMail);
         smtpClient.rcpt("<" + USER_WITH_DOMAIN + ">");
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
index ed63030..03ad0b0 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
@@ -5411,7 +5411,7 @@ public abstract class SetMessagesMethodTest {
             .sender(fromAddress)
             .recipient(fromAddress)
             .build();
-        try (SMTPMessageSender messageSender = SMTPMessageSender.noAuthentication(LOCALHOST_IP, jmapServer.getProbe(SmtpGuiceProbe.class).getSmtpPort(), DOMAIN)) {
+        try (SMTPMessageSender messageSender = SMTPMessageSender.noAuthentication(LOCALHOST_IP, jmapServer.getProbe(SmtpGuiceProbe.class).getSmtpPort().getValue(), DOMAIN)) {
             messageSender.sendMessage(mail);
         }
 
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
index e3dbe7c..7a249b8 100644
--- a/server/testing/src/main/java/org/apache/james/utils/SMTPMessageSender.java
+++ b/server/testing/src/main/java/org/apache/james/utils/SMTPMessageSender.java
@@ -32,6 +32,7 @@ import javax.mail.MessagingException;
 
 import org.apache.commons.net.smtp.AuthenticatingSMTPClient;
 import org.apache.james.core.MailAddress;
+import org.apache.james.util.Port;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.test.FakeMail;
 import org.junit.rules.ExternalResource;
@@ -50,7 +51,7 @@ public class SMTPMessageSender extends ExternalResource implements Closeable {
         throws NoSuchAlgorithmException, IOException, InvalidKeySpecException, InvalidKeyException {
         AuthenticatingSMTPClient smtpClient = new AuthenticatingSMTPClient();
         smtpClient.connect(ip, port);
-        if (smtpClient.auth(AuthenticatingSMTPClient.AUTH_METHOD.PLAIN, username, password) == false) {
+        if (!smtpClient.auth(AuthenticatingSMTPClient.AUTH_METHOD.PLAIN, username, password)) {
             throw new RuntimeException("auth failed");
         }
         return new SMTPMessageSender(smtpClient, senderDomain);
@@ -68,13 +69,13 @@ public class SMTPMessageSender extends ExternalResource implements Closeable {
         this(new AuthenticatingSMTPClient(), senderDomain);
     }
 
-    public SMTPMessageSender connect(String ip, int port) throws IOException {
-        smtpClient.connect(ip, port);
+    public SMTPMessageSender connect(String ip, Port port) throws IOException {
+        smtpClient.connect(ip, port.getValue());
         return this;
     }
 
     public SMTPMessageSender authenticate(String username, String password) throws IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidKeySpecException {
-        if (smtpClient.auth(AuthenticatingSMTPClient.AUTH_METHOD.PLAIN, username, password) == false) {
+        if (!smtpClient.auth(AuthenticatingSMTPClient.AUTH_METHOD.PLAIN, username, password)) {
             throw new SMTPSendingException(SmtpSendingStep.Authentication, smtpClient.getReplyString());
         }
         return this;


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org