1
2
3
4
5
6
7
8
9
10 package org.mule.config.spring;
11
12 import org.mule.api.routing.Router;
13 import org.mule.api.service.Service;
14 import org.mule.routing.inbound.ForwardingConsumer;
15 import org.mule.routing.inbound.IdempotentSecureHashReceiver;
16 import org.mule.routing.inbound.InboundPassThroughRouter;
17 import org.mule.routing.inbound.SelectiveConsumer;
18 import org.mule.routing.inbound.IdempotentReceiver;
19 import org.mule.tck.FunctionalTestCase;
20 import org.mule.util.store.InMemoryObjectStore;
21 import org.mule.util.store.TextFileObjectStore;
22
23 import java.util.List;
24
25 public class CoreNamespaceRoutersTestCase extends FunctionalTestCase
26 {
27 public String getConfigResources()
28 {
29 return "core-namespace-routers.xml";
30 }
31
32 public void testForwardingRouter() throws Exception
33 {
34 Router r = lookupInboundRouterFromService("ForwardingRouter");
35 assertTrue(r instanceof ForwardingConsumer);
36 }
37
38 public void testIdempotentSecureHashReceiverRouter() throws Exception
39 {
40 Router r = lookupInboundRouterFromService("IdempotentSecureHashReceiverRouter");
41 assertTrue(r instanceof IdempotentSecureHashReceiver);
42 IdempotentSecureHashReceiver router = (IdempotentSecureHashReceiver)r;
43 assertEquals("SHA-128", router.getMessageDigestAlgorithm());
44 assertNotNull(router.getStore());
45 assertTrue(router.getStore() instanceof InMemoryObjectStore);
46 InMemoryObjectStore store = (InMemoryObjectStore)router.getStore();
47 assertEquals(1001, store.getEntryTTL());
48 assertEquals(1001, store.getExpirationInterval());
49 assertEquals(1001, store.getMaxEntries());
50 assertEquals("xyz", store.getName());
51 assertNotNull(store.getScheduler());
52 }
53
54 public void testIdempotentReceiverRouter() throws Exception
55 {
56 Router r = lookupInboundRouterFromService("IdempotentReceiverRouter");
57 assertTrue(r instanceof IdempotentReceiver);
58 IdempotentReceiver router = (IdempotentReceiver)r;
59 assertEquals("${message:id}-${message:correlationId}", router.getIdExpression());
60 assertNotNull(router.getStore());
61 assertTrue(router.getStore() instanceof TextFileObjectStore);
62 TextFileObjectStore store = (TextFileObjectStore)router.getStore();
63 assertEquals(-1, store.getEntryTTL());
64 assertEquals(1000, store.getExpirationInterval());
65 assertEquals(10000000, store.getMaxEntries());
66 assertEquals("foo", store.getDirectory());
67 assertNotNull(store.getName());
68 assertNotNull(store.getScheduler());
69 }
70
71 public void testInboundPassThroughRouter() throws Exception
72 {
73 Router r = lookupInboundRouterFromService("InboundPassThroughRouter");
74 assertTrue(r instanceof InboundPassThroughRouter);
75 }
76
77 public void testSelectiveConsumerRouter() throws Exception
78 {
79 Router r = lookupInboundRouterFromService("SelectiveConsumerRouter");
80 assertTrue(r instanceof SelectiveConsumer);
81 assertFalse(((SelectiveConsumer) r).isTransformFirst());
82 }
83
84 protected Router lookupInboundRouterFromService(String serviceName) throws Exception
85 {
86 Service c = muleContext.getRegistry().lookupService(serviceName);
87 assertNotNull(c);
88 List routers = c.getInboundRouter().getRouters();
89 assertEquals(1, routers.size());
90 assertTrue(routers.get(0) instanceof Router);
91 return (Router) routers.get(0);
92 }
93 }