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