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.DynamicPortTestCase;
17 import org.mule.transport.NullPayload;
18
19
20
21
22 public class ReplyToTestCase extends DynamicPortTestCase
23 {
24 static final long RECEIVE_DELAY = 3000;
25
26 public ReplyToTestCase()
27 {
28 setDisposeManagerPerSuite(true);
29 }
30
31 @Override
32 protected String getConfigResources()
33 {
34 return "org/mule/test/usecases/replyto.xml";
35 }
36
37 public void testVm() throws Exception
38 {
39 MuleClient client = new MuleClient(muleContext);
40
41 MuleMessage msg = new DefaultMuleMessage("testing", muleContext);
42 msg.setReplyTo("ReplyTo");
43
44
45 client.dispatch("EchoVm", msg, null);
46
47
48 MuleMessage result = client.request("ReplyTo", RECEIVE_DELAY);
49 assertNotNull("Result is null", result);
50 assertFalse("Result is null", result.getPayload() instanceof NullPayload);
51 assertEquals("testing", result.getPayload());
52
53
54 result = client.request("ReplyTo", RECEIVE_DELAY);
55 assertNull("Extra message received at replyTo destination: " + result, result);
56 }
57
58 public void testAxis() throws Exception
59 {
60 MuleClient client = new MuleClient(muleContext);
61
62 MuleMessage msg = new DefaultMuleMessage("testing", muleContext);
63 msg.setReplyTo("ReplyTo");
64
65
66 client.dispatch("EchoAxisSend", msg, null);
67
68
69 MuleMessage result = client.request("ReplyTo", RECEIVE_DELAY);
70 assertNotNull("Result is null", result);
71 assertFalse("Result is null", result.getPayload() instanceof NullPayload);
72 assertEquals("testing", result.getPayload());
73
74
75 result = client.request("ReplyTo", RECEIVE_DELAY);
76 assertNull("Extra message received at replyTo destination: " + result, result);
77 }
78
79 public void testCxf() throws Exception
80 {
81 MuleClient client = new MuleClient(muleContext);
82
83 MuleMessage msg = new DefaultMuleMessage("testing", muleContext);
84 msg.setReplyTo("ReplyTo");
85
86
87 client.dispatch("EchoCxfSend", msg, null);
88
89
90 MuleMessage result = client.request("ReplyTo", RECEIVE_DELAY);
91 assertNotNull("Result is null", result);
92 assertFalse("Result is null", result.getPayload() instanceof NullPayload);
93 assertEquals("testing", result.getPayload());
94
95
96 result = client.request("ReplyTo", RECEIVE_DELAY);
97 assertNull("Extra message received at replyTo destination: " + result, result);
98 }
99
100 @Override
101 protected int getNumPortsToFind()
102 {
103 return 2;
104 }
105 }