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