diff --git a/supplier/mail-supplier/pom.xml b/supplier/mail-supplier/pom.xml index 5ee72725..e6975b42 100644 --- a/supplier/mail-supplier/pom.xml +++ b/supplier/mail-supplier/pom.xml @@ -13,20 +13,11 @@ mail-supplier Mail Supplier - - 2.1.0 - - org.springframework.integration spring-integration-mail - - jakarta.mail - jakarta.mail-api - ${jakarta-mail.version} - org.eclipse.angus jakarta.mail @@ -34,19 +25,9 @@ com.icegreen - greenmail-junit5 - 2.0.0-alpha-3 + greenmail + 2.0.0 test - - - com.sun.mail - jakarta.mail - - - jakarta.activation - jakarta.activation-api - - diff --git a/supplier/mail-supplier/src/test/java/org/springframework/cloud/fn/supplier/mail/AbstractMailSupplierTests.java b/supplier/mail-supplier/src/test/java/org/springframework/cloud/fn/supplier/mail/AbstractMailSupplierTests.java index 08ef475a..af5362cd 100644 --- a/supplier/mail-supplier/src/test/java/org/springframework/cloud/fn/supplier/mail/AbstractMailSupplierTests.java +++ b/supplier/mail-supplier/src/test/java/org/springframework/cloud/fn/supplier/mail/AbstractMailSupplierTests.java @@ -23,36 +23,36 @@ import com.icegreen.greenmail.util.GreenMail; import com.icegreen.greenmail.util.GreenMailUtil; import com.icegreen.greenmail.util.ServerSetup; import com.icegreen.greenmail.util.ServerSetupTest; -import org.junit.jupiter.api.AfterAll; -import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.BeforeEach; import reactor.core.publisher.Flux; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.integration.dsl.StandardIntegrationFlow; -import org.springframework.integration.test.context.SpringIntegrationTest; import org.springframework.messaging.Message; import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.DynamicPropertyRegistry; +import org.springframework.test.context.DynamicPropertySource; -@SpringIntegrationTest(noAutoStartup = "*") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, properties = { - "mail.supplier.mark-as-read=true", - "mail.supplier.delete=false", - "mail.supplier.user-flag=testSIUserFlag", - "mail.supplier.java-mail-properties=mail.imap.socketFactory.fallback=true\\n mail.store.protocol=imap\\n mail.debug=true"}) + "mail.supplier.mark-as-read=true", + "mail.supplier.delete=false", + "mail.supplier.user-flag=testSIUserFlag", + "mail.supplier.java-mail-properties=mail.imap.socketFactory.fallback=true\\n mail.store.protocol=imap\\n mail.debug=true"}) @DirtiesContext public abstract class AbstractMailSupplierTests { + protected static GreenMail mailServer; protected static GreenMailUser mailUser; @Autowired protected Supplier>> mailSupplier; + @Autowired protected StandardIntegrationFlow integrationFlow; + protected void sendMessage(String subject, String body) { mailUser.deliver(GreenMailUtil.createTextEmail("bar@bax", "test@test", subject, body, mailServer.getSmtp().getServerSetup())); } @@ -66,34 +66,21 @@ public abstract class AbstractMailSupplierTests { ServerSetup smtp = ServerSetupTest.SMTP.dynamicPort(); smtp.setServerStartupTimeout(10000); - mailServer = new GreenMail(new ServerSetup[]{imap, pop3, smtp}); + mailServer = new GreenMail(new ServerSetup[] {imap, pop3, smtp}); mailUser = mailServer.setUser("user", "pw"); mailServer.start(); - String imapPort = Integer.toString(mailServer.getImap().getServerSetup().getPort()); - String pop3Port = Integer.toString(mailServer.getPop3().getServerSetup().getPort()); - String smtpPort = Integer.toString(mailServer.getPop3().getServerSetup().getPort()); - System.setProperty("test.mail.server.imap.port", imapPort); - System.setProperty("test.mail.server.pop3.port", pop3Port); - System.setProperty("test.mail.server.smtp.port", smtpPort); } - @BeforeEach - void start() { - integrationFlow.start(); - } - - @AfterEach - void stop() { - integrationFlow.stop(); - } - - @AfterAll - public static void cleanup() { - System.clearProperty("test.mail.server.port"); + @DynamicPropertySource + static void mongoDbProperties(DynamicPropertyRegistry registry) { + registry.add("test.mail.server.imap.port", mailServer.getImap().getServerSetup()::getPort); + registry.add("test.mail.server.pop3.port", mailServer.getPop3().getServerSetup()::getPort); + registry.add("test.mail.server.smtp.port", mailServer.getSmtp().getServerSetup()::getPort); } @SpringBootApplication public static class MailSupplierTestApplication { } + }