1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.usecases;
12
13 import org.mule.DefaultMuleMessage;
14 import org.mule.api.MuleMessage;
15 import org.mule.module.client.MuleClient;
16 import org.mule.tck.junit4.FunctionalTestCase;
17 import org.mule.tck.junit4.rule.DynamicPort;
18 import org.mule.transport.NullPayload;
19
20 import org.junit.ClassRule;
21 import org.junit.Test;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertFalse;
25 import static org.junit.Assert.assertNotNull;
26 import static org.junit.Assert.assertNull;
27
28
29
30
31 public class ReplyToTestCase extends FunctionalTestCase
32 {
33
34 private static final long RECEIVE_DELAY = 3000;
35
36 @ClassRule
37 public static DynamicPort dynamicPort1 = new DynamicPort("port1");
38
39 @ClassRule
40 public static DynamicPort dynamicPort2 = new DynamicPort("port2");
41
42 public ReplyToTestCase()
43 {
44 setDisposeContextPerClass(true);
45 }
46
47 @Override
48 protected String getConfigResources()
49 {
50 return "org/mule/test/usecases/replyto.xml";
51 }
52
53 @Test
54 public void testVm() throws Exception
55 {
56 MuleClient client = new MuleClient(muleContext);
57
58 MuleMessage msg = new DefaultMuleMessage("testing", muleContext);
59 msg.setReplyTo("ReplyTo");
60
61
62 client.dispatch("EchoVm", msg, null);
63
64
65 MuleMessage result = client.request("ReplyTo", RECEIVE_DELAY);
66 assertNotNull("Result is null", result);
67 assertFalse("Result is null", result.getPayload() instanceof NullPayload);
68 assertEquals("testing", result.getPayload());
69
70
71 result = client.request("ReplyTo", RECEIVE_DELAY);
72 assertNull("Extra message received at replyTo destination: " + result, result);
73 }
74
75 @Test
76 public void testAxis() throws Exception
77 {
78 MuleClient client = new MuleClient(muleContext);
79
80 MuleMessage msg = new DefaultMuleMessage("testing", muleContext);
81 msg.setReplyTo("ReplyTo");
82
83
84 client.dispatch("EchoAxisSend", msg, null);
85
86
87 MuleMessage result = client.request("ReplyTo", RECEIVE_DELAY);
88 assertNotNull("Result is null", result);
89 assertFalse("Result is null", result.getPayload() instanceof NullPayload);
90 assertEquals("testing", result.getPayload());
91
92
93 result = client.request("ReplyTo", RECEIVE_DELAY);
94 assertNull("Extra message received at replyTo destination: " + result, result);
95 }
96
97 @Test
98 public void testCxf() throws Exception
99 {
100 MuleClient client = new MuleClient(muleContext);
101
102 MuleMessage msg = new DefaultMuleMessage("testing", muleContext);
103 msg.setReplyTo("ReplyTo");
104
105
106 client.dispatch("EchoCxfSend", msg, null);
107
108
109 MuleMessage result = client.request("ReplyTo", RECEIVE_DELAY);
110 assertNotNull("Result is null", result);
111 assertFalse("Result is null", result.getPayload() instanceof NullPayload);
112 assertEquals("testing", result.getPayload());
113
114
115 result = client.request("ReplyTo", RECEIVE_DELAY);
116 assertNull("Extra message received at replyTo destination: " + result, result);
117 }
118 }