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.config;
8   
9   import org.mule.api.endpoint.EndpointBuilder;
10  import org.mule.api.endpoint.InboundEndpoint;
11  import org.mule.routing.filters.ExpressionFilter;
12  import org.mule.tck.junit4.FunctionalTestCase;
13  
14  import org.junit.Test;
15  
16  import static org.junit.Assert.assertEquals;
17  import static org.junit.Assert.assertFalse;
18  import static org.junit.Assert.assertNotNull;
19  import static org.junit.Assert.assertNull;
20  import static org.junit.Assert.assertTrue;
21  
22  public class ExpressionFilterConfigTestCase extends FunctionalTestCase
23  {
24  
25      @Override
26      protected String getConfigResources()
27      {
28          return "org/mule/test/config/expression-filter-config.xml";
29      }
30  
31      @Test
32      public void testConfig1() throws Exception
33      {
34          EndpointBuilder eb = muleContext.getRegistry().lookupEndpointBuilder("endpoint1");
35          assertNotNull(eb);
36  
37          InboundEndpoint ep = eb.buildInboundEndpoint();
38  
39          assertNotNull(ep.getFilter());
40          assertTrue(ep.getFilter() instanceof ExpressionFilter);
41          ExpressionFilter filter = (ExpressionFilter) ep.getFilter();
42          assertEquals("payload-type", filter.getEvaluator());
43          assertEquals("java.lang.String", filter.getExpression());
44          assertNull(filter.getCustomEvaluator());
45          assertFalse(filter.isNullReturnsTrue());
46      }
47  
48      @Test
49      public void testConfig2() throws Exception
50      {
51          EndpointBuilder eb = muleContext.getRegistry().lookupEndpointBuilder("endpoint2");
52          assertNotNull(eb);
53  
54          InboundEndpoint ep = eb.buildInboundEndpoint();
55  
56          assertNotNull(ep.getFilter());
57          assertTrue(ep.getFilter() instanceof ExpressionFilter);
58          ExpressionFilter filter = (ExpressionFilter) ep.getFilter();
59          assertEquals("header", filter.getEvaluator());
60          assertEquals("foo=bar", filter.getExpression());
61          assertNull(filter.getCustomEvaluator());
62          assertTrue(filter.isNullReturnsTrue());
63      }
64  
65      @Test
66      public void testConfig3() throws Exception
67      {
68          EndpointBuilder eb = muleContext.getRegistry().lookupEndpointBuilder("endpoint3");
69          assertNotNull(eb);
70  
71          InboundEndpoint ep = eb.buildInboundEndpoint();
72  
73          assertNotNull(ep.getFilter());
74          assertTrue(ep.getFilter() instanceof ExpressionFilter);
75          ExpressionFilter filter = (ExpressionFilter) ep.getFilter();
76          assertEquals("custom", filter.getEvaluator());
77          assertEquals("a.b.c", filter.getExpression());
78          assertEquals("something", filter.getCustomEvaluator());
79          assertFalse(filter.isNullReturnsTrue());
80      }
81  }