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.api.MuleMessageCollection;
15 import org.mule.module.client.MuleClient;
16 import org.mule.tck.FunctionalTestCase;
17
18 import java.util.HashMap;
19 import java.util.Map;
20
21 public class ExpressionRecipientListSyncTestCase extends FunctionalTestCase
22 {
23 @Override
24 protected String getConfigResources()
25 {
26 return "org/mule/test/integration/routing/outbound/expression-recipient-list-sync-test.xml";
27 }
28
29 public void testRecipientList() throws Exception
30 {
31 String message = "test";
32 MuleClient client = new MuleClient(muleContext);
33 Map<String, Object> props = new HashMap<String, Object>(3);
34 props.put("recipient1", "vm://service1.queue?exchangePattern=request-response");
35 props.put("recipient2", "vm://service2.queue?exchangePattern=request-response");
36 props.put("recipient3", "vm://service3.queue?exchangePattern=request-response");
37 MuleMessage result = client.send("vm://distributor.queue", message, props);
38
39 assertNotNull(result);
40
41 assertTrue(result instanceof MuleMessageCollection);
42 MuleMessageCollection coll = (MuleMessageCollection)result;
43 assertEquals(3, coll.size());
44 MuleMessage[] results = coll.getMessagesAsArray();
45
46 for (int i = 0; i < results.length; i++)
47 {
48 MuleMessage muleMessage = results[i];
49 assertEquals("test " + (i+1) + " Received", muleMessage.getPayload());
50 }
51 }
52 }