Add testConnection on JavaMailSender
Add a way to test that a particular JavaMailSender instance can connect to the server that it is configured for. Issue: SPR-12799
This commit is contained in:
parent
73e8021e59
commit
a64532ede2
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -372,6 +372,21 @@ public class JavaMailSenderImpl implements JavaMailSender {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that this instance can connect to the server that it is configured
|
||||
* for. Throws a {@link MessagingException} if the connection attempt failed.
|
||||
*/
|
||||
public void testConnection() throws MessagingException {
|
||||
Transport transport = null;
|
||||
try {
|
||||
transport = connectTransport();
|
||||
}
|
||||
finally {
|
||||
if (transport != null) {
|
||||
transport.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Actually send the given array of MimeMessages via JavaMail.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -35,20 +35,29 @@ import javax.mail.internet.AddressException;
|
|||
import javax.mail.internet.InternetAddress;
|
||||
import javax.mail.internet.MimeMessage;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.ExpectedException;
|
||||
|
||||
import org.springframework.mail.MailParseException;
|
||||
import org.springframework.mail.MailSendException;
|
||||
import org.springframework.mail.SimpleMailMessage;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* @author Juergen Hoeller
|
||||
* @author Stephane Nicoll
|
||||
* @since 09.10.2004
|
||||
*/
|
||||
public class JavaMailSenderTests extends TestCase {
|
||||
public class JavaMailSenderTests {
|
||||
|
||||
public void testJavaMailSenderWithSimpleMessage() throws MessagingException, IOException {
|
||||
@Rule
|
||||
public final ExpectedException thrown = ExpectedException.none();
|
||||
|
||||
@Test
|
||||
public void javaMailSenderWithSimpleMessage() throws MessagingException, IOException {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost("host");
|
||||
sender.setPort(30);
|
||||
|
@ -142,7 +151,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
assertEquals(mimeMessage, sender.transport.getSentMessage(0));
|
||||
}
|
||||
|
||||
public void testJavaMailSenderWithMimeMessages() throws MessagingException {
|
||||
@Test
|
||||
public void javaMailSenderWithMimeMessages() throws MessagingException {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost("host");
|
||||
sender.setUsername("username");
|
||||
|
@ -163,7 +173,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
assertEquals(mimeMessage2, sender.transport.getSentMessage(1));
|
||||
}
|
||||
|
||||
public void testJavaMailSenderWithMimeMessagePreparator() {
|
||||
@Test
|
||||
public void javaMailSenderWithMimeMessagePreparator() {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost("host");
|
||||
sender.setUsername("username");
|
||||
|
@ -188,7 +199,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
assertEquals(messages.get(0), sender.transport.getSentMessage(0));
|
||||
}
|
||||
|
||||
public void testJavaMailSenderWithMimeMessagePreparators() {
|
||||
@Test
|
||||
public void javaMailSenderWithMimeMessagePreparators() {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost("host");
|
||||
sender.setUsername("username");
|
||||
|
@ -221,7 +233,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
assertEquals(messages.get(1), sender.transport.getSentMessage(1));
|
||||
}
|
||||
|
||||
public void testJavaMailSenderWithMimeMessageHelper() throws MessagingException {
|
||||
@Test
|
||||
public void javaMailSenderWithMimeMessageHelper() throws MessagingException {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost("host");
|
||||
sender.setUsername("username");
|
||||
|
@ -242,7 +255,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
assertEquals(message.getMimeMessage(), sender.transport.getSentMessage(0));
|
||||
}
|
||||
|
||||
public void testJavaMailSenderWithMimeMessageHelperAndSpecificEncoding() throws MessagingException {
|
||||
@Test
|
||||
public void javaMailSenderWithMimeMessageHelperAndSpecificEncoding() throws MessagingException {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost("host");
|
||||
sender.setUsername("username");
|
||||
|
@ -265,7 +279,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
assertEquals(message.getMimeMessage(), sender.transport.getSentMessage(0));
|
||||
}
|
||||
|
||||
public void testJavaMailSenderWithMimeMessageHelperAndDefaultEncoding() throws MessagingException {
|
||||
@Test
|
||||
public void javaMailSenderWithMimeMessageHelperAndDefaultEncoding() throws MessagingException {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost("host");
|
||||
sender.setUsername("username");
|
||||
|
@ -289,7 +304,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
assertEquals(message.getMimeMessage(), sender.transport.getSentMessage(0));
|
||||
}
|
||||
|
||||
public void testJavaMailSenderWithParseExceptionOnSimpleMessage() {
|
||||
@Test
|
||||
public void javaMailSenderWithParseExceptionOnSimpleMessage() {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
SimpleMailMessage simpleMessage = new SimpleMailMessage();
|
||||
simpleMessage.setFrom("");
|
||||
|
@ -302,7 +318,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
}
|
||||
}
|
||||
|
||||
public void testJavaMailSenderWithParseExceptionOnMimeMessagePreparator() {
|
||||
@Test
|
||||
public void javaMailSenderWithParseExceptionOnMimeMessagePreparator() {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
MimeMessagePreparator preparator = new MimeMessagePreparator() {
|
||||
@Override
|
||||
|
@ -319,7 +336,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
}
|
||||
}
|
||||
|
||||
public void testJavaMailSenderWithCustomSession() throws MessagingException {
|
||||
@Test
|
||||
public void javaMailSenderWithCustomSession() throws MessagingException {
|
||||
final Session session = Session.getInstance(new Properties());
|
||||
MockJavaMailSender sender = new MockJavaMailSender() {
|
||||
@Override
|
||||
|
@ -347,7 +365,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
assertEquals(mimeMessage, sender.transport.getSentMessage(0));
|
||||
}
|
||||
|
||||
public void testJavaMailProperties() throws MessagingException {
|
||||
@Test
|
||||
public void javaMailProperties() throws MessagingException {
|
||||
Properties props = new Properties();
|
||||
props.setProperty("bogusKey", "bogusValue");
|
||||
MockJavaMailSender sender = new MockJavaMailSender() {
|
||||
|
@ -374,7 +393,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
assertEquals(mimeMessage, sender.transport.getSentMessage(0));
|
||||
}
|
||||
|
||||
public void testFailedMailServerConnect() throws Exception {
|
||||
@Test
|
||||
public void failedMailServerConnect() throws Exception {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost(null);
|
||||
sender.setUsername("username");
|
||||
|
@ -394,7 +414,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
}
|
||||
}
|
||||
|
||||
public void testFailedMailServerClose() throws Exception {
|
||||
@Test
|
||||
public void failedMailServerClose() throws Exception {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost("");
|
||||
sender.setUsername("username");
|
||||
|
@ -412,7 +433,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
}
|
||||
}
|
||||
|
||||
public void testFailedSimpleMessage() throws Exception {
|
||||
@Test
|
||||
public void failedSimpleMessage() throws Exception {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost("host");
|
||||
sender.setUsername("username");
|
||||
|
@ -443,7 +465,8 @@ public class JavaMailSenderTests extends TestCase {
|
|||
}
|
||||
}
|
||||
|
||||
public void testFailedMimeMessage() throws Exception {
|
||||
@Test
|
||||
public void fFailedMimeMessage() throws Exception {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost("host");
|
||||
sender.setUsername("username");
|
||||
|
@ -474,6 +497,22 @@ public class JavaMailSenderTests extends TestCase {
|
|||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConnection() throws Exception {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost("host");
|
||||
sender.testConnection();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConnectionWithFailure() throws Exception {
|
||||
MockJavaMailSender sender = new MockJavaMailSender();
|
||||
sender.setHost(null);
|
||||
|
||||
thrown.expect(MessagingException.class);
|
||||
sender.testConnection();
|
||||
}
|
||||
|
||||
|
||||
private static class MockJavaMailSender extends JavaMailSenderImpl {
|
||||
|
||||
|
|
Loading…
Reference in New Issue