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