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.routing.filters;
8   
9   import org.mule.DefaultMuleMessage;
10  import org.mule.tck.junit4.AbstractMuleContextTestCase;
11  
12  import org.junit.Test;
13  
14  import static org.junit.Assert.assertFalse;
15  import static org.junit.Assert.assertNotNull;
16  import static org.junit.Assert.assertNull;
17  import static org.junit.Assert.assertTrue;
18  
19  public class PayloadTypeFilterTestCase extends AbstractMuleContextTestCase
20  {
21  
22      @Test
23      public void testPayloadTypeFilterNoExpectedType()
24      {
25          PayloadTypeFilter filter = new PayloadTypeFilter();
26          assertNull(filter.getExpectedType());
27          assertFalse(filter.accept(new DefaultMuleMessage("test", muleContext)));
28  
29          filter.setExpectedType(String.class);
30          assertTrue(filter.accept(new DefaultMuleMessage("test", muleContext)));
31  
32          filter.setExpectedType(null);
33          assertFalse(filter.accept(new DefaultMuleMessage("test", muleContext)));
34      }
35  
36      @Test
37      public void testPayloadTypeFilter()
38      {
39          PayloadTypeFilter filter = new PayloadTypeFilter(Exception.class);
40          assertNotNull(filter.getExpectedType());
41          assertTrue(filter.accept(new DefaultMuleMessage(new Exception("test"), muleContext)));
42          assertTrue(!filter.accept(new DefaultMuleMessage("test", muleContext)));
43  
44          filter.setExpectedType(String.class);
45          assertTrue(filter.accept(new DefaultMuleMessage("test", muleContext)));
46          assertTrue(!filter.accept(new DefaultMuleMessage(new Exception("test"), muleContext)));
47      }
48  
49  }