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