1
2
3
4
5
6
7 package org.mule.transport.jms.vendors;
8
9 import org.mule.tck.junit4.FunctionalTestCase;
10 import org.mule.transport.jms.DefaultJmsTopicResolver;
11 import org.mule.transport.jms.JmsConnector;
12 import org.mule.transport.jms.activemq.ActiveMQJmsConnector;
13 import org.mule.transport.jms.redelivery.JmsXRedeliveryHandler;
14 import org.mule.transport.jms.test.TestRedeliveryHandler;
15
16 import javax.jms.ConnectionFactory;
17 import javax.jms.Session;
18
19 import org.apache.activemq.ActiveMQConnectionFactory;
20 import org.junit.Test;
21
22 import static org.junit.Assert.assertEquals;
23 import static org.junit.Assert.assertFalse;
24 import static org.junit.Assert.assertNotNull;
25 import static org.junit.Assert.assertNull;
26 import static org.junit.Assert.assertTrue;
27
28 public class ActiveMQJmsConnectorTestCase extends FunctionalTestCase
29 {
30
31 @Override
32 protected String getConfigResources()
33 {
34 return "integration/activemq-config.xml";
35 }
36
37 @Test
38 public void testConfigurationDefaults() throws Exception
39 {
40 JmsConnector c = (JmsConnector)muleContext.getRegistry().lookupConnector("jmsConnector");
41 assertNotNull(c);
42
43 assertFalse(c.isEagerConsumer());
44
45 ConnectionFactory cf = c.getConnectionFactory();
46 assertTrue(cf instanceof ActiveMQConnectionFactory);
47 assertEquals(ActiveMQJmsConnector.DEFAULT_BROKER_URL, ((ActiveMQConnectionFactory) cf).getBrokerURL());
48
49 assertNotNull(c.getTopicResolver());
50 assertTrue("Wrong topic resolver configured on the connector.",
51 c.getTopicResolver() instanceof DefaultJmsTopicResolver);
52 }
53
54 @Test
55 public void testDefaultActiveMqConnectorConfig() throws Exception
56 {
57 JmsConnector c = (JmsConnector) muleContext.getRegistry().lookupConnector("activeMqJmsConnector");
58
59 assertNotNull(c);
60 assertTrue(c instanceof ActiveMQJmsConnector);
61
62 assertNotNull(c.getConnectionFactory());
63 assertTrue(c.getConnectionFactory() instanceof ActiveMQConnectionFactory);
64 assertEquals(Session.AUTO_ACKNOWLEDGE, c.getAcknowledgementMode());
65 assertNull(c.getUsername());
66 assertNull(c.getPassword());
67
68 assertNotNull(c.getRedeliveryHandlerFactory());
69 assertTrue(c.getRedeliveryHandlerFactory().create() instanceof JmsXRedeliveryHandler);
70
71 assertFalse(c.isDurable());
72 assertFalse(c.isNoLocal());
73 assertFalse(c.isPersistentDelivery());
74 assertEquals(0, c.getMaxRedelivery());
75 assertFalse(c.isCacheJmsSessions());
76 assertFalse(c.isEagerConsumer());
77
78 assertEquals("1.0.2b", c.getSpecification());
79 }
80
81 @Test
82 public void testCustomActiveMqConnectorConfig() throws Exception
83 {
84 JmsConnector c = (JmsConnector) muleContext.getRegistry().lookupConnector("customActiveMqJmsConnector");
85
86 assertNotNull(c);
87 assertTrue(c instanceof ActiveMQJmsConnector);
88
89 assertNotNull(c.getConnectionFactory());
90 assertTrue(c.getConnectionFactory() instanceof ActiveMQConnectionFactory);
91 assertEquals(Session.DUPS_OK_ACKNOWLEDGE, c.getAcknowledgementMode());
92 assertNull(c.getUsername());
93 assertNull(c.getPassword());
94
95 assertNotNull(c.getRedeliveryHandlerFactory());
96 assertTrue(c.getRedeliveryHandlerFactory().create() instanceof TestRedeliveryHandler);
97
98 assertEquals("myClient", c.getClientId());
99 assertTrue(c.isDurable());
100 assertTrue(c.isNoLocal());
101 assertTrue(c.isPersistentDelivery());
102 assertEquals(5, c.getMaxRedelivery());
103 assertTrue(c.isCacheJmsSessions());
104 assertFalse(c.isEagerConsumer());
105
106 assertEquals("1.1", c.getSpecification());
107 }
108 }