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.ImmutableEndpoint;
19 import org.mule.api.endpoint.InboundEndpoint;
20 import org.mule.api.processor.MessageProcessor;
21 import org.mule.endpoint.AbstractMessageProcessorTestCase;
22 import org.mule.processor.chain.DefaultMessageProcessorChainBuilder;
23 import org.mule.tck.testmodels.mule.TestMessageProcessor;
24
25 import java.util.HashMap;
26 import java.util.Map;
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 public void testProcessors() throws Exception
51 {
52 DefaultMessageProcessorChainBuilder builder = new DefaultMessageProcessorChainBuilder();
53 builder.chain(new TestMessageProcessor("1"), new TestMessageProcessor("2"), new TestMessageProcessor("3"));
54 MessageProcessor mpChain = builder.build();
55
56 result = mpChain.process(requestEvent);
57 assertEquals(TEST_MESSAGE + ":1:2:3", result.getMessage().getPayload());
58 }
59
60 public void testNoProcessors() throws Exception
61 {
62 DefaultMessageProcessorChainBuilder builder = new DefaultMessageProcessorChainBuilder();
63 MessageProcessor mpChain = builder.build();
64
65 result = mpChain.process(requestEvent);
66 assertEquals(TEST_MESSAGE, result.getMessage().getPayload());
67 }
68
69 protected MuleMessage createTestRequestMessage()
70 {
71 Map<String, Object> props = new HashMap<String, Object>();
72 props.put("prop1", "value1");
73 return new DefaultMuleMessage(TEST_MESSAGE, props, muleContext);
74 }
75
76 protected MuleEvent createTestRequestEvent(ImmutableEndpoint endpoint) throws Exception
77 {
78 return new DefaultMuleEvent(inMessage, endpoint, getTestSession(getTestService(), muleContext));
79 }
80 }