diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RecipientListRouterParserTests-context.xml b/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RecipientListRouterParserTests-context.xml
index 7ee05d7c79..0bee1976d4 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RecipientListRouterParserTests-context.xml
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RecipientListRouterParserTests-context.xml
@@ -9,13 +9,26 @@
+
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RecipientListRouterParserTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RecipientListRouterParserTests.java
index d62d6e904f..b1b963e868 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RecipientListRouterParserTests.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RecipientListRouterParserTests.java
@@ -13,17 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.springframework.integration.router.config;
-/**
- * Parser for the <recipient-list-router/> element.
- *
- * @author Oleg Zhurakousky
- * @since 1.0.3
- */
+
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.junit.runner.RunWith;
+
+import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.ConfigurableApplicationContext;
@@ -31,30 +30,61 @@ import org.springframework.integration.channel.PollableChannel;
import org.springframework.integration.core.Message;
import org.springframework.integration.core.MessageChannel;
import org.springframework.integration.message.GenericMessage;
+import org.springframework.integration.router.RecipientListRouter;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+/**
+ * @author Oleg Zhurakousky
+ * @author Mark Fisher
+ * @since 1.0.3
+ */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class RecipientListRouterParserTests {
+
@Autowired
private ConfigurableApplicationContext context;
+
@Autowired
- @Qualifier("routingChannel")
+ @Qualifier("routingChannelA")
private MessageChannel channel;
@Test
- public void testRecipientListRouterNamespaceConfig() {
+ public void checkMessageRouting() {
context.start();
-
- Message message = new GenericMessage(1);
+ Message> message = new GenericMessage(1);
channel.send(message);
-
PollableChannel chanel1 = (PollableChannel) context.getBean("channel1");
PollableChannel chanel2 = (PollableChannel) context.getBean("channel2");
assertTrue(chanel1.receive().getPayload().equals(1));
assertTrue(chanel2.receive().getPayload().equals(1));
-
}
-
+
+ @Test
+ public void simpleRouter() {
+ Object endpoint = context.getBean("simpleRouter");
+ Object handler = new DirectFieldAccessor(endpoint).getPropertyValue("handler");
+ assertEquals(RecipientListRouter.class, handler.getClass());
+ RecipientListRouter router = (RecipientListRouter) handler;
+ DirectFieldAccessor accessor = new DirectFieldAccessor(router);
+ assertEquals(new Long(-1), new DirectFieldAccessor(
+ accessor.getPropertyValue("channelTemplate")).getPropertyValue("sendTimeout"));
+ assertEquals(Boolean.FALSE, accessor.getPropertyValue("applySequence"));
+ assertEquals(Boolean.FALSE, accessor.getPropertyValue("ignoreSendFailures"));
+ }
+
+ @Test
+ public void customRouter() {
+ Object endpoint = context.getBean("customRouter");
+ Object handler = new DirectFieldAccessor(endpoint).getPropertyValue("handler");
+ assertEquals(RecipientListRouter.class, handler.getClass());
+ RecipientListRouter router = (RecipientListRouter) handler;
+ DirectFieldAccessor accessor = new DirectFieldAccessor(router);
+ assertEquals(new Long(1234), new DirectFieldAccessor(
+ accessor.getPropertyValue("channelTemplate")).getPropertyValue("sendTimeout"));
+ assertEquals(Boolean.TRUE, accessor.getPropertyValue("applySequence"));
+ assertEquals(Boolean.TRUE, accessor.getPropertyValue("ignoreSendFailures"));
+ }
}