|
|
|
@ -43,6 +43,7 @@ import static org.mockito.Mockito.mock; |
|
|
|
* |
|
|
|
* |
|
|
|
* @author Johannes Edmeier |
|
|
|
* @author Johannes Edmeier |
|
|
|
* @author Stephane Nicoll |
|
|
|
* @author Stephane Nicoll |
|
|
|
|
|
|
|
* @author Scott Frederick |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
class MailHealthIndicatorTests { |
|
|
|
class MailHealthIndicatorTests { |
|
|
|
|
|
|
|
|
|
|
|
@ -60,6 +61,52 @@ class MailHealthIndicatorTests { |
|
|
|
this.indicator = new MailHealthIndicator(this.mailSender); |
|
|
|
this.indicator = new MailHealthIndicator(this.mailSender); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
void smtpOnDefaultHostAndPortIsUp() { |
|
|
|
|
|
|
|
given(this.mailSender.getHost()).willReturn(null); |
|
|
|
|
|
|
|
given(this.mailSender.getPort()).willReturn(-1); |
|
|
|
|
|
|
|
given(this.mailSender.getProtocol()).willReturn("success"); |
|
|
|
|
|
|
|
Health health = this.indicator.health(); |
|
|
|
|
|
|
|
assertThat(health.getStatus()).isEqualTo(Status.UP); |
|
|
|
|
|
|
|
assertThat(health.getDetails()).doesNotContainKey("location"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
void smtpOnDefaultHostAndPortIsDown() throws MessagingException { |
|
|
|
|
|
|
|
given(this.mailSender.getHost()).willReturn(null); |
|
|
|
|
|
|
|
given(this.mailSender.getPort()).willReturn(-1); |
|
|
|
|
|
|
|
willThrow(new MessagingException("A test exception")).given(this.mailSender).testConnection(); |
|
|
|
|
|
|
|
Health health = this.indicator.health(); |
|
|
|
|
|
|
|
assertThat(health.getStatus()).isEqualTo(Status.DOWN); |
|
|
|
|
|
|
|
assertThat(health.getDetails()).doesNotContainKey("location"); |
|
|
|
|
|
|
|
Object errorMessage = health.getDetails().get("error"); |
|
|
|
|
|
|
|
assertThat(errorMessage).isNotNull(); |
|
|
|
|
|
|
|
assertThat(errorMessage.toString().contains("A test exception")).isTrue(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
void smtpOnDefaultHostAndCustomPortIsUp() { |
|
|
|
|
|
|
|
given(this.mailSender.getHost()).willReturn(null); |
|
|
|
|
|
|
|
given(this.mailSender.getPort()).willReturn(1234); |
|
|
|
|
|
|
|
given(this.mailSender.getProtocol()).willReturn("success"); |
|
|
|
|
|
|
|
Health health = this.indicator.health(); |
|
|
|
|
|
|
|
assertThat(health.getStatus()).isEqualTo(Status.UP); |
|
|
|
|
|
|
|
assertThat(health.getDetails().get("location")).isEqualTo(":1234"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
void smtpOnDefaultHostAndCustomPortIsDown() throws MessagingException { |
|
|
|
|
|
|
|
given(this.mailSender.getHost()).willReturn(null); |
|
|
|
|
|
|
|
given(this.mailSender.getPort()).willReturn(1234); |
|
|
|
|
|
|
|
willThrow(new MessagingException("A test exception")).given(this.mailSender).testConnection(); |
|
|
|
|
|
|
|
Health health = this.indicator.health(); |
|
|
|
|
|
|
|
assertThat(health.getStatus()).isEqualTo(Status.DOWN); |
|
|
|
|
|
|
|
assertThat(health.getDetails().get("location")).isEqualTo(":1234"); |
|
|
|
|
|
|
|
Object errorMessage = health.getDetails().get("error"); |
|
|
|
|
|
|
|
assertThat(errorMessage).isNotNull(); |
|
|
|
|
|
|
|
assertThat(errorMessage.toString().contains("A test exception")).isTrue(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
void smtpOnDefaultPortIsUp() { |
|
|
|
void smtpOnDefaultPortIsUp() { |
|
|
|
given(this.mailSender.getPort()).willReturn(-1); |
|
|
|
given(this.mailSender.getPort()).willReturn(-1); |
|
|
|
|