1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.integration;
12
13 import org.mule.DefaultMuleEvent;
14 import org.mule.DefaultMuleMessage;
15 import org.mule.MessageExchangePattern;
16 import org.mule.api.MuleEvent;
17 import org.mule.api.endpoint.ImmutableEndpoint;
18 import org.mule.api.endpoint.InboundEndpoint;
19 import org.mule.api.endpoint.OutboundEndpoint;
20 import org.mule.api.routing.OutboundRouter;
21 import org.mule.api.routing.OutboundRouterCollection;
22 import org.mule.api.service.Service;
23 import org.mule.module.xml.transformer.ObjectToXml;
24 import org.mule.service.ServiceCompositeMessageSource;
25 import org.mule.tck.FunctionalTestCase;
26 import org.mule.tck.MuleTestUtils;
27 import org.mule.transport.tcp.TcpConnector;
28 import org.mule.transport.vm.VMConnector;
29
30
31
32
33 public class MuleEndpointConfigurationTestCase extends FunctionalTestCase
34 {
35
36 @Override
37 protected String getConfigResources()
38 {
39 return "org/mule/test/integration/test-endpoints-config.xml";
40 }
41
42 public void testComponent3RouterEndpoints() throws Exception
43 {
44
45 Service service = muleContext.getRegistry().lookupService("TestComponent3");
46 assertNotNull(service);
47 OutboundRouterCollection outboundRouter = (OutboundRouterCollection) service.getOutboundMessageProcessor();
48 assertNotNull(outboundRouter);
49 assertEquals(2, outboundRouter.getRoutes().size());
50
51 OutboundRouter router1 = (OutboundRouter)outboundRouter.getRoutes().get(0);
52 assertEquals(1, router1.getRoutes().size());
53 ImmutableEndpoint endpoint = (ImmutableEndpoint) router1.getRoutes().get(0);
54 assertEquals("tcp", endpoint.getConnector().getProtocol().toLowerCase());
55 assertEquals("tcp://localhost:60201", endpoint.getEndpointURI().getAddress());
56 assertTrue(endpoint instanceof OutboundEndpoint);
57
58
59 OutboundRouter router2 = (OutboundRouter)outboundRouter.getRoutes().get(1);
60 assertEquals(2, router2.getRoutes().size());
61 endpoint = (ImmutableEndpoint) router2.getRoutes().get(0);
62 assertEquals("udp", endpoint.getConnector().getProtocol().toLowerCase());
63 assertEquals("udp://localhost:56731", endpoint.getEndpointURI().getAddress());
64 assertTrue(endpoint instanceof OutboundEndpoint);
65
66 endpoint = (ImmutableEndpoint) router2.getRoutes().get(1);
67 assertEquals("test", endpoint.getConnector().getProtocol().toLowerCase());
68 assertEquals("test.queue2", endpoint.getEndpointURI().getAddress());
69 assertTrue(endpoint instanceof OutboundEndpoint);
70
71 }
72
73 public void testComponent4Endpoints() throws Exception
74 {
75
76 Service service = muleContext.getRegistry().lookupService("TestComponent4");
77 assertNotNull(service);
78 assertNotNull(((ServiceCompositeMessageSource) service.getMessageSource()).getEndpoints());
79 assertEquals(1, ((ServiceCompositeMessageSource) service.getMessageSource()).getEndpoints().size());
80 ImmutableEndpoint endpoint = ((ServiceCompositeMessageSource) service.getMessageSource()).getEndpoints().get(0);
81 assertNotNull(endpoint);
82 assertEquals(VMConnector.VM, endpoint.getConnector().getProtocol().toLowerCase());
83 assertEquals("queue4", endpoint.getEndpointURI().getAddress());
84 assertFalse(endpoint.getTransformers().isEmpty());
85 assertTrue(endpoint.getTransformers().get(0) instanceof ObjectToXml);
86 assertTrue(endpoint instanceof InboundEndpoint);
87 }
88
89 public void testComponent4RouterEndpoints() throws Exception
90 {
91
92 Service service = muleContext.getRegistry().lookupService("TestComponent4");
93 assertNotNull(service);
94 OutboundRouterCollection outboundRouter = (OutboundRouterCollection) service.getOutboundMessageProcessor();
95 assertNotNull(outboundRouter);
96 assertEquals(1, outboundRouter.getRoutes().size());
97
98 OutboundRouter router = (OutboundRouter)outboundRouter.getRoutes().get(0);
99 assertEquals(1, router.getRoutes().size());
100 ImmutableEndpoint endpoint = (ImmutableEndpoint) router.getRoutes().get(0);
101 assertEquals("udp", endpoint.getConnector().getProtocol().toLowerCase());
102 assertEquals("udp://localhost:56731", endpoint.getEndpointURI().getAddress());
103
104
105
106 assertTrue(endpoint instanceof OutboundEndpoint);
107
108 }
109
110 public void testComponent5RouterEndpoints() throws Exception
111 {
112
113 Service service = muleContext.getRegistry().lookupService("TestComponent5");
114 assertNotNull(service);
115 OutboundRouterCollection outboundRouter = (OutboundRouterCollection) service.getOutboundMessageProcessor();
116 assertNotNull(outboundRouter);
117 assertEquals(1, outboundRouter.getRoutes().size());
118
119 OutboundRouter router = (OutboundRouter)outboundRouter.getRoutes().get(0);
120 assertEquals(1, router.getRoutes().size());
121 ImmutableEndpoint endpoint = (ImmutableEndpoint) router.getRoutes().get(0);
122 assertEquals(TcpConnector.TCP, endpoint.getConnector().getProtocol().toLowerCase());
123 assertEquals("tcp://localhost:45431", endpoint.getEndpointURI().getAddress());
124
125
126
127 assertTrue(endpoint instanceof OutboundEndpoint);
128
129 }
130
131 public void testEndpointFromURI() throws Exception
132 {
133 ImmutableEndpoint ep = muleContext.getEndpointFactory().getInboundEndpoint(
134 "test://hello?exchangePattern=request-response&responseTimeout=2002&connector=testConnector1");
135 assertEquals(MessageExchangePattern.REQUEST_RESPONSE, ep.getExchangePattern());
136 assertEquals(2002, ep.getResponseTimeout());
137 assertTrue(ep instanceof InboundEndpoint);
138
139
140 MuleEvent event = new DefaultMuleEvent(new DefaultMuleMessage("hello", muleContext), ep, MuleTestUtils.getTestSession(muleContext));
141 assertEquals(2002, event.getTimeout());
142
143 ImmutableEndpoint ep2 = muleContext.getEndpointFactory().getInboundEndpoint(
144 "test://hello?connector=testConnector1");
145
146 event = new DefaultMuleEvent(new DefaultMuleMessage("hello", muleContext), ep2, MuleTestUtils.getTestSession(muleContext));
147
148 assertEquals(1001, event.getTimeout());
149 }
150
151 }