1
2
3
4
5
6
7
8
9
10
11 package org.mule.routing.filters;
12
13 import org.mule.config.ConfigurationException;
14 import org.mule.impl.MuleMessage;
15 import org.mule.tck.AbstractMuleTestCase;
16 import org.mule.umo.UMOMessage;
17
18 public class OGNLFilterTestCase extends AbstractMuleTestCase
19 {
20 private OGNLFilter filter;
21
22
23 protected void doSetUp() throws Exception
24 {
25 filter = new OGNLFilter();
26 }
27
28
29 protected void doTearDown() throws Exception
30 {
31 filter = null;
32 }
33
34 public void testNewFilter()
35 {
36 assertFalse(filter.accept(null));
37 }
38
39 public void testNoExpressionEmptyMessage()
40 {
41 UMOMessage message = new MuleMessage(null);
42 assertFalse(filter.accept(message));
43 }
44
45 public void testNoExpressionValidMessage()
46 {
47 UMOMessage message = new MuleMessage("foo");
48 assertFalse(filter.accept(message));
49 }
50
51 public void testStringExpression() throws ConfigurationException
52 {
53 UMOMessage message = new MuleMessage("foo");
54 filter.setExpression("equals(\"foo\")");
55 assertTrue(filter.accept(message));
56 }
57
58 public void testValidObjectExpression() throws ConfigurationException
59 {
60 Dummy payload = new Dummy();
61 payload.setContent("foobar");
62 UMOMessage message = new MuleMessage(payload);
63 filter.setExpression("content.endsWith(\"bar\")");
64 assertTrue(filter.accept(message));
65 }
66
67 public void testInvalidObjectExpression()
68 {
69 try
70 {
71 filter.setExpression("foo:bar");
72 fail("should have failed with ConfigurationException");
73 }
74 catch (ConfigurationException configex)
75 {
76
77 }
78
79
80 assertNull(filter.getExpression());
81 }
82
83
84 private static class Dummy
85 {
86 private int id;
87 private String content;
88
89 public Dummy()
90 {
91 super();
92 }
93
94
95
96
97 public String getContent()
98 {
99 return content;
100 }
101
102
103
104
105 public void setContent(String content)
106 {
107 this.content = content;
108 }
109
110
111
112
113 public int getId()
114 {
115 return id;
116 }
117
118
119
120
121 public void setId(int id)
122 {
123 this.id = id;
124 }
125 }
126
127 }