1
2
3
4
5
6
7
8
9
10
11 package org.mule.endpoint.inbound;
12
13 import org.mule.DefaultMuleEvent;
14 import org.mule.DefaultMuleMessage;
15 import org.mule.MessageExchangePattern;
16 import org.mule.api.MuleEvent;
17 import org.mule.api.MuleMessage;
18 import org.mule.api.endpoint.InboundEndpoint;
19 import org.mule.api.processor.MessageProcessor;
20 import org.mule.endpoint.AbstractMessageProcessorTestCase;
21 import org.mule.processor.chain.DefaultMessageProcessorChainBuilder;
22 import org.mule.tck.testmodels.mule.TestMessageProcessor;
23
24 import java.util.HashMap;
25 import java.util.Map;
26
27 import org.junit.Test;
28
29 import static org.junit.Assert.assertEquals;
30
31
32
33
34 public class InboundEndpointMessageProcessorsTestCase extends AbstractMessageProcessorTestCase
35 {
36 private static final String TEST_MESSAGE = "test";
37
38 private InboundEndpoint endpoint;
39 private MuleMessage inMessage;
40 private MuleEvent requestEvent;
41 private MuleEvent result;
42
43 @Override
44 protected void doSetUp() throws Exception
45 {
46 super.doSetUp();
47 inMessage = createTestRequestMessage();
48 endpoint = createTestInboundEndpoint(null, null, null, null,
49 MessageExchangePattern.REQUEST_RESPONSE, null);
50 requestEvent = createTestRequestEvent(endpoint);
51 }
52
53 @Test
54 public void testProcessors() throws Exception
55 {
56 DefaultMessageProcessorChainBuilder builder = new DefaultMessageProcessorChainBuilder();
57 builder.chain(new TestMessageProcessor("1"), new TestMessageProcessor("2"), new TestMessageProcessor("3"));
58 MessageProcessor mpChain = builder.build();
59
60 result = mpChain.process(requestEvent);
61 assertEquals(TEST_MESSAGE + ":1:2:3", result.getMessage().getPayload());
62 }
63
64 @Test
65 public void testNoProcessors() throws Exception
66 {
67 DefaultMessageProcessorChainBuilder builder = new DefaultMessageProcessorChainBuilder();
68 MessageProcessor mpChain = builder.build();
69
70 result = mpChain.process(requestEvent);
71 assertEquals(TEST_MESSAGE, result.getMessage().getPayload());
72 }
73
74 protected MuleMessage createTestRequestMessage()
75 {
76 Map<String, Object> props = new HashMap<String, Object>();
77 props.put("prop1", "value1");
78 return new DefaultMuleMessage(TEST_MESSAGE, props, muleContext);
79 }
80
81 protected MuleEvent createTestRequestEvent(InboundEndpoint endpoint) throws Exception
82 {
83 return new DefaultMuleEvent(inMessage, endpoint, getTestSession(getTestService(), muleContext));
84 }
85 }