Fix mail apps for Spring Boot 3.1
This commit is contained in:
committed by
Corneil du Plessis
parent
d29c5887ac
commit
7dc4d4a3f5
@@ -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
|
||||
|
||||
@@ -13,20 +13,11 @@
|
||||
<name>mail-supplier</name>
|
||||
<description>Mail Supplier</description>
|
||||
|
||||
<properties>
|
||||
<jakarta-mail.version>2.1.0</jakarta-mail.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.integration</groupId>
|
||||
<artifactId>spring-integration-mail</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jakarta.mail</groupId>
|
||||
<artifactId>jakarta.mail-api</artifactId>
|
||||
<version>${jakarta-mail.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.angus</groupId>
|
||||
<artifactId>jakarta.mail</artifactId>
|
||||
@@ -34,19 +25,9 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.icegreen</groupId>
|
||||
<artifactId>greenmail-junit5</artifactId>
|
||||
<version>2.0.0-alpha-3</version>
|
||||
<artifactId>greenmail</artifactId>
|
||||
<version>2.0.0</version>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.sun.mail</groupId>
|
||||
<artifactId>jakarta.mail</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>jakarta.activation</groupId>
|
||||
<artifactId>jakarta.activation-api</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
@@ -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<Flux<Message<?>>> 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 {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
<spring-kafka.version>3.0.7</spring-kafka.version>
|
||||
<spring-rabbit.version>3.0.4</spring-rabbit.version>
|
||||
<spring.version>6.0.9</spring.version>
|
||||
<spring-integration.version>6.0.5</spring-integration.version>
|
||||
|
||||
<spring-cloud.version>2022.0.3</spring-cloud.version>
|
||||
<spring-cloud-starters.version>4.0.3</spring-cloud-starters.version>
|
||||
|
||||
Reference in New Issue
Block a user