diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/splitter/SplitterIntegrationTests-context.xml b/org.springframework.integration/src/test/java/org/springframework/integration/splitter/SplitterIntegrationTests-context.xml new file mode 100644 index 0000000000..3f58ee395c --- /dev/null +++ b/org.springframework.integration/src/test/java/org/springframework/integration/splitter/SplitterIntegrationTests-context.xml @@ -0,0 +1,17 @@ + + + + + + + + + + \ No newline at end of file diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/splitter/SplitterIntegrationTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/splitter/SplitterIntegrationTests.java new file mode 100644 index 0000000000..99687bf986 --- /dev/null +++ b/org.springframework.integration/src/test/java/org/springframework/integration/splitter/SplitterIntegrationTests.java @@ -0,0 +1,81 @@ +package org.springframework.integration.splitter; + +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.integration.annotation.MessageEndpoint; +import org.springframework.integration.annotation.ServiceActivator; +import org.springframework.integration.annotation.Splitter; +import org.springframework.integration.channel.MessageChannel; +import org.springframework.integration.message.GenericMessage; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration +@MessageEndpoint +public class SplitterIntegrationTests { + + @Autowired + @Qualifier("inAnnotated") + MessageChannel inAnnotated; + + @Autowired + @Qualifier("inMethodInvoking") + MessageChannel inMethodInvoking; + + @Autowired + @Qualifier("inDefault") + MessageChannel inDefault; + + private String sentence = "The quick brown fox jumped over the lazy dog"; + + private List words = Arrays.asList(sentence.split("\\s")); + + private List receivedWords = new ArrayList(); + + @Test + public void configOk() throws Exception { + // just checking the parsing + } + + @Splitter(inputChannel = "inAnnotated", outputChannel = "out") + public List split(String sentence) { + return Arrays.asList(sentence.split("\\s")); + } + + @Test @Ignore + public void annotated() throws Exception { + inAnnotated.send(new GenericMessage("The quick brown fox jumped over the lazy dog")); + assertTrue(this.receivedWords.containsAll(words)); + assertTrue(words.containsAll(this.receivedWords)); + } + + @ServiceActivator(inputChannel = "out") + public void deliveredWords(String string) { + this.receivedWords.add(string); + } + + @Test @Ignore + public void methodInvoking() throws Exception { + inMethodInvoking.send(new GenericMessage("The quick brown fox jumped over the lazy dog")); + assertTrue(this.receivedWords.containsAll(words)); + assertTrue(words.containsAll(this.receivedWords)); + } + + @Test @Ignore + public void defaultSplitter() throws Exception { + inDefault.send(new GenericMessage>(words)); + assertTrue(this.receivedWords.containsAll(words)); + assertTrue(words.containsAll(this.receivedWords)); + } + +}