1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.integration.routing.outbound;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.module.client.MuleClient;
15 import org.mule.tck.FunctionalTestCase;
16
17 import java.util.ArrayList;
18 import java.util.HashMap;
19 import java.util.List;
20 import java.util.Map;
21
22 public class ExpressionRecipientListAsyncTestCase extends FunctionalTestCase
23 {
24 @Override
25 protected String getConfigResources()
26 {
27 return "org/mule/test/integration/routing/outbound/expression-recipient-list-async-test.xml";
28 }
29
30 public void testRecipientList() throws Exception
31 {
32 String message = "test";
33 MuleClient client = new MuleClient(muleContext);
34 Map<String, Object> props = new HashMap<String, Object>(3);
35 props.put("recipient1", "vm://service1.queue");
36 props.put("recipient2", "vm://service2.queue");
37 props.put("recipient3", "vm://service3.queue");
38 client.dispatch("vm://distributor.queue", message, props);
39
40 List<Object> results = new ArrayList<Object>(3);
41
42 MuleMessage result = client.request("vm://collector.queue", 5000);
43 assertNotNull(result);
44 results.add(result.getPayload());
45
46 result = client.request("vm://collector.queue", 3000);
47 assertNotNull(result);
48 results.add(result.getPayload());
49
50 result = client.request("vm://collector.queue", 3000);
51 assertNotNull(result);
52 results.add(result.getPayload());
53
54 assertTrue(results.contains("test 1 Received"));
55 assertTrue(results.contains("test 2 Received"));
56 assertTrue(results.contains("test 3 Received"));
57 }
58 }