diff --git a/pom.xml b/pom.xml
index b68ede7..ad634cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,12 +57,18 @@
1.10.19
test
-
+
org.codemonkey.simplejavamail
simple-java-mail
2.5.1
test
+
+ org.springframework
+ spring-context-support
+ 4.2.4.RELEASE
+ test
+
diff --git a/src/main/java/net/kemitix/wiser/assertions/WiserAssertions.java b/src/main/java/net/kemitix/wiser/assertions/WiserAssertions.java
index 07d0c56..920adc5 100644
--- a/src/main/java/net/kemitix/wiser/assertions/WiserAssertions.java
+++ b/src/main/java/net/kemitix/wiser/assertions/WiserAssertions.java
@@ -181,6 +181,9 @@ public final class WiserAssertions {
private String getMimeMessageBody(final WiserMessage message)
throws IOException, MessagingException {
Object content = getMimeMessage(message).getContent();
+ if (content instanceof String) {
+ return (String) content;
+ }
if (content instanceof MimeMessage) {
return content.toString();
}
diff --git a/src/test/java/net/kemitix/wiser/assertions/AbstractWiserTest.java b/src/test/java/net/kemitix/wiser/assertions/AbstractWiserTest.java
index 675bbfa..cea04a6 100644
--- a/src/test/java/net/kemitix/wiser/assertions/AbstractWiserTest.java
+++ b/src/test/java/net/kemitix/wiser/assertions/AbstractWiserTest.java
@@ -56,8 +56,8 @@ public abstract class AbstractWiserTest {
Properties properties = new Properties();
properties.setProperty("mail.transport.protocol", "smtp");
properties.setProperty("mail.smtp.host", "localhost");
- properties.setProperty("mail.smtp.port", "" + WiserAssertionsTest.PORT);
- Session session = Session.getDefaultInstance(properties);
+ properties.setProperty("mail.smtp.port", "" + PORT);
+ Session session = Session.getInstance(properties);
return session;
}
diff --git a/src/test/java/net/kemitix/wiser/assertions/Issue6Test.java b/src/test/java/net/kemitix/wiser/assertions/Issue6Test.java
new file mode 100644
index 0000000..72296a8
--- /dev/null
+++ b/src/test/java/net/kemitix/wiser/assertions/Issue6Test.java
@@ -0,0 +1,38 @@
+package net.kemitix.wiser.assertions;
+
+import org.junit.Test;
+
+import org.springframework.mail.SimpleMailMessage;
+import org.springframework.mail.javamail.JavaMailSenderImpl;
+
+/**
+ * Regression test for issue #6.
+ *
+ * @see https://github.com/kemitix/wiser-assertions/issues/6
+ * @author pcampbell
+ */
+public class Issue6Test extends AbstractWiserTest {
+
+ /**
+ * Test {@link WiserAssertions#withContentContains(String)} where the
+ * message is a Spring Mail {@link SimpleMailMessage}.
+ */
+ @Test
+ public void shouldMatchContentContainsFromSimpleMailMessage() {
+ //given
+ SimpleMailMessage message = new SimpleMailMessage();
+ message.setTo("Carl ");
+ message.setFrom("Bob ");
+ message.setSubject("Subject");
+ message.setText("Hi Carl,\n\nA new message was just posted.");
+ final JavaMailSenderImpl sender = new JavaMailSenderImpl();
+ sender.setPort(PORT);
+ //when
+ sender.send(message);
+ //then
+ getAssertions().from("bob@a.com").to("carl@b.com")
+ .withSubject("Subject")
+ .withContentContains("Hi Carl");
+ }
+
+}