You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2021/01/12 11:02:18 UTC

[james-project] 19/20: JAMES-2543 Junit 4 -> 5 migration for mock SpamAssassin testing

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

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

commit 2e0a45489a74f364dc12a79b7298755f624072d3
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Dec 31 09:24:18 2020 +0700

    JAMES-2543 Junit 4 -> 5 migration for mock SpamAssassin testing
---
 .../james/transport/mailets/SpamAssassinTest.java      | 10 +++++-----
 .../james/smtpserver/SpamAssassinHandlerTest.java      | 10 +++++-----
 ...{MockSpamdTestRule.java => MockSpamdExtension.java} | 18 +++++++++++-------
 3 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
index 5e8dc59..4af5557 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
@@ -30,23 +30,23 @@ import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.metrics.tests.RecordingMetricFactory;
 import org.apache.james.spamassassin.SpamAssassinResult;
 import org.apache.james.spamassassin.mock.MockSpamd;
-import org.apache.james.spamassassin.mock.MockSpamdTestRule;
+import org.apache.james.spamassassin.mock.MockSpamdExtension;
 import org.apache.james.user.memory.MemoryUsersRepository;
 import org.apache.james.util.Port;
 import org.apache.mailet.Mail;
 import org.apache.mailet.PerRecipientHeaders;
 import org.apache.mailet.base.test.FakeMail;
 import org.apache.mailet.base.test.FakeMailetConfig;
-import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import com.github.steveash.guavate.Guavate;
 
 public class SpamAssassinTest {
 
     public static final DomainList NO_DOMAIN_LIST = null;
-    @Rule
-    public MockSpamdTestRule spamd = new MockSpamdTestRule();
+    @RegisterExtension
+    public MockSpamdExtension spamd = new MockSpamdExtension();
 
     private SpamAssassin mailet = new SpamAssassin(new RecordingMetricFactory(), MemoryUsersRepository.withVirtualHosting(NO_DOMAIN_LIST));
 
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
index 6fe930e..c727035 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
@@ -39,13 +39,13 @@ import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
 import org.apache.james.smtpserver.fastfail.SpamAssassinHandler;
 import org.apache.james.spamassassin.SpamAssassinResult;
 import org.apache.james.spamassassin.mock.MockSpamd;
-import org.apache.james.spamassassin.mock.MockSpamdTestRule;
+import org.apache.james.spamassassin.mock.MockSpamdExtension;
 import org.apache.mailet.Attribute;
 import org.apache.mailet.AttributeValue;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.test.FakeMail;
-import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import com.google.common.base.Preconditions;
 
@@ -116,8 +116,8 @@ public class SpamAssassinHandlerTest {
 
     }
 
-    @Rule
-    public MockSpamdTestRule spamd = new MockSpamdTestRule();
+    @RegisterExtension
+    MockSpamdExtension spamd = new MockSpamdExtension();
 
     private Mail setupMockedMail(MimeMessage message) throws MessagingException {
         return FakeMail.builder()
diff --git a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamdTestRule.java b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamdExtension.java
similarity index 79%
rename from third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamdTestRule.java
rename to third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamdExtension.java
index 7364d86..1440a79 100644
--- a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamdTestRule.java
+++ b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamdExtension.java
@@ -23,15 +23,24 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 import org.apache.james.util.concurrent.NamedThreadFactory;
+import org.junit.jupiter.api.extension.AfterEachCallback;
+import org.junit.jupiter.api.extension.BeforeAllCallback;
+import org.junit.jupiter.api.extension.BeforeEachCallback;
+import org.junit.jupiter.api.extension.ExtensionContext;
 import org.junit.rules.ExternalResource;
 
-public class MockSpamdTestRule extends ExternalResource {
+public class MockSpamdExtension implements AfterEachCallback, BeforeEachCallback {
 
     private ExecutorService executor = Executors.newSingleThreadExecutor(NamedThreadFactory.withClassName(getClass()));
     private MockSpamd spamd = new MockSpamd();
 
     @Override
-    protected void before() throws Throwable {
+    public void afterEach(ExtensionContext extensionContext) {
+        executor.shutdownNow();
+    }
+
+    @Override
+    public void beforeEach(ExtensionContext extensionContext) throws Exception {
         spamd.bind();
         executor.execute(spamd);
     }
@@ -39,9 +48,4 @@ public class MockSpamdTestRule extends ExternalResource {
     public int getPort() {
         return spamd.getPort();
     }
-
-    @Override
-    protected void after() {
-        executor.shutdownNow();
-    }
 }


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