1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.spring;
12
13 import org.mule.MessageExchangePattern;
14 import org.mule.api.endpoint.InboundEndpoint;
15 import org.mule.api.transport.MessageReceiver;
16 import org.mule.api.transport.MuleMessageFactory;
17 import org.mule.tck.FunctionalTestCase;
18 import org.mule.tck.testmodels.mule.TestConnector;
19 import org.mule.tck.testmodels.mule.TestMessageReceiver;
20 import org.mule.transaction.MuleTransactionConfig;
21 import org.mule.transaction.XaTransactionFactory;
22 import org.mule.transport.service.TransportServiceDescriptor;
23
24 import java.util.Arrays;
25 import java.util.List;
26
27 public class ConnectorServiceOverridesTestCase extends FunctionalTestCase
28 {
29 @Override
30 protected String getConfigResources()
31 {
32 return "org/mule/test/spring/service-overrides.xml";
33 }
34
35 public void testOverrideMessageReceiver() throws Exception
36 {
37 TestConnector connector = lookupDummyConnector();
38
39
40
41 InboundEndpoint endpoint = getTestInboundEndpoint("foo");
42 endpoint.getTransactionConfig().setAction(MuleTransactionConfig.ACTION_ALWAYS_BEGIN);
43 endpoint.getTransactionConfig().setFactory(new XaTransactionFactory());
44
45 TransportServiceDescriptor serviceDescriptor = connector.getServiceDescriptor();
46
47
48 MessageReceiver receiver = serviceDescriptor.createMessageReceiver(connector,
49 getTestService(), endpoint);
50 assertEquals(TestMessageReceiver.class, receiver.getClass());
51 }
52
53 private TestConnector lookupDummyConnector()
54 {
55 TestConnector connector = (TestConnector) muleContext.getRegistry().lookupConnector("dummyConnector");
56 assertNotNull(connector);
57 return connector;
58 }
59
60 public void testOverrideMuleMessageFactory() throws Exception
61 {
62 TestConnector connector = lookupDummyConnector();
63 TransportServiceDescriptor serviceDescriptor = connector.getServiceDescriptor();
64
65
66 MuleMessageFactory messageFactory = serviceDescriptor.createMuleMessageFactory();
67 assertEquals(MockMuleMessageFactory.class, messageFactory.getClass());
68 }
69
70 public void testOverrideInbounExchangePatterns() throws Exception
71 {
72 TestConnector connector = lookupDummyConnector();
73 TransportServiceDescriptor serviceDescriptor = connector.getServiceDescriptor();
74
75 List<MessageExchangePattern> meps = serviceDescriptor.getInboundExchangePatterns();
76
77 List<MessageExchangePattern> expected = Arrays.asList(MessageExchangePattern.REQUEST_RESPONSE);
78 assertEquals(expected, meps);
79 }
80
81 public void testOverrideOutboundExchangePatterns() throws Exception
82 {
83 TestConnector connector = lookupDummyConnector();
84 TransportServiceDescriptor serviceDescriptor = connector.getServiceDescriptor();
85
86 List<MessageExchangePattern> meps = serviceDescriptor.getOutboundExchangePatterns();
87
88 List<MessageExchangePattern> expected = Arrays.asList(MessageExchangePattern.REQUEST_RESPONSE);
89 assertEquals(expected, meps);
90 }
91
92 public void testOverrideDefaultExchangePattern() throws Exception
93 {
94 TestConnector connector = lookupDummyConnector();
95 TransportServiceDescriptor serviceDescriptor = connector.getServiceDescriptor();
96
97 MessageExchangePattern defaultMep = serviceDescriptor.getDefaultExchangePattern();
98
99 assertEquals(MessageExchangePattern.REQUEST_RESPONSE, defaultMep);
100 }
101 }
102
103