1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.jms;
12
13 import org.mule.api.endpoint.EndpointURI;
14 import org.mule.endpoint.MuleEndpointURI;
15 import org.mule.tck.junit4.AbstractMuleContextTestCase;
16
17 import org.junit.Test;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertNotNull;
21 import static org.junit.Assert.assertNull;
22
23 public class JmsEndpointTestCase extends AbstractMuleContextTestCase
24 {
25
26 @Test
27 public void testWithoutFullUrl() throws Exception
28 {
29 EndpointURI url = new MuleEndpointURI("jms:/my.queue", muleContext);
30 url.initialise();
31 assertEquals("jms", url.getScheme());
32 assertEquals("my.queue", url.getAddress());
33 assertNull(url.getEndpointName());
34 assertEquals("jms:/my.queue", url.toString());
35 }
36
37 @Test
38 public void testFullUrlWithSlashes() throws Exception
39 {
40 EndpointURI url = new MuleEndpointURI("jms://my/queue", muleContext);
41 url.initialise();
42 assertEquals("jms", url.getScheme());
43 assertEquals("my/queue", url.getAddress());
44 assertNull(url.getEndpointName());
45 assertEquals("jms://my/queue", url.toString());
46 }
47
48 @Test
49 public void testWithoutFullUrlAndEndpointName() throws Exception
50 {
51 EndpointURI url = new MuleEndpointURI("jms:/my.queue?endpointName=jmsProvider", muleContext);
52 url.initialise();
53 assertEquals("jms", url.getScheme());
54 assertEquals("my.queue", url.getAddress());
55 assertNotNull(url.getEndpointName());
56 assertEquals("jmsProvider", url.getEndpointName());
57 assertEquals("jms:/my.queue?endpointName=jmsProvider", url.toString());
58 }
59
60 @Test
61 public void testJmsUrl() throws Exception
62 {
63 EndpointURI url = new MuleEndpointURI("jms://queue1?endpointName=jmsProvider", muleContext);
64 url.initialise();
65 assertEquals("jms", url.getScheme());
66 assertEquals("queue1", url.getAddress());
67 assertEquals("jmsProvider", url.getEndpointName());
68 assertEquals("jms://queue1?endpointName=jmsProvider", url.toString());
69 }
70
71
72 @Test
73 public void testJmsTopic() throws Exception
74 {
75 EndpointURI url = new MuleEndpointURI("jms://topic:topic1", muleContext);
76 url.initialise();
77 assertEquals("jms", url.getScheme());
78 assertEquals("topic1", url.getAddress());
79 assertEquals("topic", url.getResourceInfo());
80 assertEquals(null, url.getEndpointName());
81 assertEquals("jms://topic:topic1", url.toString());
82 }
83
84 @Test
85 public void testJmsTopicWithProvider() throws Exception
86 {
87 EndpointURI url = new MuleEndpointURI("jms://topic:topic1?endpointName=jmsProvider", muleContext);
88 url.initialise();
89 assertEquals("jms", url.getScheme());
90 assertEquals("topic1", url.getAddress());
91 assertEquals("jmsProvider", url.getEndpointName());
92 assertEquals("topic", url.getResourceInfo());
93 assertEquals("jms://topic:topic1?endpointName=jmsProvider", url.toString());
94 }
95
96 @Test
97 public void testJmsTopicWithUserInfo() throws Exception
98 {
99 EndpointURI url = new MuleEndpointURI("jms://user:password@topic:topic1", muleContext);
100 url.initialise();
101 assertEquals("jms", url.getScheme());
102 assertEquals("topic1", url.getAddress());
103 assertEquals("topic", url.getResourceInfo());
104 assertEquals("user:password", url.getUserInfo());
105 assertEquals("user", url.getUser());
106 assertEquals("password", url.getPassword());
107 assertEquals("jms://user:****@topic:topic1", url.toString());
108 }
109
110 @Test
111 public void testJmsTopicWithUserInfoAndProvider() throws Exception
112 {
113 EndpointURI url = new MuleEndpointURI("jms://user:password@topic:topic1?endpointName=jmsProvider", muleContext);
114 url.initialise();
115 assertEquals("jms", url.getScheme());
116 assertEquals("topic1", url.getAddress());
117 assertEquals("jmsProvider", url.getEndpointName());
118 assertEquals("topic", url.getResourceInfo());
119 assertEquals("user:password", url.getUserInfo());
120 assertEquals("user", url.getUser());
121 assertEquals("password", url.getPassword());
122 assertEquals("jms://user:****@topic:topic1?endpointName=jmsProvider", url.toString());
123 }
124
125 @Test
126 public void testJmsDestWithSlashesAndUserInfoUsingAddressParam() throws Exception
127 {
128 EndpointURI url = new MuleEndpointURI("jms://user:password@?address=/myQueues/myQueue", muleContext);
129 url.initialise();
130 assertEquals("jms", url.getScheme());
131 assertEquals("/myQueues/myQueue", url.getAddress());
132 assertEquals("user:password", url.getUserInfo());
133 assertEquals("user", url.getUser());
134 assertEquals("password", url.getPassword());
135 assertEquals("jms://user:****@?address=/myQueues/myQueue", url.toString());
136 }
137
138 @Test
139 public void testJmsDestWithSlashesAndUserInfo() throws Exception
140 {
141 EndpointURI url = new MuleEndpointURI("jms://user:password@myQueues/myQueue", muleContext);
142 url.initialise();
143 assertEquals("jms", url.getScheme());
144 assertEquals("myQueues/myQueue", url.getAddress());
145 assertEquals("user:password", url.getUserInfo());
146 assertEquals("user", url.getUser());
147 assertEquals("password", url.getPassword());
148 assertEquals("jms://user:****@myQueues/myQueue", url.toString());
149 }
150
151 @Test
152 public void testJmsTopicDestinationsWithAddressParam() throws Exception
153 {
154 EndpointURI url = new MuleEndpointURI("jms:topic://?address=[[testgroup]]test.topic", muleContext);
155 url.initialise();
156 assertEquals("jms", url.getScheme());
157 assertEquals("[[testgroup]]test.topic", url.getAddress());
158 assertEquals("topic", url.getResourceInfo());
159 assertEquals("jms://?address=[[testgroup]]test.topic", url.toString());
160 }
161
162 @Test
163 public void testJmsQueueDestinationsWithAddressParam() throws Exception
164 {
165 EndpointURI url = new MuleEndpointURI("jms://?address=[[testgroup]]test.queue", muleContext);
166 url.initialise();
167 assertEquals("jms", url.getScheme());
168 assertEquals("[[testgroup]]test.queue", url.getAddress());
169 assertNull( url.getResourceInfo());
170 assertEquals("jms://?address=[[testgroup]]test.queue", url.toString());
171 }
172
173 @Test
174 public void testJmsQueueDestinationsWithEncoding() throws Exception
175 {
176 EndpointURI url = new MuleEndpointURI("jms://%5B%5Btestgroup%5D%5Dtest.queue", muleContext);
177 url.initialise();
178 assertEquals("jms", url.getScheme());
179 assertEquals("[[testgroup]]test.queue", url.getAddress());
180 assertNull( url.getResourceInfo());
181 assertEquals("jms://%5B%5Btestgroup%5D%5Dtest.queue", url.toString());
182 }
183
184 @Test
185 public void testJmsTopicDestinationsWithEncoding() throws Exception
186 {
187 EndpointURI url = new MuleEndpointURI("jms:topic://%5B%5Btestgroup%5D%5Dtest.topic", muleContext);
188 url.initialise();
189 assertEquals("jms", url.getScheme());
190 assertEquals("[[testgroup]]test.topic", url.getAddress());
191 assertEquals("topic", url.getResourceInfo());
192 assertEquals("jms://%5B%5Btestgroup%5D%5Dtest.topic", url.toString());
193 }
194
195 @Test
196 public void testJmsLegacyTopicDestinationsWithEncoding() throws Exception
197 {
198 EndpointURI url = new MuleEndpointURI("jms://topic:%5B%5Btestgroup%5D%5Dtest.topic", muleContext);
199 url.initialise();
200 assertEquals("jms", url.getScheme());
201 assertEquals("[[testgroup]]test.topic", url.getAddress());
202 assertEquals("topic", url.getResourceInfo());
203 assertEquals("jms://topic:%5B%5Btestgroup%5D%5Dtest.topic", url.toString());
204 }
205
206
207 }