1
2
3
4
5
6
7
8
9
10
11 package org.mule.routing;
12
13 import org.mule.DefaultMuleEvent;
14 import org.mule.DefaultMuleMessage;
15 import org.mule.api.MuleEvent;
16 import org.mule.api.MuleMessage;
17 import org.mule.api.MuleSession;
18 import org.mule.api.endpoint.OutboundEndpoint;
19 import org.mule.api.service.Service;
20 import org.mule.tck.AbstractMuleTestCase;
21 import org.mule.tck.MuleTestUtils;
22
23 import com.mockobjects.dynamic.Mock;
24
25 public class IdempotentSecureHashMessageFilterTestCase extends AbstractMuleTestCase
26 {
27 public IdempotentSecureHashMessageFilterTestCase()
28 {
29 setStartContext(true);
30 }
31
32 public void testIdempotentReceiver() throws Exception
33 {
34 OutboundEndpoint endpoint1 = getTestOutboundEndpoint("Test1Provider",
35 "test://Test1Provider?exchangePattern=one-way");
36 Mock session = MuleTestUtils.getMockSession();
37 Service service = getTestService();
38 session.matchAndReturn("getFlowConstruct", service);
39
40 IdempotentSecureHashMessageFilter ir = new IdempotentSecureHashMessageFilter();
41 ir.setFlowConstruct(service);
42 ir.setThrowOnUnaccepted(false);
43
44 MuleMessage okMessage = new DefaultMuleMessage("OK", muleContext);
45 MuleEvent event = new DefaultMuleEvent(okMessage, endpoint1, (MuleSession) session.proxy());
46
47
48 event = ir.process(event);
49 assertNotNull(event);
50
51
52 okMessage = new DefaultMuleMessage("OK", muleContext);
53 event = new DefaultMuleEvent(okMessage, endpoint1, (MuleSession) session.proxy());
54 event = ir.process(event);
55 assertNull(event);
56
57
58 okMessage = new DefaultMuleMessage("Not OK", muleContext);
59 event = new DefaultMuleEvent(okMessage, endpoint1, (MuleSession) session.proxy());
60 event = ir.process(event);
61 assertNotNull(event);
62 }
63
64 }