1
2
3
4
5
6
7
8
9
10
11 package org.mule.routing.filters;
12
13 import org.mule.DefaultMuleMessage;
14 import org.mule.api.MuleMessage;
15 import org.mule.tck.AbstractMuleTestCase;
16
17 public class MessagePropertyFilterTestCase extends AbstractMuleTestCase
18 {
19
20 public void testMessagePropertyFilter() throws Exception
21 {
22 MessagePropertyFilter filter = new MessagePropertyFilter("foo=bar");
23 MuleMessage message = new DefaultMuleMessage("blah");
24 assertTrue(!filter.accept(message));
25 message.setProperty("foo", "bar");
26 assertTrue(filter.accept(message));
27 }
28
29 public void testMessagePropertyFilterWithNot() throws Exception
30 {
31 MessagePropertyFilter filter = new MessagePropertyFilter("foo!=bar");
32 MuleMessage message = new DefaultMuleMessage("blah");
33
34 assertTrue(filter.accept(message));
35 message.setProperty("foo", "bar");
36 assertTrue(!filter.accept(message));
37 message.setProperty("foo", "car");
38 assertTrue(filter.accept(message));
39 }
40
41 public void testMessagePropertyFilterWithNotNull() throws Exception
42 {
43 MessagePropertyFilter filter = new MessagePropertyFilter("foo!=null");
44 MuleMessage message = new DefaultMuleMessage("blah");
45
46 assertTrue(!filter.accept(message));
47 message.removeProperty("foo");
48 assertTrue(!filter.accept(message));
49 message.setProperty("foo", "car");
50 assertTrue(filter.accept(message));
51 }
52
53 public void testMessagePropertyFilterWithCaseSensitivity() throws Exception
54 {
55 MessagePropertyFilter filter = new MessagePropertyFilter("foo=Bar");
56 MuleMessage message = new DefaultMuleMessage("blah");
57 message.setProperty("foo", "bar");
58 assertTrue(!filter.accept(message));
59 filter.setCaseSensitive(false);
60 assertTrue(filter.accept(message));
61 }
62
63 public void testMessagePropertyFilterDodgyValues() throws Exception
64 {
65 MessagePropertyFilter filter = new MessagePropertyFilter();
66 assertFalse(filter.accept(null));
67
68 filter = new MessagePropertyFilter("foo = bar");
69 MuleMessage message = new DefaultMuleMessage("blah");
70 message.setProperty("foo", "bar");
71 assertTrue(filter.accept(message));
72 filter.setCaseSensitive(false);
73
74 filter = new MessagePropertyFilter("foo2 =null");
75 message.removeProperty("foo2");
76 assertTrue(filter.accept(message));
77
78 filter = new MessagePropertyFilter("foo2 =");
79 message.setProperty("foo2", "");
80 assertTrue(filter.accept(message));
81
82 message.removeProperty("foo2");
83 assertTrue(!filter.accept(message));
84 }
85 }