1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.jms;
12
13 import org.mule.tck.AbstractMuleTestCase;
14 import org.mule.transport.jms.JmsConstants;
15 import org.mule.transport.jms.JmsMessageUtils;
16
17 import com.mockobjects.constraint.IsInstanceOf;
18 import com.mockobjects.dynamic.Mock;
19
20 import javax.jms.BytesMessage;
21 import javax.jms.TextMessage;
22
23 public class JmsMessageUtilsTestCase extends AbstractMuleTestCase
24 {
25
26 public void testHeaders()
27 {
28
29 assertSame("identifier", JmsMessageUtils.encodeHeader("identifier"));
30 assertSame("_identifier", JmsMessageUtils.encodeHeader("_identifier"));
31 assertSame("identifier_", JmsMessageUtils.encodeHeader("identifier_"));
32 assertSame("ident_ifier", JmsMessageUtils.encodeHeader("ident_ifier"));
33
34 assertEquals("_identifier", JmsMessageUtils.encodeHeader("-identifier"));
35 assertEquals("identifier_", JmsMessageUtils.encodeHeader("identifier-"));
36 assertEquals("ident_ifier", JmsMessageUtils.encodeHeader("ident-ifier"));
37 assertEquals("_ident_ifier_", JmsMessageUtils.encodeHeader("-ident_ifier-"));
38 assertEquals("_ident_ifier_", JmsMessageUtils.encodeHeader("-ident-ifier-"));
39 }
40
41 public void testTextMessageNullContent() throws Exception
42 {
43 Mock mockMessage = new Mock(TextMessage.class);
44 mockMessage.expectAndReturn("getText", null);
45
46 TextMessage mockTextMessage = (TextMessage)mockMessage.proxy();
47
48 byte[] result = JmsMessageUtils.toByteArray(mockTextMessage, JmsConstants.JMS_SPECIFICATION_102B);
49 assertNotNull(result);
50 assertEquals("Should return an empty byte array.", 0, result.length);
51
52 mockMessage.verify();
53 }
54
55 public void testByteMessageNullContent() throws Exception
56 {
57
58 Mock mockMessage = new Mock(BytesMessage.class);
59 mockMessage.expect("reset");
60 mockMessage.expectAndReturn("readBytes", new IsInstanceOf(byte[].class), -1);
61 BytesMessage mockBytesMessage = (BytesMessage)mockMessage.proxy();
62
63 byte[] result = JmsMessageUtils.toByteArray(mockBytesMessage, JmsConstants.JMS_SPECIFICATION_102B);
64 assertNotNull(result);
65 assertEquals("Should return an empty byte array.", 0, result.length);
66 mockMessage.verify();
67
68
69 mockMessage = new Mock(BytesMessage.class);
70 mockMessage.expect("reset");
71 mockMessage.expectAndReturn("getBodyLength", new Long(0));
72 mockBytesMessage = (BytesMessage)mockMessage.proxy();
73
74 result = JmsMessageUtils.toByteArray(mockBytesMessage, JmsConstants.JMS_SPECIFICATION_11);
75 assertNotNull(result);
76 assertEquals("Should return an empty byte array.", 0, result.length);
77 mockMessage.verify();
78 }
79
80 }