1
2
3
4
5
6
7
8
9
10
11 package org.mule.providers.jms;
12
13 import org.mule.impl.MuleEvent;
14 import org.mule.impl.MuleMessage;
15 import org.mule.impl.RequestContext;
16 import org.mule.providers.jms.transformers.ObjectToJMSMessage;
17 import org.mule.tck.AbstractMuleTestCase;
18 import org.mule.tck.MuleTestUtils;
19 import org.mule.umo.UMOMessage;
20
21 import com.mockobjects.constraint.Constraint;
22 import com.mockobjects.constraint.IsEqual;
23 import com.mockobjects.dynamic.ConstraintMatcher;
24 import com.mockobjects.dynamic.FullConstraintMatcher;
25 import com.mockobjects.dynamic.Mock;
26
27 import javax.jms.Message;
28 import javax.jms.TextMessage;
29
30 import org.apache.commons.collections.IteratorUtils;
31
32 public class JmsTransformerTestCase extends AbstractMuleTestCase
33 {
34
35 public void testCustomJMSProperty() throws Exception
36 {
37
38
39
40
41
42
43
44 Mock mockMessage = new Mock(TextMessage.class);
45 mockMessage.expectAndReturn("getJMSCorrelationID", null);
46 mockMessage.expectAndReturn("getJMSMessageID", "1234567890");
47 mockMessage.expectAndReturn("getJMSDeliveryMode", new Integer(1));
48 mockMessage.expectAndReturn("getJMSDestination", null);
49 mockMessage.expectAndReturn("getJMSPriority", new Integer(4));
50 mockMessage.expectAndReturn("getJMSRedelivered", Boolean.FALSE);
51 mockMessage.expectAndReturn("getJMSReplyTo", null);
52 mockMessage.expectAndReturn("getJMSExpiration", new Long(0));
53 mockMessage.expectAndReturn("getJMSTimestamp", new Long(0));
54 mockMessage.expectAndReturn("getJMSType", null);
55
56 mockMessage.expect("toString");
57 mockMessage.expect("toString");
58
59 mockMessage.expect("clearProperties");
60
61 mockMessage.expectAndReturn("getPropertyNames",
62 IteratorUtils.asEnumeration(IteratorUtils.emptyIterator()));
63
64 mockMessage.expectAndReturn("getObjectProperty", "JMS_CUSTOM_PROPERTY", "customValue");
65
66 ConstraintMatcher setPropertyMatcher = new FullConstraintMatcher(new Constraint[]{
67 new IsEqual("JMS_CUSTOM_PROPERTY"), new IsEqual("customValue")});
68 mockMessage.expect("setObjectProperty", setPropertyMatcher);
69
70 Message mockTextMessage = (Message)mockMessage.proxy();
71 UMOMessage msg = new MuleMessage(new JmsMessageAdapter(mockTextMessage));
72
73
74 msg.setProperty("JMS_CUSTOM_PROPERTY", "customValue");
75
76
77
78
79 RequestContext.setEvent(new MuleEvent(msg, MuleTestUtils.getTestEvent("previous")));
80
81
82
83
84 ObjectToJMSMessage transformer = new ObjectToJMSMessage();
85 Message transformed = (Message)transformer.transform(msg.getPayload());
86
87
88
89 assertEquals("customValue", transformed.getObjectProperty("JMS_CUSTOM_PROPERTY"));
90
91
92
93 }
94
95 }