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.test.issues;
8   
9   import org.mule.api.processor.MessageProcessor;
10  import org.mule.api.routing.filter.Filter;
11  import org.mule.api.transformer.Transformer;
12  import org.mule.construct.SimpleFlowConstruct;
13  import org.mule.routing.MessageFilter;
14  import org.mule.tck.junit4.FunctionalTestCase;
15  
16  import org.junit.Test;
17  
18  import static org.junit.Assert.assertNotSame;
19  
20  public class Mule5038TestCase extends FunctionalTestCase
21  {
22  
23      @Override
24      protected String getConfigResources()
25      {
26          return "org/mule/test/issues/mule-5038-config.xml";
27      }
28  
29      @Test
30      public void testTransformerOnGlobalEndpoint()
31      {
32          SimpleFlowConstruct flow1 = muleContext.getRegistry().lookupObject("flow1");
33          Filter flow1Filter = ((MessageFilter) flow1.getMessageProcessors().get(0)).getFilter();
34          SimpleFlowConstruct flow2 = muleContext.getRegistry().lookupObject("flow2");
35          Filter flow2Filter = ((MessageFilter) flow2.getMessageProcessors().get(0)).getFilter();
36  
37          assertNotSame(flow1Filter, flow2Filter);
38      }
39  
40      @Test
41      public void testFilterOnGlobalEndpoint()
42      {
43          SimpleFlowConstruct flow1 = muleContext.getRegistry().lookupObject("flow1");
44          Transformer flow1Transoformer = (Transformer) flow1.getMessageProcessors().get(1);
45          SimpleFlowConstruct flow2 = muleContext.getRegistry().lookupObject("flow2");
46          Transformer flow2Transoformer = (Transformer) flow2.getMessageProcessors().get(1);
47  
48          assertNotSame(flow1Transoformer, flow2Transoformer);
49      }
50  
51      @Test
52      public void testCustomProcessorOnGlobalEndpoint()
53      {
54          SimpleFlowConstruct flow1 = muleContext.getRegistry().lookupObject("flow1");
55          MessageProcessor flow1Processor = (MessageProcessor) flow1.getMessageProcessors().get(3);
56          SimpleFlowConstruct flow2 = muleContext.getRegistry().lookupObject("flow2");
57          MessageProcessor flow2Processor = (MessageProcessor) flow2.getMessageProcessors().get(3);
58  
59          assertNotSame(flow1Processor, flow2Processor);
60      }
61  
62      @Test
63      public void testCompositeProcessorOnGlobalEndpoint()
64      {
65          SimpleFlowConstruct flow1 = muleContext.getRegistry().lookupObject("flow1");
66          MessageProcessor flow1Processor = (MessageProcessor) flow1.getMessageProcessors().get(2);
67          SimpleFlowConstruct flow2 = muleContext.getRegistry().lookupObject("flow2");
68          MessageProcessor flow2Processor = (MessageProcessor) flow2.getMessageProcessors().get(2);
69  
70          assertNotSame(flow1Processor, flow2Processor);
71      }
72  
73  }