INTEXT-6 - Add AWS SES Samples

* Add SES JavaMailSender Sample
* Add SES Spring Integration Sample
* Refactor DefaultAmazonSESMailSender to implement JavaMailSender and delegate to JavaMailSenderImpl rather than extending it
* Cleanup
This commit is contained in:
Gunnar Hillert
2013-01-17 17:14:54 -05:00
parent 5f168e26b3
commit f6e1295d60
23 changed files with 328 additions and 311 deletions

View File

@@ -28,7 +28,7 @@ import com.amazonaws.services.sqs.AmazonSQSClient;
*
* @author Amol Nayak
*
* @since 1.0
* @since 0.5
*
*/
public class AWSClientFactoryTest {

View File

@@ -24,7 +24,7 @@ import java.util.Properties;
*
* @author Amol Nayak
*
* @since 1.0
* @since 0.5
*
*/
public abstract class BaseTestCase {

View File

@@ -32,7 +32,7 @@ import org.springframework.integration.test.util.TestUtils;
*
* @author Amol Nayak
*
* @since 1.0
* @since 0.5
*
*/
public abstract class AbstractAWSOutboundChannelAdapterParserTests<T extends MessageHandler> {

View File

@@ -30,7 +30,7 @@ import com.amazonaws.AmazonWebServiceClient;
* The abstract test class for Amazon WebService client factory tests
* @author Amol Nayak
*
* @since 1.0
* @since 0.5
*
*/
public abstract class AbstractAWSClientFactoryTests<T extends AmazonWebServiceClient> {

View File

@@ -48,7 +48,7 @@ import org.springframework.mail.javamail.JavaMailSender;
*
* @author Amol Nayak
*
* @since 1.0
* @since 0.5
*
*/
public class AmazonSESMessageHandlerTests {

View File

@@ -15,22 +15,25 @@
*/
package org.springframework.integration.aws.ses.config.xml;
import java.util.Properties;
import junit.framework.Assert;
import org.junit.Test;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.aws.core.AWSCredentials;
import org.springframework.integration.core.MessageHandler;
import org.springframework.integration.endpoint.EventDrivenConsumer;
import org.springframework.integration.test.util.TestUtils;
import com.amazonaws.services.simpleemail.AWSJavaMailTransport;
/**
* The test class for the AmazonSESOutboundAdapterParser
*
* @author Amol Nayak
*
* @since 1.0
* @since 0.5
*
*/
public class AmazonSESOutboundAdapterParserTests {
@@ -79,10 +82,11 @@ public class AmazonSESOutboundAdapterParserTests {
Assert.assertNotNull("Expected a non null EventDrivenConsumer", consumer);
MessageHandler handler = TestUtils.getPropertyValue(consumer, "handler", MessageHandler.class);
Assert.assertNotNull("Expected a non null messagehandler", handler);
AWSCredentials credentials = TestUtils.getPropertyValue(handler, "mailSender.credentials", AWSCredentials.class);
Assert.assertNotNull("Expected a non null instance of credentials", credentials);
Assert.assertEquals("dummy", credentials.getAccessKey());
Assert.assertEquals("dummy", credentials.getSecretKey());
Properties properties = TestUtils.getPropertyValue(handler, "mailSender.javaMailSender.javaMailProperties", Properties.class);
Assert.assertNotNull("Expected a non null instance of credentials", properties);
Assert.assertEquals("dummy", properties.getProperty(AWSJavaMailTransport.AWS_ACCESS_KEY_PROPERTY));
Assert.assertEquals("dummy", properties.getProperty(AWSJavaMailTransport.AWS_SECRET_KEY_PROPERTY));
}
/**

View File

@@ -15,7 +15,6 @@
*/
package org.springframework.integration.aws.ses.core;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
import org.junit.BeforeClass;
@@ -38,7 +37,7 @@ import org.springframework.mail.javamail.MimeMessageHelper;
*
* @author Amol Nayak
*
* @since 1.0
* @since 0.5
*
*/
public class DefaultAmazonSESMailSenderAWSTests {
@@ -96,8 +95,7 @@ public class DefaultAmazonSESMailSenderAWSTests {
*/
@Test
public void sendMimeMessage() throws Exception {
Session session = sender.getSession();
MimeMessageHelper helper = new MimeMessageHelper(new MimeMessage(session));
MimeMessageHelper helper = new MimeMessageHelper(sender.createMimeMessage());
helper.setText("Some HTML Text", true);
helper.setTo(TO_EMAIL_ID);
helper.setFrom(TO_EMAIL_ID);
@@ -111,16 +109,15 @@ public class DefaultAmazonSESMailSenderAWSTests {
*/
@Test
public void sendMimeMessageArray() throws Exception {
Session session = sender.getSession();
MimeMessage[] messages = new MimeMessage[2];
MimeMessageHelper helper = new MimeMessageHelper(new MimeMessage(session));
MimeMessageHelper helper = new MimeMessageHelper(sender.createMimeMessage());
helper.setText("Some HTML Text One", true);
helper.setTo(TO_EMAIL_ID);
helper.setFrom(TO_EMAIL_ID);
helper.setSubject("Some HTML Message's Subject Line One");
MimeMessage message = helper.getMimeMessage();
messages[0] = message;
helper = new MimeMessageHelper(new MimeMessage(session));
helper = new MimeMessageHelper(sender.createMimeMessage());
helper.setText("Some HTML Text Two", true);
helper.setTo(TO_EMAIL_ID);
helper.setFrom(TO_EMAIL_ID);