1
2
3
4
5
6
7
8
9
10 package org.mule.expression;
11
12 import org.mule.DefaultMuleMessage;
13 import org.mule.api.MuleMessage;
14 import org.mule.message.DefaultExceptionPayload;
15 import org.mule.tck.AbstractMuleTestCase;
16
17 public class MessageExpressionEvaluatorTestCase extends AbstractMuleTestCase
18 {
19 public void testUsingEvaluatorDirectly() throws Exception
20 {
21 MessageExpressionEvaluator eval = new MessageExpressionEvaluator();
22 MuleMessage message = new DefaultMuleMessage("test", muleContext);
23 message.setCorrelationId(message.getUniqueId());
24 message.setCorrelationSequence(1);
25 message.setCorrelationGroupSize(2);
26 message.setReplyTo("foo");
27 message.setEncoding("UTF-8");
28 Exception e = new Exception("dummy");
29 message.setExceptionPayload(new DefaultExceptionPayload(e));
30
31
32 Object result = eval.evaluate(null, message);
33 assertNotNull(result);
34 assertEquals(message, result);
35
36
37 result = eval.evaluate(null, null);
38 assertNull(result);
39
40 assertEquals(message.getUniqueId(), eval.evaluate("id", message));
41 assertEquals(message.getUniqueId(), eval.evaluate("correlationId", message));
42 assertEquals(new Integer(1), eval.evaluate("correlationSequence", message));
43 assertEquals(new Integer(2), eval.evaluate("correlationGroupSize", message));
44 assertEquals("foo", eval.evaluate("replyTo", message));
45 assertEquals(e, eval.evaluate("exception", message));
46 assertEquals("UTF-8", eval.evaluate("encoding", message));
47 assertEquals("test", eval.evaluate("payload", message));
48
49 try
50 {
51 eval.evaluate("xxx", message);
52 fail("xxx is not a supported expresion");
53 }
54 catch (Exception e1)
55 {
56
57 }
58 }
59
60
61
62
63
64
65 public void testUsingManager() throws Exception
66 {
67 MuleMessage message = new DefaultMuleMessage("test", muleContext);
68 message.setCorrelationId(message.getUniqueId());
69 message.setCorrelationSequence(1);
70 message.setCorrelationGroupSize(2);
71 message.setReplyTo("foo");
72 message.setEncoding("UTF-8");
73 Exception e = new Exception("dummy");
74 message.setExceptionPayload(new DefaultExceptionPayload(e));
75
76
77 assertEquals(message.getUniqueId(), muleContext.getExpressionManager().evaluate("#[message:id]", message));
78 assertEquals(message.getUniqueId(), muleContext.getExpressionManager().evaluate("#[message:correlationId]", message));
79 assertEquals(new Integer(1), muleContext.getExpressionManager().evaluate("#[message:correlationSequence]", message));
80 assertEquals(new Integer(2), muleContext.getExpressionManager().evaluate("#[message:correlationGroupSize]", message));
81 assertEquals("foo", muleContext.getExpressionManager().evaluate("#[message:replyTo]", message));
82 assertEquals(e, muleContext.getExpressionManager().evaluate("#[message:exception]", message));
83 assertEquals("UTF-8", muleContext.getExpressionManager().evaluate("#[message:encoding]", message));
84 assertEquals("test", muleContext.getExpressionManager().evaluate("#[message:payload]", message));
85
86 try
87 {
88 muleContext.getExpressionManager().evaluate("#[message:xxx]", message, true);
89 fail("xxx is not a supported expresion");
90 }
91 catch (Exception e1)
92 {
93
94 }
95 }
96 }