View Javadoc
1   /*
2    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
3    * The software in this package is published under the terms of the CPAL v1.0
4    * license, a copy of which has been included with this distribution in the
5    * LICENSE.txt file.
6    */
7   package org.mule.config.spring.parsers.endpoint;
8   
9   import org.mule.api.MuleException;
10  import org.mule.api.endpoint.ImmutableEndpoint;
11  import org.mule.api.processor.MessageProcessor;
12  import org.mule.api.routing.OutboundRouterCollection;
13  import org.mule.api.service.Service;
14  import org.mule.api.transformer.Transformer;
15  import org.mule.routing.outbound.OutboundPassThroughRouter;
16  import org.mule.service.ServiceCompositeMessageSource;
17  import org.mule.tck.junit4.FunctionalTestCase;
18  import org.mule.tck.testmodels.mule.TestInboundTransformer;
19  import org.mule.tck.testmodels.mule.TestResponseTransformer;
20  
21  import java.util.List;
22  
23  import org.junit.Test;
24  
25  import static org.junit.Assert.assertEquals;
26  import static org.junit.Assert.assertNotNull;
27  import static org.junit.Assert.assertTrue;
28  
29  public class EndpointTranformersInUriTestCase extends FunctionalTestCase
30  {
31  
32      @Override
33      protected String getConfigResources()
34      {
35          return "org/mule/config/spring/parsers/endpoint/endpoint-uri-transformers.xml";
36      }
37  
38      @Test
39      public void testGlobalEndpoint1() throws MuleException
40      {
41          ImmutableEndpoint endpoint = muleContext.getEndpointFactory().getInboundEndpoint("ep1");
42          
43          List <MessageProcessor> processors = endpoint.getMessageProcessors();
44          assertNotNull(processors);
45          assertEquals(2, processors.size());
46          assertTrue(processors.get(0) instanceof TestInboundTransformer);
47          // For backwards-compatibility only
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          // For backwards-compatibility only
58          transformers = endpoint.getResponseTransformers();
59          assertNotNull(transformers);
60          assertEquals(1, transformers.size());
61          assertTrue(transformers.get(0) instanceof TestResponseTransformer);
62      }
63  
64      @Test
65      public void testGlobalEndpoint2() throws MuleException
66      {
67          ImmutableEndpoint endpoint = muleContext.getEndpointFactory().getInboundEndpoint("ep2");
68          
69          List <MessageProcessor> processors = endpoint.getMessageProcessors();
70          assertNotNull(processors);
71          assertEquals(3, processors.size());
72          assertTrue(processors.get(0) instanceof TestInboundTransformer);
73          assertTrue(processors.get(1) instanceof TestInboundTransformer);
74          // For backwards-compatibility only
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          // For backwards-compatibility only
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      @Test
95      public void testGlobalEndpoints() throws MuleException
96      {
97          Service service = muleContext.getRegistry().lookupService("globalEndpoints");
98          
99          ImmutableEndpoint endpoint = ((ServiceCompositeMessageSource) service.getMessageSource()).getEndpoints().get(0);
100         
101         List <MessageProcessor> processors = endpoint.getMessageProcessors();
102         assertNotNull(processors);
103         assertEquals(2, processors.size());
104         assertTrue(processors.get(0) instanceof TestInboundTransformer);
105         // For backwards-compatibility only
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         // For backwards-compatibility only
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         // For backwards-compatibility only
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         // For backwards-compatibility only
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    @Test
150     public void testLocalEndpoints() throws MuleException
151     {
152         Service service = muleContext.getRegistry().lookupService("localEndpoints");
153        
154         ImmutableEndpoint endpoint = ((ServiceCompositeMessageSource) service.getMessageSource()).getEndpoints().get(0);
155         
156         List <MessageProcessor> processors = endpoint.getMessageProcessors();
157         assertNotNull(processors);
158         assertEquals(2, processors.size());
159         assertTrue(processors.get(0) instanceof TestInboundTransformer);
160         // For backwards-compatibility only
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         // For backwards-compatibility only
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         // For backwards-compatibility only
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         // For backwards-compatibility only
194         transformers = endpoint.getResponseTransformers();
195         assertNotNull(transformers);
196         assertEquals(1, transformers.size());
197         assertTrue(transformers.get(0) instanceof TestResponseTransformer);
198     }
199 }