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