1   /*
2    * $Id: JmsEndpointTestCase.java 7963 2007-08-21 08:53:15Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.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.providers.jms;
12  
13  import org.mule.impl.endpoint.MuleEndpointURI;
14  import org.mule.providers.service.TransportFactory;
15  import org.mule.tck.AbstractMuleTestCase;
16  import org.mule.umo.endpoint.UMOEndpointURI;
17  
18  public class JmsEndpointTestCase extends AbstractMuleTestCase
19  {
20  
21      public void testWithoutFullUrl() throws Exception
22      {
23          UMOEndpointURI url = new MuleEndpointURI("jms:/my.queue");
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          UMOEndpointURI url = new MuleEndpointURI("jms://my/queue");
33          assertEquals("jms", url.getScheme());
34          assertEquals("my/queue", url.getAddress());
35          assertNull(url.getEndpointName());
36          assertEquals("jms://my/queue", url.toString());
37      }
38  
39      public void testWithoutFullUrlAndEndpointName() throws Exception
40      {
41          UMOEndpointURI url = new MuleEndpointURI("jms:/my.queue?endpointName=jmsProvider");
42          assertEquals("jms", url.getScheme());
43          assertEquals("my.queue", url.getAddress());
44          assertNotNull(url.getEndpointName());
45          assertEquals("jmsProvider", url.getEndpointName());
46          assertEquals("jms:/my.queue?endpointName=jmsProvider", url.toString());
47      }
48  
49      public void testJmsUrl() throws Exception
50      {
51          UMOEndpointURI url = new MuleEndpointURI("jms://queue1?endpointName=jmsProvider");
52          assertEquals("jms", url.getScheme());
53          assertEquals("queue1", url.getAddress());
54          assertEquals("jmsProvider", url.getEndpointName());
55          assertEquals("jms://queue1?endpointName=jmsProvider", url.toString());
56      }
57  
58  
59      public void testJmsTopic() throws Exception
60      {
61          UMOEndpointURI url = new MuleEndpointURI("jms://topic:topic1");
62          assertEquals("jms", url.getScheme());
63          assertEquals("topic1", url.getAddress());
64          assertEquals("topic", url.getResourceInfo());
65          assertEquals(null, url.getEndpointName());
66          assertEquals("jms://topic:topic1", url.toString());
67      }
68  
69      public void testJmsTopicWithProvider() throws Exception
70      {
71          UMOEndpointURI url = new MuleEndpointURI("jms://topic:topic1?endpointName=jmsProvider");
72          assertEquals("jms", url.getScheme());
73          assertEquals("topic1", url.getAddress());
74          assertEquals("jmsProvider", url.getEndpointName());
75          assertEquals("topic", url.getResourceInfo());
76          assertEquals("jms://topic:topic1?endpointName=jmsProvider", url.toString());
77      }
78  
79      public void testJmsTopicWithUserInfo() throws Exception
80      {
81          UMOEndpointURI url = new MuleEndpointURI("jms://user:password@topic:topic1");
82          assertEquals("jms", url.getScheme());
83          assertEquals("topic1", url.getAddress());
84          assertEquals("topic", url.getResourceInfo());
85          assertEquals("user:password", url.getUserInfo());
86          assertEquals("user", url.getUsername());
87          assertEquals("password", url.getPassword());
88          assertEquals("jms://user:password@topic:topic1", url.toString());
89      }
90  
91      public void testJmsTopicWithUserInfoAndProvider() throws Exception
92      {
93          UMOEndpointURI url = new MuleEndpointURI("jms://user:password@topic:topic1?endpointName=jmsProvider");
94          assertEquals("jms", url.getScheme());
95          assertEquals("topic1", url.getAddress());
96          assertEquals("jmsProvider", url.getEndpointName());
97          assertEquals("topic", url.getResourceInfo());
98          assertEquals("user:password", url.getUserInfo());
99          assertEquals("user", url.getUsername());
100         assertEquals("password", url.getPassword());
101         assertEquals("jms://user:password@topic:topic1?endpointName=jmsProvider", url.toString());
102     }
103 
104     public void testJmsDestWithSlashesAndUserInfoUsingAddressParam() throws Exception
105     {
106         UMOEndpointURI url = new MuleEndpointURI("jms://user:password@?address=/myQueues/myQueue&createConnector=ALWAYS");
107         assertEquals("jms", url.getScheme());
108         assertEquals("/myQueues/myQueue", url.getAddress());
109         assertEquals("user:password", url.getUserInfo());
110         assertEquals("user", url.getUsername());
111         assertEquals("password", url.getPassword());
112         assertEquals(TransportFactory.ALWAYS_CREATE_CONNECTOR, url.getCreateConnector());
113         assertEquals("jms://user:password@?address=/myQueues/myQueue&createConnector=ALWAYS", url.toString());
114     }
115 
116     public void testJmsDestWithSlashesAndUserInfo() throws Exception
117     {
118         UMOEndpointURI url = new MuleEndpointURI("jms://user:password@myQueues/myQueue?createConnector=ALWAYS");
119         assertEquals("jms", url.getScheme());
120         assertEquals("myQueues/myQueue", url.getAddress());
121         assertEquals("user:password", url.getUserInfo());
122         assertEquals("user", url.getUsername());
123         assertEquals("password", url.getPassword());
124         assertEquals(TransportFactory.ALWAYS_CREATE_CONNECTOR, url.getCreateConnector());
125         assertEquals("jms://user:password@myQueues/myQueue?createConnector=ALWAYS", url.toString());
126     }
127 }