1
2
3
4
5
6
7
8
9
10
11 package org.mule.endpoint.inbound;
12
13 import org.mule.api.MuleEvent;
14 import org.mule.api.MuleMessage;
15 import org.mule.api.endpoint.InboundEndpoint;
16 import org.mule.api.processor.MessageProcessor;
17 import org.mule.context.notification.EndpointMessageNotification;
18 import org.mule.endpoint.AbstractMessageProcessorTestCase;
19
20 import java.util.concurrent.TimeUnit;
21
22 import org.junit.Test;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertTrue;
26
27 public class InboundNotificationMessageProcessorTestCase extends AbstractMessageProcessorTestCase
28 {
29 @Test
30 public void testProcess() throws Exception
31 {
32 TestEndpointMessageNotificationListener listener = new TestEndpointMessageNotificationListener();
33 muleContext.registerListener(listener);
34
35 InboundEndpoint endpoint = createTestInboundEndpoint(null, null);
36 MessageProcessor mp = new InboundNotificationMessageProcessor(endpoint);
37 MuleEvent event = createTestInboundEvent(endpoint);
38 mp.process(event);
39
40 assertTrue(listener.latch.await(RECEIVE_TIMEOUT, TimeUnit.MILLISECONDS));
41 assertEquals(EndpointMessageNotification.MESSAGE_RECEIVED, listener.messageNotification.getAction());
42 assertEquals(endpoint.getEndpointURI().getUri().toString(),
43 listener.messageNotification.getEndpoint());
44 assertTrue(listener.messageNotification.getSource() instanceof MuleMessage);
45 assertEquals(event.getMessage().getPayload(),
46 listener.messageNotification.getSource().getPayload());
47 }
48 }