1   /*
2    * $Id: ExpressionFilterConfigTestCase.java 11477 2008-03-22 00:18:50Z rossmason $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  package org.mule.test.config;
11  
12  import org.mule.api.endpoint.EndpointBuilder;
13  import org.mule.api.endpoint.InboundEndpoint;
14  import org.mule.routing.filters.ExpressionFilter;
15  import org.mule.tck.FunctionalTestCase;
16  
17  public class ExpressionFilterConfigTestCase extends FunctionalTestCase
18  {
19      protected String getConfigResources()
20      {
21          return "org/mule/test/config/expression-filter-config.xml";
22      }
23  
24      public void testConfig1() throws Exception
25      {
26          EndpointBuilder eb = muleContext.getRegistry().lookupEndpointBuilder("endpoint1");
27          assertNotNull(eb);
28  
29          InboundEndpoint ep = eb.buildInboundEndpoint();
30  
31          assertNotNull(ep.getFilter());
32          assertTrue(ep.getFilter() instanceof ExpressionFilter);
33          ExpressionFilter filter = (ExpressionFilter) ep.getFilter();
34          assertEquals("payload-type", filter.getEvaluator());
35          assertEquals("java.lang.String", filter.getExpression());
36          assertNull(filter.getCustomEvaluator());
37          assertFalse(filter.isNullReturnsTrue());
38      }
39  
40      public void testConfig2() throws Exception
41      {
42          EndpointBuilder eb = muleContext.getRegistry().lookupEndpointBuilder("endpoint2");
43          assertNotNull(eb);
44  
45          InboundEndpoint ep = eb.buildInboundEndpoint();
46  
47          assertNotNull(ep.getFilter());
48          assertTrue(ep.getFilter() instanceof ExpressionFilter);
49          ExpressionFilter filter = (ExpressionFilter) ep.getFilter();
50          assertEquals("header", filter.getEvaluator());
51          assertEquals("foo=bar", filter.getExpression());
52          assertNull(filter.getCustomEvaluator());
53          assertTrue(filter.isNullReturnsTrue());
54      }
55  
56      public void testConfig3() throws Exception
57      {
58          EndpointBuilder eb = muleContext.getRegistry().lookupEndpointBuilder("endpoint3");
59          assertNotNull(eb);
60  
61          InboundEndpoint ep = eb.buildInboundEndpoint();
62  
63          assertNotNull(ep.getFilter());
64          assertTrue(ep.getFilter() instanceof ExpressionFilter);
65          ExpressionFilter filter = (ExpressionFilter) ep.getFilter();
66          assertEquals("custom", filter.getEvaluator());
67          assertEquals("a.b.c", filter.getExpression());
68          assertEquals("something", filter.getCustomEvaluator());
69          assertFalse(filter.isNullReturnsTrue());
70      }
71  }