From 753236f28dd01a96c2ea30ff066ab54e0bb93028 Mon Sep 17 00:00:00 2001 From: Thorsten Hoeger Date: Tue, 29 Mar 2016 10:59:21 +0200 Subject: [PATCH] add test implementation for MailSender --- .../notification/aws/AmazonSESMailSender.java | 4 +- .../notification/mail/TestMailSender.java | 43 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 notification/core/src/main/java/de/taimos/dvalin/notification/mail/TestMailSender.java diff --git a/notification/aws/src/main/java/de/taimos/dvalin/notification/aws/AmazonSESMailSender.java b/notification/aws/src/main/java/de/taimos/dvalin/notification/aws/AmazonSESMailSender.java index af518e08..a61314cf 100644 --- a/notification/aws/src/main/java/de/taimos/dvalin/notification/aws/AmazonSESMailSender.java +++ b/notification/aws/src/main/java/de/taimos/dvalin/notification/aws/AmazonSESMailSender.java @@ -10,7 +10,6 @@ import org.springframework.mail.MailException; import org.springframework.mail.MailSender; import org.springframework.mail.SimpleMailMessage; -import org.springframework.stereotype.Service; import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient; import com.amazonaws.services.simpleemail.model.Body; @@ -22,9 +21,10 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Lists; +import de.taimos.daemon.spring.annotations.ProdComponent; import de.taimos.dvalin.cloud.aws.AWSClient; -@Service +@ProdComponent public class AmazonSESMailSender implements MailSender { public static final Logger LOGGER = LoggerFactory.getLogger(AmazonSESMailSender.class); diff --git a/notification/core/src/main/java/de/taimos/dvalin/notification/mail/TestMailSender.java b/notification/core/src/main/java/de/taimos/dvalin/notification/mail/TestMailSender.java new file mode 100644 index 00000000..fb44a943 --- /dev/null +++ b/notification/core/src/main/java/de/taimos/dvalin/notification/mail/TestMailSender.java @@ -0,0 +1,43 @@ +package de.taimos.dvalin.notification.mail; + +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.PostConstruct; + +import org.springframework.mail.MailException; +import org.springframework.mail.MailSender; +import org.springframework.mail.SimpleMailMessage; + +import de.taimos.daemon.spring.annotations.TestComponent; + +@TestComponent +public class TestMailSender implements MailSender { + + private List messages = new ArrayList<>(); + + @PostConstruct + public void init(){ + System.out.println("INIT TEST MAIL SENDER"); + } + + @Override + public void send(SimpleMailMessage simpleMailMessage) throws MailException { + messages.add(simpleMailMessage); + } + + @Override + public void send(SimpleMailMessage... simpleMailMessages) throws MailException { + for (SimpleMailMessage message : simpleMailMessages) { + send(message); + } + } + + public List getMessages() { + return messages; + } + + public void clear() { + this.messages.clear(); + } +}