1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.jms;
12
13 import org.mule.api.endpoint.EndpointBuilder;
14 import org.mule.api.endpoint.InboundEndpoint;
15 import org.mule.api.lifecycle.InitialisationException;
16 import org.mule.api.transport.MessageReceiver;
17 import org.mule.config.i18n.MessageFactory;
18 import org.mule.endpoint.EndpointURIEndpointBuilder;
19 import org.mule.tck.testmodels.fruit.Orange;
20 import org.mule.transport.AbstractMessageReceiverTestCase;
21
22 import com.mockobjects.dynamic.AnyConstraintMatcher;
23 import com.mockobjects.dynamic.Mock;
24
25 import javax.jms.Connection;
26 import javax.jms.ConnectionFactory;
27
28 public class JmsMessageReceiverTestCase extends AbstractMessageReceiverTestCase
29 {
30 private JmsConnector connector;
31
32 protected void doSetUp() throws Exception
33 {
34 connector = new JmsConnector();
35 connector.setName("TestConnector");
36 connector.setSpecification("1.1");
37
38 Mock connectionFactory = new Mock(ConnectionFactory.class);
39 Mock connection = new Mock(Connection.class);
40 connectionFactory.expectAndReturn("createConnection", connection.proxy());
41 connection.expect("setExceptionListener", new AnyConstraintMatcher());
42 connection.expect("close");
43 connection.expect("start");
44 connection.expect("stop");
45 connector.setConnectionFactory((ConnectionFactory) connectionFactory.proxy());
46
47 connector.setMuleContext(muleContext);
48
49 muleContext.getRegistry().registerConnector(connector);
50
51 super.doSetUp();
52 }
53
54 public void testReceive() throws Exception
55 {
56 JmsMessageReceiver receiver = (JmsMessageReceiver)getMessageReceiver();
57 assertNotNull(receiver.getService());
58 assertNotNull(receiver.getConnector());
59 assertNotNull(receiver.getEndpoint());
60
61
62 }
63
64
65
66
67
68
69 public MessageReceiver getMessageReceiver() throws Exception
70 {
71 return new JmsMessageReceiver(endpoint.getConnector(), getTestService("orange", Orange.class), endpoint);
72 }
73
74 public Object getValidMessage() throws Exception
75 {
76 return JmsConnectorTestCase.getMessage();
77 }
78
79 public InboundEndpoint getEndpoint() throws Exception
80 {
81 EndpointBuilder builder = new EndpointURIEndpointBuilder("jms://testcase", muleContext);
82 if (connector == null)
83 {
84 throw new InitialisationException(MessageFactory.createStaticMessage("Connector has not been initialized."), null);
85 }
86 builder.setConnector(connector);
87 endpoint = muleContext.getRegistry().lookupEndpointFactory().getInboundEndpoint(builder);
88 return endpoint;
89 }
90
91 }