This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-jspf.git
commit c2aa2607eb8a1ccf8b88dc538efe65dfdbb10bc0 Author: Emerson Pinter <e...@pinter.dev> AuthorDate: Wed Jan 22 13:13:32 2025 -0300 Add tests for cases when the dns is unreachable When a PortUnreachableException or SocketException happens, a temperror should be returned. --- .../AsynchronousSPFExecutorIntegrationTest.java | 21 +++++++++++++++++++++ .../SynchronousSPFExecutorIntegrationTest.java | 22 ++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/resolver/src/test/java/org/apache/james/jspf/AsynchronousSPFExecutorIntegrationTest.java b/resolver/src/test/java/org/apache/james/jspf/AsynchronousSPFExecutorIntegrationTest.java index 7103d27..e0f346b 100644 --- a/resolver/src/test/java/org/apache/james/jspf/AsynchronousSPFExecutorIntegrationTest.java +++ b/resolver/src/test/java/org/apache/james/jspf/AsynchronousSPFExecutorIntegrationTest.java @@ -21,15 +21,19 @@ package org.apache.james.jspf; import static org.junit.Assert.assertEquals; +import org.apache.james.jspf.executor.AsynchronousSPFExecutor; import org.apache.james.jspf.executor.SPFResult; +import org.apache.james.jspf.impl.DNSServiceXBillImpl; import org.apache.james.jspf.impl.DefaultSPF; import org.apache.james.jspf.impl.SPF; import org.junit.BeforeClass; import org.junit.Test; import org.xbill.DNS.Lookup; +import org.xbill.DNS.Resolver; import org.xbill.DNS.SimpleResolver; import java.net.UnknownHostException; +import java.util.concurrent.ThreadLocalRandom; public class AsynchronousSPFExecutorIntegrationTest { @BeforeClass @@ -73,4 +77,21 @@ public class AsynchronousSPFExecutorIntegrationTest { System.out.println(result.getHeader()); assertEquals("none", result.getResult()); } + + @Test + public void shouldReturnTempErrorOnPortUnreachable() throws UnknownHostException { + Resolver simpleResolver = new SimpleResolver("127.0.0.1"); + simpleResolver.setPort(ThreadLocalRandom.current().nextInt(55000, 56000)); + + DNSServiceXBillImpl dns = new DNSServiceXBillImpl(simpleResolver); + + SPF spf = new SPF(dns, new AsynchronousSPFExecutor(dns)); + SPFResult result = spf.checkSPF("207.54.72.202", + "do_not_re...@reyifglerifwukfvbdjhrkbvebvekvfulervkerkeruerbeb.de", + "reyifglerifwukfvbdjhrkbvebvekvfulervkerkeruerbeb.de"); + System.out.println(result.getResult()); + System.out.println(result.getExplanation()); + System.out.println(result.getHeader()); + assertEquals("temperror", result.getResult()); + } } diff --git a/resolver/src/test/java/org/apache/james/jspf/SynchronousSPFExecutorIntegrationTest.java b/resolver/src/test/java/org/apache/james/jspf/SynchronousSPFExecutorIntegrationTest.java index 4bfd81e..db6ff9e 100644 --- a/resolver/src/test/java/org/apache/james/jspf/SynchronousSPFExecutorIntegrationTest.java +++ b/resolver/src/test/java/org/apache/james/jspf/SynchronousSPFExecutorIntegrationTest.java @@ -19,15 +19,20 @@ package org.apache.james.jspf; +import org.apache.james.jspf.executor.AsynchronousSPFExecutor; import org.apache.james.jspf.executor.SPFResult; +import org.apache.james.jspf.executor.SynchronousSPFExecutor; +import org.apache.james.jspf.impl.DNSServiceXBillImpl; import org.apache.james.jspf.impl.DefaultSPF; import org.apache.james.jspf.impl.SPF; import org.junit.BeforeClass; import org.junit.Test; import org.xbill.DNS.Lookup; +import org.xbill.DNS.Resolver; import org.xbill.DNS.SimpleResolver; import java.net.UnknownHostException; +import java.util.concurrent.ThreadLocalRandom; import static org.junit.Assert.assertEquals; @@ -73,4 +78,21 @@ public class SynchronousSPFExecutorIntegrationTest { System.out.println(result.getHeader()); assertEquals("none", result.getResult()); } + + @Test + public void shouldReturnTempErrorOnPortUnreachable() throws UnknownHostException { + Resolver simpleResolver = new SimpleResolver("127.0.0.1"); + simpleResolver.setPort(ThreadLocalRandom.current().nextInt(55000, 56000)); + + DNSServiceXBillImpl dns = new DNSServiceXBillImpl(simpleResolver); + + SPF spf = new SPF(dns, new SynchronousSPFExecutor(dns)); + SPFResult result = spf.checkSPF("207.54.72.202", + "do_not_re...@reyifglerifwukfvbdjhrkbvebvekvfulervkerkeruerbeb.de", + "reyifglerifwukfvbdjhrkbvebvekvfulervkerkeruerbeb.de"); + System.out.println(result.getResult()); + System.out.println(result.getExplanation()); + System.out.println(result.getHeader()); + assertEquals("temperror", result.getResult()); + } } \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org