1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.ws.transport.jms.support;
18
19 import java.net.URI;
20 import javax.jms.DeliveryMode;
21 import javax.jms.Message;
22
23 import org.springframework.ws.transport.jms.JmsTransportConstants;
24
25 import org.junit.Assert;
26 import org.junit.Test;
27
28 import static org.junit.Assert.assertEquals;
29
30 public class JmsTransportUtilsTest {
31
32 @Test
33 public void getDestinationName() throws Exception {
34 URI uri = new URI("jms:RequestQueue?replyToName=RESP_QUEUE");
35 String destinationName = JmsTransportUtils.getDestinationName(uri);
36 assertEquals("Invalid destination", "RequestQueue", destinationName);
37
38 uri = new URI("jms:RequestQueue");
39 destinationName = JmsTransportUtils.getDestinationName(uri);
40 assertEquals("Invalid destination", "RequestQueue", destinationName);
41 }
42
43 @Test
44 public void getDeliveryMode() throws Exception {
45 URI uri = new URI("jms:RequestQueue?deliveryMode=NON_PERSISTENT");
46 int deliveryMode = JmsTransportUtils.getDeliveryMode(uri);
47 assertEquals("Invalid deliveryMode", DeliveryMode.NON_PERSISTENT, deliveryMode);
48
49 uri = new URI("jms:RequestQueue?deliveryMode=PERSISTENT");
50 deliveryMode = JmsTransportUtils.getDeliveryMode(uri);
51 assertEquals("Invalid deliveryMode", DeliveryMode.PERSISTENT, deliveryMode);
52
53 uri = new URI("jms:RequestQueue?replyToName=RESP_QUEUE");
54 deliveryMode = JmsTransportUtils.getDeliveryMode(uri);
55 assertEquals("Invalid deliveryMode", Message.DEFAULT_DELIVERY_MODE, deliveryMode);
56 }
57
58 @Test
59 public void getMessageType() throws Exception {
60 URI uri = new URI("jms:RequestQueue?messageType=BYTESMESSAGE");
61 int messageType = JmsTransportUtils.getMessageType(uri);
62 assertEquals("Invalid messageType", JmsTransportConstants.BYTES_MESSAGE_TYPE, messageType);
63
64 uri = new URI("jms:RequestQueue?messageType=TEXT_MESSAGE");
65 messageType = JmsTransportUtils.getMessageType(uri);
66 assertEquals("Invalid messageType", JmsTransportConstants.TEXT_MESSAGE_TYPE, messageType);
67
68 uri = new URI("jms:RequestQueue?replyToName=RESP_QUEUE");
69 messageType = JmsTransportUtils.getMessageType(uri);
70 assertEquals("Invalid messageType", JmsTransportConstants.BYTES_MESSAGE_TYPE, messageType);
71 }
72
73 @Test
74 public void getTimeToLive() throws Exception {
75 URI uri = new URI("jms:RequestQueue?timeToLive=100");
76 long timeToLive = JmsTransportUtils.getTimeToLive(uri);
77 assertEquals("Invalid timeToLive", 100, timeToLive);
78
79 uri = new URI("jms:RequestQueue?replyToName=RESP_QUEUE");
80 timeToLive = JmsTransportUtils.getTimeToLive(uri);
81 assertEquals("Invalid timeToLive", Message.DEFAULT_TIME_TO_LIVE, timeToLive);
82 }
83
84 @Test
85 public void getPriority() throws Exception {
86 URI uri = new URI("jms:RequestQueue?priority=5");
87 int priority = JmsTransportUtils.getPriority(uri);
88 assertEquals("Invalid priority", 5, priority);
89
90 uri = new URI("jms:RequestQueue?replyToName=RESP_QUEUE");
91 priority = JmsTransportUtils.getPriority(uri);
92 assertEquals("Invalid priority", Message.DEFAULT_PRIORITY, priority);
93 }
94
95 @Test
96 public void getReplyToName() throws Exception {
97 URI uri = new URI("jms:RequestQueue?replyToName=RESP_QUEUE");
98 String replyToName = JmsTransportUtils.getReplyToName(uri);
99 assertEquals("Invalid replyToName", "RESP_QUEUE", replyToName);
100
101 uri = new URI("jms:RequestQueue?priority=5");
102 replyToName = JmsTransportUtils.getReplyToName(uri);
103 Assert.assertNull("Invalid replyToName", replyToName);
104 }
105
106 @Test
107 public void jndi() throws Exception {
108 URI uri = new URI("jms:jms/REQUEST_QUEUE?replyToName=jms/REPLY_QUEUE");
109 String destination = JmsTransportUtils.getDestinationName(uri);
110 assertEquals("Invalid destination name", "jms/REQUEST_QUEUE", destination);
111
112 String replyTo = JmsTransportUtils.getReplyToName(uri);
113 assertEquals("Invalid reply to name", "jms/REPLY_QUEUE", replyTo);
114 }
115 }