Skip to content
This repository was archived by the owner on Jan 19, 2022. It is now read-only.

Commit 94969e4

Browse files
committed
Run SesAutoConfiguration before SimpleEmailAutoConfiguration
1 parent 35e1c40 commit 94969e4

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

spring-cloud-aws-autoconfigure/src/main/java/org/springframework/cloud/aws/autoconfigure/mail/SesAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import org.springframework.beans.factory.ObjectProvider;
2626
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
27+
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
2728
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2829
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2930
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -53,8 +54,8 @@
5354
*/
5455
@Configuration(proxyBeanMethods = false)
5556
@AutoConfigureAfter(MailSenderAutoConfiguration.class)
57+
@AutoConfigureBefore(SimpleEmailAutoConfiguration.class)
5658
@ConditionalOnClass({ AmazonSimpleEmailService.class, MailSender.class })
57-
@ConditionalOnMissingClass("org.springframework.cloud.aws.mail.simplemail.SimpleEmailServiceJavaMailSender")
5859
@ConditionalOnMissingBean(MailSender.class)
5960
@Import(ContextCredentialsAutoConfiguration.class)
6061
@EnableConfigurationProperties(SesProperties.class)

spring-cloud-aws-autoconfigure/src/test/java/org/springframework/cloud/aws/autoconfigure/mail/SesAutoConfigurationTest.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,12 +88,23 @@ void mailSenderWithCustomRegion() {
8888
}
8989

9090
@Test
91-
void mailIsDisabled() {
91+
void sesAutoConfigurationIsDisabled() {
9292
this.contextRunner.withPropertyValues("spring.cloud.aws.ses.enabled:false")
9393
.run(context -> {
9494
assertThat(context).doesNotHaveBean(MailSender.class);
9595
assertThat(context).doesNotHaveBean(JavaMailSender.class);
9696
});
9797
}
9898

99+
@Test
100+
void sesAutoConfigurationIsDisabledButSimpleEmailAutoConfigurationIsEnabled() {
101+
new ApplicationContextRunner()
102+
.withConfiguration(AutoConfigurations.of(SesAutoConfiguration.class,
103+
SimpleEmailAutoConfiguration.class))
104+
.withPropertyValues("spring.cloud.aws.ses.enabled:false").run(context -> {
105+
assertThat(context).hasSingleBean(MailSender.class);
106+
assertThat(context).hasSingleBean(JavaMailSender.class);
107+
});
108+
}
109+
99110
}

0 commit comments

Comments
 (0)