1
2
3
4
5
6
7 package org.mule.endpoint.outbound;
8
9 import org.mule.MessageExchangePattern;
10 import org.mule.api.MuleEvent;
11 import org.mule.api.endpoint.OutboundEndpoint;
12 import org.mule.api.processor.MessageProcessor;
13 import org.mule.api.routing.filter.Filter;
14 import org.mule.api.security.EndpointSecurityFilter;
15 import org.mule.api.transaction.TransactionConfig;
16 import org.mule.api.transformer.Transformer;
17 import org.mule.endpoint.AbstractMessageProcessorTestCase;
18 import org.mule.processor.chain.DefaultMessageProcessorChainBuilder;
19 import org.mule.tck.testmodels.mule.TestMessageProcessor;
20
21 import org.junit.Test;
22
23 import static org.junit.Assert.assertEquals;
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 @Test
44 public void testProcessors() throws Exception
45 {
46 DefaultMessageProcessorChainBuilder builder = new DefaultMessageProcessorChainBuilder();
47 builder.chain(new TestMessageProcessor("1"), new TestMessageProcessor("2"), new TestMessageProcessor("3"));
48 MessageProcessor mpChain = builder.build();
49
50 result = mpChain.process(testOutboundEvent);
51 assertEquals(TEST_MESSAGE + ":1:2:3", result.getMessage().getPayload());
52 }
53
54 @Test
55 public void testNoProcessors() throws Exception
56 {
57 DefaultMessageProcessorChainBuilder builder = new DefaultMessageProcessorChainBuilder();
58 MessageProcessor mpChain = builder.build();
59
60 result = mpChain.process(testOutboundEvent);
61 assertEquals(TEST_MESSAGE, result.getMessage().getPayload());
62 }
63
64 protected OutboundEndpoint createOutboundEndpoint(Filter filter,
65 EndpointSecurityFilter securityFilter,
66 Transformer in,
67 Transformer response,
68 MessageExchangePattern exchangePattern,
69 TransactionConfig txConfig) throws Exception
70 {
71 return createTestOutboundEndpoint(filter, securityFilter, in, response, exchangePattern,
72 txConfig);
73 }
74 }