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 import org.junit.Test;
26
27 import static org.junit.Assert.assertEquals;
28
29
30
31
32 public class OutboundEndpointMessageProcessorsTestCase extends AbstractMessageProcessorTestCase
33 {
34 private MuleEvent testOutboundEvent;
35 private OutboundEndpoint endpoint;
36 private MuleEvent result;
37
38 @Override
39 protected void doSetUp() throws Exception
40 {
41 super.doSetUp();
42 endpoint = createOutboundEndpoint(null, null, null, null,
43 MessageExchangePattern.REQUEST_RESPONSE, null);
44 testOutboundEvent = createTestOutboundEvent();
45 }
46
47 @Test
48 public void testProcessors() throws Exception
49 {
50 DefaultMessageProcessorChainBuilder builder = new DefaultMessageProcessorChainBuilder();
51 builder.chain(new TestMessageProcessor("1"), new TestMessageProcessor("2"), new TestMessageProcessor("3"));
52 MessageProcessor mpChain = builder.build();
53
54 result = mpChain.process(testOutboundEvent);
55 assertEquals(TEST_MESSAGE + ":1:2:3", result.getMessage().getPayload());
56 }
57
58 @Test
59 public void testNoProcessors() throws Exception
60 {
61 DefaultMessageProcessorChainBuilder builder = new DefaultMessageProcessorChainBuilder();
62 MessageProcessor mpChain = builder.build();
63
64 result = mpChain.process(testOutboundEvent);
65 assertEquals(TEST_MESSAGE, result.getMessage().getPayload());
66 }
67
68 protected OutboundEndpoint createOutboundEndpoint(Filter filter,
69 EndpointSecurityFilter securityFilter,
70 Transformer in,
71 Transformer response,
72 MessageExchangePattern exchangePattern,
73 TransactionConfig txConfig) throws Exception
74 {
75 return createTestOutboundEndpoint(filter, securityFilter, in, response, exchangePattern,
76 txConfig);
77 }
78 }