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