1
2
3
4
5
6
7
8
9
10
11 package org.mule.endpoint.outbound;
12
13 import org.mule.MessageExchangePattern;
14 import org.mule.api.MuleEvent;
15 import org.mule.api.endpoint.OutboundEndpoint;
16 import org.mule.api.processor.MessageProcessor;
17 import org.mule.api.routing.filter.Filter;
18 import org.mule.api.security.EndpointSecurityFilter;
19 import org.mule.api.transaction.TransactionConfig;
20 import org.mule.api.transformer.Transformer;
21 import org.mule.endpoint.AbstractMessageProcessorTestCase;
22 import org.mule.processor.chain.DefaultMessageProcessorChainBuilder;
23 import org.mule.tck.testmodels.mule.TestMessageProcessor;
24
25
26
27
28 public class OutboundEndpointMessageProcessorsTestCase extends AbstractMessageProcessorTestCase
29 {
30 private MuleEvent testOutboundEvent;
31 private OutboundEndpoint endpoint;
32 private MuleEvent result;
33
34 @Override
35 protected void doSetUp() throws Exception
36 {
37 super.doSetUp();
38 endpoint = createOutboundEndpoint(null, null, null, null,
39 MessageExchangePattern.REQUEST_RESPONSE, null);
40 testOutboundEvent = createTestOutboundEvent(endpoint);
41 }
42
43 public void testProcessors() throws Exception
44 {
45 DefaultMessageProcessorChainBuilder builder = new DefaultMessageProcessorChainBuilder();
46 builder.chain(new TestMessageProcessor("1"), new TestMessageProcessor("2"), new TestMessageProcessor("3"));
47 MessageProcessor mpChain = builder.build();
48
49 result = mpChain.process(testOutboundEvent);
50 assertEquals(TEST_MESSAGE + ":1:2:3", result.getMessage().getPayload());
51 }
52
53 public void testNoProcessors() throws Exception
54 {
55 DefaultMessageProcessorChainBuilder builder = new DefaultMessageProcessorChainBuilder();
56 MessageProcessor mpChain = builder.build();
57
58 result = mpChain.process(testOutboundEvent);
59 assertEquals(TEST_MESSAGE, result.getMessage().getPayload());
60 }
61
62 protected OutboundEndpoint createOutboundEndpoint(Filter filter,
63 EndpointSecurityFilter securityFilter,
64 Transformer in,
65 Transformer response,
66 MessageExchangePattern exchangePattern,
67 TransactionConfig txConfig) throws Exception
68 {
69 return createTestOutboundEndpoint(filter, securityFilter, in, response, exchangePattern,
70 txConfig);
71 }
72 }