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