1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.integration.endpoints;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.module.client.MuleClient;
15 import org.mule.tck.FunctionalTestCase;
16
17 public class EndpointMessageProcessorsTestCase extends FunctionalTestCase
18 {
19 @Override
20 protected String getConfigResources()
21 {
22 return "org/mule/test/integration/endpoints/endpoint-message-processors.xml";
23 }
24
25 public void testSynchronousOutbound() throws Exception
26 {
27 MuleClient client = new MuleClient(muleContext);
28
29 MuleMessage response = client.send("vm://in1", "input", null);
30 assertNotNull(response);
31 assertEquals("input:A:B:service1:E:F:service2:G:H:C:D", response.getPayload());
32 }
33
34 public void testAsynchronousOutbound() throws Exception
35 {
36 MuleClient client = new MuleClient(muleContext);
37
38 MuleMessage response = client.send("vm://in2", "input", null);
39 assertNotNull(response);
40 assertEquals("input:A:B:service1:C:D", response.getPayload());
41
42 response = client.request("vm://out2", 1000);
43 assertNotNull(response);
44 assertEquals("input:A:B:service1:E:F", response.getPayload());
45 }
46
47 public void testLegacyAttributes() throws Exception
48 {
49 MuleClient client = new MuleClient(muleContext);
50
51 MuleMessage response = client.send("vm://in3", "input", null);
52 assertNotNull(response);
53 assertEquals("input:A:B:service1:E:F:service2:G:H:C:D", response.getPayload());
54 }
55
56 public void testRouters() throws Exception
57 {
58 MuleClient client = new MuleClient(muleContext);
59
60 client.dispatch("vm://in4", "input1,input2,input3", null);
61
62 MuleMessage response = client.request("vm://wiretap1", 1000);
63 assertNotNull(response);
64 assertEquals("input1,input2,input3 (tapped)", response.getPayload());
65
66 response = client.request("vm://wiretap2", 1000);
67 assertNotNull(response);
68 assertTrue(response.getPayloadAsString().startsWith("input"));
69 assertTrue(response.getPayloadAsString().endsWith(":A:B:service1 (tapped)"));
70 response = client.request("vm://wiretap2", 1000);
71 assertNotNull(response);
72 assertTrue(response.getPayloadAsString().startsWith("input"));
73 assertTrue(response.getPayloadAsString().endsWith(":A:B:service1 (tapped)"));
74 response = client.request("vm://wiretap2", 1000);
75 assertNotNull(response);
76 assertTrue(response.getPayloadAsString().startsWith("input"));
77 assertTrue(response.getPayloadAsString().endsWith(":A:B:service1 (tapped)"));
78 response = client.request("vm://wiretap2", 1000);
79 assertNull(response);
80
81 response = client.request("vm://out4", 1000);
82 assertNotNull(response);
83 assertTrue(response.getPayloadAsString().startsWith("input"));
84 assertTrue(response.getPayloadAsString().endsWith(":A:B:service1:E:F"));
85 response = client.request("vm://out4", 1000);
86 assertNotNull(response);
87 assertTrue(response.getPayloadAsString().startsWith("input"));
88 assertTrue(response.getPayloadAsString().endsWith(":A:B:service1:E:F"));
89 response = client.request("vm://out4", 1000);
90 assertNotNull(response);
91 assertTrue(response.getPayloadAsString().startsWith("input"));
92 assertTrue(response.getPayloadAsString().endsWith(":A:B:service1:E:F"));
93 response = client.request("vm://out4", 1000);
94 assertNull(response);
95 }
96 }