1
2
3
4
5
6
7 package org.mule.expression;
8
9 import org.mule.DefaultMuleMessage;
10 import org.mule.api.config.MuleProperties;
11 import org.mule.routing.correlation.CorrelationPropertiesExpressionEvaluator;
12 import org.mule.tck.junit4.AbstractMuleContextTestCase;
13 import org.mule.util.UUID;
14
15 import java.util.HashMap;
16
17 import org.junit.Test;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertNotNull;
21
22 public class CorrelationPropertiesExpressionEvaluatorTestCase extends AbstractMuleContextTestCase
23 {
24 private HashMap<String, Object> messageProperties;
25 private CorrelationPropertiesExpressionEvaluator evaluator = new CorrelationPropertiesExpressionEvaluator();
26 private DefaultMuleMessage message;
27
28 public CorrelationPropertiesExpressionEvaluatorTestCase()
29 {
30 super();
31 setDisposeContextPerClass(true);
32 }
33
34 @Override
35 public void doSetUp()
36 {
37 messageProperties = new HashMap<String, Object>(3);
38 messageProperties.put("foo", "foovalue");
39 messageProperties.put("bar", "barvalue");
40 messageProperties.put("baz", "bazvalue");
41
42 message = new DefaultMuleMessage(TEST_MESSAGE, messageProperties, muleContext);
43 }
44
45 @Test
46 public void testCorrelationManagerCorrelationId()
47 {
48 String correlationId = UUID.getUUID();
49 message.setCorrelationId(correlationId);
50
51 Object result = evaluator.evaluate(MuleProperties.MULE_CORRELATION_ID_PROPERTY, message);
52 assertNotNull(result);
53 assertEquals(correlationId, result);
54 }
55
56 @Test(expected = IllegalArgumentException.class)
57 public void testCorrelationManagerNullResult()
58 {
59 message.setUniqueId(null);
60 evaluator.evaluate(MuleProperties.MULE_CORRELATION_ID_PROPERTY, message);
61 }
62
63 @Test
64 public void testCorrelationManagerUniqueId()
65 {
66 Object result = evaluator.evaluate(MuleProperties.MULE_MESSAGE_ID_PROPERTY, message);
67 assertNotNull(result);
68 assertEquals(message.getUniqueId(), result);
69 }
70
71 @Test(expected = IllegalArgumentException.class)
72 public void testCorrelationManagerInvalidKey()
73 {
74 evaluator.evaluate("invalid-key", message);
75 }
76 }