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 bt...@apache.org on 2018/01/30 08:12:18 UTC

[07/16] james-project git commit: JAMES-2285 Get ride of an DNS test implementation

JAMES-2285 Get ride of an DNS test implementation


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4642814f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4642814f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4642814f

Branch: refs/heads/master
Commit: 4642814f11605085467939cda4699999a38d08a2
Parents: 583f348
Author: benwa <bt...@linagora.com>
Authored: Sat Jan 20 17:32:39 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Tue Jan 30 15:09:47 2018 +0700

----------------------------------------------------------------------
 .../dnsservice/api/InMemoryDNSService.java      |  3 +-
 .../james/smtpserver/ValidRcptMXTest.java       | 47 ++++----------------
 2 files changed, 11 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/4642814f/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
----------------------------------------------------------------------
diff --git a/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java b/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
index 5c1a0f4..11b0e4b 100644
--- a/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
+++ b/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
@@ -51,9 +51,10 @@ public class InMemoryDNSService implements DNSService {
         return new DNSRecord(addresses, mxRecords, txtRecords);
     }
 
-    public void registerRecord(String hostname, InetAddress address, String mxRecord) {
+    public InMemoryDNSService registerRecord(String hostname, InetAddress address, String mxRecord) {
         Collection<String> emptyTxtRecords = ImmutableList.of();
         registerRecord(hostname, ImmutableList.of(address), ImmutableList.of(mxRecord), emptyTxtRecords);
+        return this;
     }
 
     public InMemoryDNSService registerMxRecord(String hostname, String ip) throws UnknownHostException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/4642814f/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
index c7b9d33..3d4eea9 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
@@ -20,26 +20,21 @@ package org.apache.james.smtpserver;
 
 import static org.junit.Assert.assertEquals;
 
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Collection;
 import java.util.HashMap;
 
 import org.apache.james.core.MailAddress;
 import org.apache.james.dnsservice.api.DNSService;
-import org.apache.james.dnsservice.api.mock.MockDNSService;
+import org.apache.james.dnsservice.api.InMemoryDNSService;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.HookReturnCode;
 import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
 import org.apache.james.smtpserver.fastfail.ValidRcptMX;
 import org.junit.Test;
+import org.testcontainers.shaded.com.google.common.collect.ImmutableList;
 
 public class ValidRcptMXTest {
 
     private static final String INVALID_HOST = "invalid.host.de";
-    private static final String INVALID_MX = "mx." + INVALID_HOST;
-    private static final String LOOPBACK = "127.0.0.1";
 
     private SMTPSession setupMockedSMTPSession(MailAddress rcpt) {
         return new BaseFakeSMTPSession() {
@@ -73,44 +68,20 @@ public class ValidRcptMXTest {
         };
     }
 
-    private DNSService setupMockedDNSServer() {
-
-        return new MockDNSService() {
-
-            @Override
-            public Collection<String> findMXRecords(String hostname) {
-                Collection<String> mx = new ArrayList<>();
-
-                if (hostname.equals(INVALID_HOST)) {
-                    mx.add(INVALID_MX);
-                }
-                return mx;
-            }
-
-            @Override
-            public InetAddress getByName(String host) throws UnknownHostException {
-                if (host.equals(INVALID_MX) || host.equals(LOOPBACK)) {
-                    return InetAddress.getByName(LOOPBACK);
-                } else if (host.equals("255.255.255.255")) {
-                    return InetAddress.getByName("255.255.255.255");
-                }
-                throw new UnknownHostException("Unknown host");
-            }
-        };
-    }
-
     @Test
     public void testRejectLoopbackMX() throws Exception {
-        Collection<String> bNetworks = new ArrayList<>();
-        bNetworks.add("127.0.0.1");
+        String bannedAddress = "172.53.64.2";
 
-        DNSService dns = setupMockedDNSServer();
+        DNSService dns = new InMemoryDNSService()
+            .registerMxRecord(INVALID_HOST, bannedAddress)
+            .registerMxRecord("255.255.255.255", "255.255.255.255")
+            .registerMxRecord(bannedAddress, bannedAddress);
         MailAddress mailAddress = new MailAddress("test@" + INVALID_HOST);
         SMTPSession session = setupMockedSMTPSession(mailAddress);
-        ValidRcptMX handler = new ValidRcptMX();
 
+        ValidRcptMX handler = new ValidRcptMX();
         handler.setDNSService(dns);
-        handler.setBannedNetworks(bNetworks, dns);
+        handler.setBannedNetworks(ImmutableList.of(bannedAddress ), dns);
         int rCode = handler.doRcpt(session, null, mailAddress).getResult();
 
         assertEquals("Reject", rCode, HookReturnCode.DENY);


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