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