1
2
3
4
5
6
7
8
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 }