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