diff --git a/applications/source/mail-source/src/test/java/org/springframework/cloud/stream/app/source/file/MailSourceTests.java b/applications/source/mail-source/src/test/java/org/springframework/cloud/stream/app/source/file/MailSourceTests.java index df5eac63..5b8234be 100644 --- a/applications/source/mail-source/src/test/java/org/springframework/cloud/stream/app/source/file/MailSourceTests.java +++ b/applications/source/mail-source/src/test/java/org/springframework/cloud/stream/app/source/file/MailSourceTests.java @@ -34,6 +34,8 @@ import org.springframework.cloud.stream.binder.test.TestChannelBinderConfigurati import org.springframework.context.annotation.Import; import org.springframework.messaging.Message; import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.DynamicPropertyRegistry; +import org.springframework.test.context.DynamicPropertySource; import static org.assertj.core.api.Assertions.assertThat; @@ -58,6 +60,7 @@ import static org.assertj.core.api.Assertions.assertThat; class MailSourceTests { private static GreenMail mailServer; private static GreenMailUser mailUser; + @BeforeAll public static void setup() { ServerSetup imap = ServerSetupTest.IMAP.dynamicPort(); @@ -65,8 +68,11 @@ class MailSourceTests { mailServer = new GreenMail(imap); mailUser = mailServer.setUser("user", "pw"); mailServer.start(); - String imapPort = Integer.toString(mailServer.getImap().getServerSetup().getPort()); - System.setProperty("test.mail.server.port", imapPort); + } + + @DynamicPropertySource + static void mongoDbProperties(DynamicPropertyRegistry registry) { + registry.add("test.mail.server.port", mailServer.getImap().getServerSetup()::getPort); } @AfterAll diff --git a/functions/supplier/mail-supplier/pom.xml b/functions/supplier/mail-supplier/pom.xml index 5ee72725..e6975b42 100644 --- a/functions/supplier/mail-supplier/pom.xml +++ b/functions/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/functions/supplier/mail-supplier/src/test/java/org/springframework/cloud/fn/supplier/mail/AbstractMailSupplierTests.java b/functions/supplier/mail-supplier/src/test/java/org/springframework/cloud/fn/supplier/mail/AbstractMailSupplierTests.java index 08ef475a..af5362cd 100644 --- a/functions/supplier/mail-supplier/src/test/java/org/springframework/cloud/fn/supplier/mail/AbstractMailSupplierTests.java +++ b/functions/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 { } + } diff --git a/stream-applications-build/pom.xml b/stream-applications-build/pom.xml index 9dc766f4..dcb76140 100644 --- a/stream-applications-build/pom.xml +++ b/stream-applications-build/pom.xml @@ -40,7 +40,6 @@ 3.0.7 3.0.4 6.0.9 - 6.0.5 2022.0.3 4.0.3