1
2
3
4
5
6
7 package org.mule.transport.jms;
8
9 import org.mule.api.MuleMessage;
10 import org.mule.api.transport.MuleMessageFactory;
11 import org.mule.transport.AbstractMuleMessageFactoryTestCase;
12
13 import com.mockobjects.dynamic.C;
14 import com.mockobjects.dynamic.Mock;
15
16 import javax.jms.TextMessage;
17
18 import org.apache.commons.collections.IteratorUtils;
19
20 import static org.junit.Assert.assertEquals;
21 import static org.junit.Assert.assertNotNull;
22
23 public class JmsMuleMessageFactoryTestCase extends AbstractMuleMessageFactoryTestCase
24 {
25 private static final String MESSAGE_TEXT = "Test JMS Message";
26
27 @Override
28 protected MuleMessageFactory doCreateMuleMessageFactory()
29 {
30 return new JmsMuleMessageFactory(muleContext);
31 }
32
33 @Override
34 protected Object getValidTransportMessage() throws Exception
35 {
36 Mock message = new Mock(TextMessage.class);
37 message.expectAndReturn("getText", MESSAGE_TEXT);
38 message.expectAndReturn("getJMSCorrelationID", null);
39 message.expectAndReturn("getJMSDeliveryMode", Integer.valueOf(1));
40 message.expectAndReturn("getJMSDestination", null);
41 message.expectAndReturn("getJMSExpiration", Long.valueOf(0));
42 message.expectAndReturn("getJMSMessageID", "1234567890");
43 message.expectAndReturn("getJMSPriority", Integer.valueOf(4));
44 message.expectAndReturn("getJMSRedelivered", Boolean.FALSE);
45 message.expectAndReturn("getJMSReplyTo", null);
46 message.expectAndReturn("getJMSTimestamp", Long.valueOf(0));
47 message.expectAndReturn("getJMSType", null);
48 message.expectAndReturn("getPropertyNames", IteratorUtils.asEnumeration(
49 IteratorUtils.arrayIterator(new Object[] { "foo" })));
50 message.expectAndReturn("getObjectProperty", C.eq("foo"), "bar");
51 message.expectAndReturn("equals", C.eq(MESSAGE_TEXT), true);
52
53 return message.proxy();
54 }
55
56 @Override
57 protected Object getUnsupportedTransportMessage()
58 {
59 return "this is an invalid transport message for JmsMuleMessageFactory";
60 }
61
62 @Override
63 public void testValidPayload() throws Exception
64 {
65 MuleMessageFactory factory = createMuleMessageFactory();
66
67 Object payload = getValidTransportMessage();
68 MuleMessage message = factory.create(payload, encoding);
69 assertNotNull(message);
70 assertEquals(payload, message.getPayload());
71
72 assertEquals("bar", message.getInboundProperty("foo"));
73 }
74 }