diff --git a/spring-integration-adapters/.classpath b/spring-integration-adapters/.classpath index 26a5a6e354..609a83dd36 100644 --- a/spring-integration-adapters/.classpath +++ b/spring-integration-adapters/.classpath @@ -16,6 +16,7 @@ + diff --git a/spring-integration-adapters/ivy.xml b/spring-integration-adapters/ivy.xml index 138323cb53..a258572f4e 100644 --- a/spring-integration-adapters/ivy.xml +++ b/spring-integration-adapters/ivy.xml @@ -28,6 +28,7 @@ + diff --git a/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/MailTargetAdapterContextTests.java b/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/MailTargetAdapterContextTests.java new file mode 100644 index 0000000000..70c668973d --- /dev/null +++ b/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/MailTargetAdapterContextTests.java @@ -0,0 +1,91 @@ +/* + * Copyright 2002-2007 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.integration.adapter.mail; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.DataInputStream; + +import javax.mail.Message; +import javax.mail.Multipart; +import javax.mail.internet.MimeMessage; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.integration.adapter.mail.MailTargetAdapter; +import org.springframework.integration.message.GenericMessage; +import org.springframework.integration.message.StringMessage; +import org.springframework.mail.SimpleMailMessage; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +/** + * @author Marius Bogoevici + */ +@RunWith(value = SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = {"classpath:/org/springframework/integration/adapter/mail/mailTargetAdapter.xml"}) +public class MailTargetAdapterContextTests { + + @Autowired + private MailTargetAdapter mailTargetAdapter; + + @Autowired + private StubJavaMailSender mailSender; + + + @Before + public void reset() { + this.mailSender.reset(); + } + + @Test + public void testStringMesssagesWithConfiguration() { + this.mailTargetAdapter.handle(new StringMessage(MailTestsHelper.MESSAGE_TEXT)); + SimpleMailMessage message = MailTestsHelper.createSimpleMailMessage(); + assertEquals("no mime message should have been sent", + 0, this.mailSender.getSentMimeMessages().size()); + assertEquals("only one simple message must be sent", + 1, this.mailSender.getSentSimpleMailMessages().size()); + assertEquals("message content different from expected", + message, this.mailSender.getSentSimpleMailMessages().get(0)); + } + + @Test + public void testByteArrayMessage() throws Exception { + byte[] payload = {1, 2, 3}; + mailTargetAdapter.handle(new GenericMessage(payload)); + assertEquals("no mime message should have been sent", + 1, mailSender.getSentMimeMessages().size()); + assertEquals("only one simple message must be sent", + 0, mailSender.getSentSimpleMailMessages().size()); + byte[] buffer = new byte[1024]; + MimeMessage mimeMessage = mailSender.getSentMimeMessages().get(0); + assertTrue("message must be multipart", mimeMessage.getContent() instanceof Multipart); + int size = new DataInputStream(((Multipart) mimeMessage.getContent()).getBodyPart(0).getInputStream()).read(buffer); + assertEquals("buffer size does not match", payload.length, size); + byte[] messageContent = new byte[size]; + System.arraycopy(buffer, 0, messageContent, 0, payload.length); + assertArrayEquals("buffer content does not match", payload, messageContent); + assertEquals(mimeMessage.getRecipients(Message.RecipientType.TO).length, MailTestsHelper.TO.length); + } + +} diff --git a/spring-integration-adapters/src/test/java/org/springframework/integration/mail/MailTargetAdapterTests.java b/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/MailTargetAdapterTests.java similarity index 96% rename from spring-integration-adapters/src/test/java/org/springframework/integration/mail/MailTargetAdapterTests.java rename to spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/MailTargetAdapterTests.java index e71caf9c81..1cbae13131 100644 --- a/spring-integration-adapters/src/test/java/org/springframework/integration/mail/MailTargetAdapterTests.java +++ b/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/MailTargetAdapterTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.integration.mail; +package org.springframework.integration.adapter.mail; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -67,7 +67,7 @@ public class MailTargetAdapterTests { public void testTextMessage() { this.mailTargetAdapter.handle(new StringMessage(MailTestsHelper.MESSAGE_TEXT)); SimpleMailMessage message = MailTestsHelper.createSimpleMailMessage(); - assertEquals("no messages should have been sent yet", + assertEquals("no mime message should have been sent", 0, mailSender.getSentMimeMessages().size()); assertEquals("only one simple message must be sent", 1, mailSender.getSentSimpleMailMessages().size()); @@ -77,7 +77,7 @@ public class MailTargetAdapterTests { @Test public void testByteArrayMessage() throws Exception { - byte[] payload = {1,2,3}; + byte[] payload = {1, 2, 3}; this.mailTargetAdapter.handle(new GenericMessage(payload)); byte[] buffer = new byte[1024]; MimeMessage mimeMessage = this.mailSender.getSentMimeMessages().get(0); diff --git a/spring-integration-adapters/src/test/java/org/springframework/integration/mail/MailTestsHelper.java b/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/MailTestsHelper.java similarity index 96% rename from spring-integration-adapters/src/test/java/org/springframework/integration/mail/MailTestsHelper.java rename to spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/MailTestsHelper.java index 001ef519b5..0c14010c6c 100644 --- a/spring-integration-adapters/src/test/java/org/springframework/integration/mail/MailTestsHelper.java +++ b/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/MailTestsHelper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.integration.mail; +package org.springframework.integration.adapter.mail; import org.springframework.mail.SimpleMailMessage; diff --git a/spring-integration-adapters/src/test/java/org/springframework/integration/mail/StubJavaMailSender.java b/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/StubJavaMailSender.java similarity index 98% rename from spring-integration-adapters/src/test/java/org/springframework/integration/mail/StubJavaMailSender.java rename to spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/StubJavaMailSender.java index b77da51ed9..6693c06309 100644 --- a/spring-integration-adapters/src/test/java/org/springframework/integration/mail/StubJavaMailSender.java +++ b/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/StubJavaMailSender.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.integration.mail; +package org.springframework.integration.adapter.mail; import java.io.InputStream; import java.util.ArrayList; diff --git a/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/mailTargetAdapter.xml b/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/mailTargetAdapter.xml new file mode 100644 index 0000000000..42a42d5354 --- /dev/null +++ b/spring-integration-adapters/src/test/java/org/springframework/integration/adapter/mail/mailTargetAdapter.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file