1
2
3
4
5
6
7
8
9
10 package org.mule.expression;
11
12 import org.mule.DefaultMuleMessage;
13 import org.mule.util.expression.FunctionExpressionEvaluator;
14 import org.mule.util.expression.ExpressionEvaluatorManager;
15 import org.mule.api.MuleMessage;
16 import org.mule.tck.AbstractMuleTestCase;
17
18 import java.net.InetAddress;
19 import java.sql.Timestamp;
20 import java.util.Date;
21
22 public class FunctionExpressionEvaluatorTestCase extends AbstractMuleTestCase
23 {
24 public void testFunctions() throws Exception
25 {
26 MuleMessage message = new DefaultMuleMessage("test");
27 FunctionExpressionEvaluator extractor = new FunctionExpressionEvaluator();
28 Object o = extractor.evaluate("uuid", message);
29 assertNotNull(o);
30 o = extractor.evaluate("now", message);
31 assertNotNull(o);
32 assertTrue(o instanceof Timestamp);
33
34 o = extractor.evaluate("date", message);
35 assertNotNull(o);
36 assertTrue(o instanceof Date);
37
38 o = extractor.evaluate("hostname", message);
39 assertNotNull(o);
40 assertEquals(InetAddress.getLocalHost().getHostName(), o);
41
42 o = extractor.evaluate("ip", message);
43 assertNotNull(o);
44 assertEquals(InetAddress.getLocalHost().getHostAddress(), o);
45
46 try
47 {
48 o = extractor.evaluate("bork", message);
49 fail("bork is not a valid function");
50 }
51 catch (Exception e)
52 {
53
54 }
55 }
56
57 public void testFunctionsFromExtractorManager() throws Exception
58 {
59 MuleMessage message = new DefaultMuleMessage("test");
60 Object o = ExpressionEvaluatorManager.evaluate("function:uuid", message);
61 assertNotNull(o);
62 o = ExpressionEvaluatorManager.evaluate("function:now", message);
63 assertNotNull(o);
64 assertTrue(o instanceof Timestamp);
65
66 o = ExpressionEvaluatorManager.evaluate("function:date", message);
67 assertNotNull(o);
68 assertTrue(o instanceof Date);
69
70 o = ExpressionEvaluatorManager.evaluate("function:hostname", message);
71 assertNotNull(o);
72 assertEquals(InetAddress.getLocalHost().getHostName(), o);
73
74 o = ExpressionEvaluatorManager.evaluate("function:ip", message);
75 assertNotNull(o);
76 assertEquals(InetAddress.getLocalHost().getHostAddress(), o);
77
78 try
79 {
80 o = ExpressionEvaluatorManager.evaluate("function:bork", message);
81 fail("bork is not a valid function");
82 }
83 catch (Exception e)
84 {
85
86 }
87 }
88 }