View Javadoc

1   /*
2    * $Id: JmsEndpointTestCase.java 20321 2010-11-24 15:21:24Z dfeist $
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.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 }