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