1
2
3
4
5
6
7
8
9
10
11 package org.mule.config.spring.parsers.endpoint;
12
13 import org.mule.api.MuleException;
14 import org.mule.api.endpoint.ImmutableEndpoint;
15 import org.mule.api.processor.MessageProcessor;
16 import org.mule.api.processor.MessageProcessorChain;
17 import org.mule.api.routing.OutboundRouterCollection;
18 import org.mule.api.service.Service;
19 import org.mule.api.transformer.Transformer;
20 import org.mule.routing.outbound.OutboundPassThroughRouter;
21 import org.mule.service.ServiceCompositeMessageSource;
22 import org.mule.tck.FunctionalTestCase;
23 import org.mule.tck.testmodels.mule.TestInboundTransformer;
24 import org.mule.tck.testmodels.mule.TestResponseTransformer;
25 import org.mule.transformer.simple.MessagePropertiesTransformer;
26 import org.mule.transformer.simple.StringAppendTransformer;
27
28 import java.util.List;
29
30 public class EndpointTranformersInAttributesTestCase extends FunctionalTestCase
31 {
32
33 protected String getConfigResources()
34 {
35 return "org/mule/config/spring/parsers/endpoint/endpoint-attribute-transformers.xml";
36 }
37
38 public void testGlobalEndpoint1() throws MuleException
39 {
40 ImmutableEndpoint endpoint = muleContext.getEndpointFactory().getInboundEndpoint(
41 "ep1");
42
43 List<MessageProcessor> processors = endpoint.getMessageProcessors();
44 assertNotNull(processors);
45 assertEquals(1, processors.size());
46 assertTrue(processors.get(0) instanceof TestInboundTransformer);
47
48 List<Transformer> transformers = endpoint.getTransformers();
49 assertNotNull(transformers);
50 assertEquals(1, transformers.size());
51 assertTrue(transformers.get(0) instanceof TestInboundTransformer);
52
53 processors = endpoint.getResponseMessageProcessors();
54 assertNotNull(processors);
55 assertEquals(1, processors.size());
56 assertTrue(processors.get(0) instanceof TestResponseTransformer);
57
58 transformers = endpoint.getResponseTransformers();
59 assertNotNull(transformers);
60 assertEquals(1, transformers.size());
61 assertTrue(transformers.get(0) instanceof TestResponseTransformer);
62 }
63
64 public void testGlobalEndpoint2() throws MuleException
65 {
66 ImmutableEndpoint endpoint = muleContext.getEndpointFactory().getInboundEndpoint(
67 "ep2");
68
69 List<MessageProcessor> processors = endpoint.getMessageProcessors();
70 assertNotNull(processors);
71 assertEquals(2, processors.size());
72 assertTrue(processors.get(0) instanceof TestInboundTransformer);
73 assertTrue(processors.get(1) instanceof TestInboundTransformer);
74
75 List<Transformer> transformers = endpoint.getTransformers();
76 assertNotNull(transformers);
77 assertEquals(2, transformers.size());
78 assertTrue(transformers.get(0) instanceof TestInboundTransformer);
79 assertTrue(transformers.get(1) instanceof TestInboundTransformer);
80
81 processors = endpoint.getResponseMessageProcessors();
82 assertNotNull(processors);
83 assertEquals(2, processors.size());
84 assertTrue(processors.get(0) instanceof TestResponseTransformer);
85 assertTrue(processors.get(1) instanceof TestResponseTransformer);
86
87 transformers = endpoint.getResponseTransformers();
88 assertNotNull(transformers);
89 assertEquals(2, transformers.size());
90 assertTrue(transformers.get(0) instanceof TestResponseTransformer);
91 assertTrue(transformers.get(1) instanceof TestResponseTransformer);
92 }
93
94 public void testGlobalEndpoints() throws MuleException
95 {
96 Service service = muleContext.getRegistry().lookupService("globalEndpoints");
97
98 ImmutableEndpoint endpoint = ((ServiceCompositeMessageSource) service.getMessageSource()).getEndpoints()
99 .get(0);
100
101 List<MessageProcessor> processors = endpoint.getMessageProcessors();
102 assertNotNull(processors);
103 assertEquals(1, processors.size());
104 assertTrue(processors.get(0) instanceof TestInboundTransformer);
105
106 List<Transformer> transformers = endpoint.getTransformers();
107 assertNotNull(transformers);
108 assertEquals(1, transformers.size());
109 assertTrue(transformers.get(0) instanceof TestInboundTransformer);
110
111 processors = endpoint.getResponseMessageProcessors();
112 assertNotNull(processors);
113 assertEquals(1, processors.size());
114 assertTrue(processors.get(0) instanceof TestResponseTransformer);
115
116 transformers = endpoint.getResponseTransformers();
117 assertNotNull(transformers);
118 assertEquals(1, transformers.size());
119 assertTrue(transformers.get(0) instanceof TestResponseTransformer);
120
121 endpoint = (ImmutableEndpoint) ((OutboundPassThroughRouter) ((OutboundRouterCollection) service.getOutboundMessageProcessor()).getRoutes()
122 .get(0)).getRoutes().get(0);
123
124 processors = endpoint.getMessageProcessors();
125 assertNotNull(processors);
126 assertEquals(2, processors.size());
127 assertTrue(processors.get(0) instanceof TestInboundTransformer);
128 assertTrue(processors.get(1) instanceof TestInboundTransformer);
129
130 transformers = endpoint.getTransformers();
131 assertNotNull(transformers);
132 assertEquals(2, transformers.size());
133 assertTrue(transformers.get(0) instanceof TestInboundTransformer);
134 assertTrue(transformers.get(1) instanceof TestInboundTransformer);
135
136 processors = endpoint.getResponseMessageProcessors();
137 assertNotNull(processors);
138 assertEquals(2, processors.size());
139 assertTrue(processors.get(0) instanceof TestResponseTransformer);
140 assertTrue(processors.get(1) instanceof TestResponseTransformer);
141
142 transformers = endpoint.getResponseTransformers();
143 assertNotNull(transformers);
144 assertEquals(2, transformers.size());
145 assertTrue(transformers.get(0) instanceof TestResponseTransformer);
146 assertTrue(transformers.get(1) instanceof TestResponseTransformer);
147 }
148
149 public void testLocalEndpoints() throws MuleException
150 {
151 Service service = muleContext.getRegistry().lookupService("localEndpoints");
152
153 ImmutableEndpoint endpoint = ((ServiceCompositeMessageSource) service.getMessageSource()).getEndpoints()
154 .get(0);
155
156 List<MessageProcessor> processors = endpoint.getMessageProcessors();
157 assertNotNull(processors);
158 assertEquals(1, processors.size());
159 assertTrue(processors.get(0) instanceof TestInboundTransformer);
160
161 List<Transformer> transformers = endpoint.getTransformers();
162 assertNotNull(transformers);
163 assertEquals(1, transformers.size());
164 assertTrue(transformers.get(0) instanceof TestInboundTransformer);
165
166 processors = endpoint.getResponseMessageProcessors();
167 assertNotNull(processors);
168 assertEquals(1, processors.size());
169 assertTrue(processors.get(0) instanceof TestResponseTransformer);
170
171 transformers = endpoint.getResponseTransformers();
172 assertNotNull(transformers);
173 assertEquals(1, transformers.size());
174 assertTrue(transformers.get(0) instanceof TestResponseTransformer);
175
176 endpoint = (ImmutableEndpoint) ((OutboundPassThroughRouter) ((OutboundRouterCollection) service.getOutboundMessageProcessor()).getRoutes()
177 .get(0)).getRoutes().get(0);
178
179 processors = endpoint.getMessageProcessors();
180 assertNotNull(processors);
181 assertEquals(1, processors.size());
182 assertTrue(processors.get(0) instanceof TestInboundTransformer);
183
184 transformers = endpoint.getTransformers();
185 assertNotNull(transformers);
186 assertEquals(1, transformers.size());
187 assertTrue(transformers.get(0) instanceof TestInboundTransformer);
188
189 processors = endpoint.getResponseMessageProcessors();
190 assertNotNull(processors);
191 assertEquals(1, processors.size());
192 assertTrue(processors.get(0) instanceof TestResponseTransformer);
193
194 transformers = endpoint.getResponseTransformers();
195 assertNotNull(transformers);
196 assertEquals(1, transformers.size());
197 assertTrue(transformers.get(0) instanceof TestResponseTransformer);
198 }
199
200 public void testTransformerRefsWithChildProcessors() throws MuleException
201 {
202 Service service = muleContext.getRegistry().lookupService("transformerRefsWithChildProcessors");
203
204 ImmutableEndpoint endpoint = ((ServiceCompositeMessageSource) service.getMessageSource()).getEndpoints()
205 .get(0);
206
207 List<MessageProcessor> processors = endpoint.getMessageProcessors();
208 assertNotNull(processors);
209 assertEquals(2, processors.size());
210 assertTrue(processors.get(0) instanceof StringAppendTransformer);
211 assertTrue(processors.get(1) instanceof TestInboundTransformer);
212
213 processors = endpoint.getResponseMessageProcessors();
214 assertNotNull(processors);
215 assertEquals(2, processors.size());
216 assertTrue(processors.get(0) instanceof MessageProcessorChain);
217 assertTrue(((MessageProcessorChain)processors.get(0)).getMessageProcessors().get(0) instanceof StringAppendTransformer);
218 assertTrue(processors.get(1) instanceof TestResponseTransformer);
219
220 endpoint = (ImmutableEndpoint) ((OutboundPassThroughRouter) ((OutboundRouterCollection) service.getOutboundMessageProcessor()).getRoutes()
221 .get(0)).getRoutes().get(0);
222
223 processors = endpoint.getMessageProcessors();
224 assertNotNull(processors);
225 assertEquals(2, processors.size());
226 assertTrue(processors.get(0) instanceof MessagePropertiesTransformer);
227 assertTrue(processors.get(1) instanceof TestInboundTransformer);
228
229 processors = endpoint.getResponseMessageProcessors();
230 assertNotNull(processors);
231 assertEquals(2, processors.size());
232 assertTrue(processors.get(0) instanceof MessageProcessorChain);
233 assertTrue(((MessageProcessorChain)processors.get(0)).getMessageProcessors().get(0) instanceof MessagePropertiesTransformer);
234 assertTrue(processors.get(1) instanceof TestResponseTransformer);
235 }
236
237 }