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