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