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