View Javadoc

1   /*
2    * $Id: MessageFilterTestCase.java 20320 2010-11-24 15:03:31Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.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  
11  package org.mule.routing;
12  
13  import org.mule.MessageExchangePattern;
14  import org.mule.api.MuleEvent;
15  import org.mule.routing.filters.EqualsFilter;
16  import org.mule.tck.AbstractMuleTestCase;
17  import org.mule.tck.SensingNullMessageProcessor;
18  
19  import org.junit.Test;
20  
21  public class MessageFilterTestCase extends AbstractMuleTestCase
22  {
23  
24      @Test
25      public void testFilterPass() throws Exception
26      {
27          MessageFilter mp = new MessageFilter(new EqualsFilter(TEST_MESSAGE), false, null);
28          SensingNullMessageProcessor listener = getSensingNullMessageProcessor();
29          mp.setListener(listener);
30  
31          MuleEvent inEvent = getTestEvent(TEST_MESSAGE);
32  
33          MuleEvent resultEvent = mp.process(inEvent);
34  
35          assertNotNull(listener.event);
36          assertSame(inEvent, listener.event);
37          assertEquals(inEvent, resultEvent);
38      }
39  
40      @Test
41      public void testFilterFail() throws Exception
42      {
43          MessageFilter mp = new MessageFilter(new EqualsFilter(null), false, null);
44          SensingNullMessageProcessor out = getSensingNullMessageProcessor();
45          mp.setListener(out);
46  
47          MuleEvent inEvent = getTestEvent(TEST_MESSAGE);
48  
49          MuleEvent resultEvent = mp.process(inEvent);
50  
51          assertNull(out.event);
52          assertNull(resultEvent);
53      }
54      
55      @Test
56      public void testFilterPassUnacceptedMP() throws Exception
57      {
58          MessageFilter mp = new MessageFilter(new EqualsFilter(TEST_MESSAGE), false, null);
59          SensingNullMessageProcessor out = getSensingNullMessageProcessor();
60          SensingNullMessageProcessor unaccepted = getSensingNullMessageProcessor();
61          mp.setListener(out);
62          mp.setUnacceptedMessageProcessor(unaccepted);
63  
64          MuleEvent inEvent = getTestEvent(TEST_MESSAGE);
65  
66          MuleEvent resultEvent = mp.process(inEvent);
67  
68          assertNotNull(out.event);
69          assertSame(inEvent, out.event);
70          assertEquals(inEvent, resultEvent);
71          assertNull(unaccepted.event);
72      }
73  
74      @Test
75      public void testFilterFailUnacceptedMP() throws Exception
76      {
77          SensingNullMessageProcessor unaccepted = getSensingNullMessageProcessor();
78          MessageFilter mp = new MessageFilter(new EqualsFilter(null), false, unaccepted);
79          SensingNullMessageProcessor out = getSensingNullMessageProcessor();
80          mp.setListener(out);
81  
82          MuleEvent inEvent = getTestEvent(TEST_MESSAGE, MessageExchangePattern.ONE_WAY);
83  
84          MuleEvent resultEvent = mp.process(inEvent);
85  
86          assertNull(out.event);
87          assertNull(resultEvent);
88          assertNotNull(unaccepted.event);
89          assertSame(inEvent, unaccepted.event);
90      }
91  }