View Javadoc

1   /*
2    * $Id: JmsEndpointTestCase.java 22387 2011-07-12 03:53:36Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
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 }