INT-672 added tests for 'channel-resolver' attribute

This commit is contained in:
Mark Fisher
2009-06-28 02:57:33 +00:00
parent 93bfb7f368
commit a39c79eafe
2 changed files with 30 additions and 1 deletions

View File

@@ -19,6 +19,7 @@ package org.springframework.integration.router.config;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import java.util.Collection;
import java.util.Collections;
@@ -28,6 +29,7 @@ import org.junit.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.annotation.Router;
import org.springframework.integration.channel.ChannelResolver;
import org.springframework.integration.channel.MessageChannelTemplate;
import org.springframework.integration.channel.PollableChannel;
import org.springframework.integration.core.Message;
@@ -134,6 +136,18 @@ public class RouterParserTests {
assertEquals(new Long(1234), timeout);
}
@Test
public void channelResolverConfigured() {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"routerParserTests.xml", this.getClass());
Object channelResolverBean = context.getBean("testChannelResolver");
DirectFieldAccessor endpointAccessor = new DirectFieldAccessor(context.getBean("routerWithChannelResolver"));
MethodInvokingRouter router = (MethodInvokingRouter) endpointAccessor.getPropertyValue("handler");
ChannelResolver channelResolver = (ChannelResolver)
new DirectFieldAccessor(router).getPropertyValue("channelResolver");
assertSame(channelResolverBean, channelResolver);
}
public static class TestRouterImplementation extends AbstractMessageRouter {
@@ -173,6 +187,14 @@ public class RouterParserTests {
}
static class TestChannelResover implements ChannelResolver {
public MessageChannel resolveChannelName(String channelName) {
return null;
}
}
}

View File

@@ -66,4 +66,11 @@
<channel id="timeoutRouterChannel"/>
<router id="routerWithTimeout" ref="payloadAsChannelNameRouter" timeout="1234" input-channel="timeoutRouterChannel"/>
<channel id="channelResolverRouterChannel"/>
<router id="routerWithChannelResolver" input-channel="channelResolverRouterChannel"
ref="payloadAsChannelNameRouter" channel-resolver="testChannelResolver"/>
<beans:bean id="testChannelResolver"
class="org.springframework.integration.router.config.RouterParserTests$TestChannelResover"/>
</beans:beans>