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 import org.mule.tck.testmodels.fruit.Apple;
14 import org.mule.tck.testmodels.fruit.Banana;
15 import org.mule.tck.testmodels.fruit.FruitBowl;
16 import org.mule.tck.testmodels.fruit.Orange;
17
18 import java.util.List;
19
20 import org.junit.Test;
21
22 import static org.junit.Assert.assertEquals;
23 import static org.junit.Assert.assertNotNull;
24 import static org.junit.Assert.assertTrue;
25
26 public class ExpressionSplitterSyncTestCase extends FunctionalTestCase
27 {
28
29 @Override
30 protected String getConfigResources()
31 {
32 return "org/mule/test/integration/routing/outbound/expression-splitter-sync-test.xml";
33 }
34
35 @Test
36 public void testRecipientList() throws Exception
37 {
38 FruitBowl fruitBowl = new FruitBowl(new Apple(), new Banana());
39 fruitBowl.addFruit(new Orange());
40
41 MuleClient client = new MuleClient(muleContext);
42 MuleMessage result = client.send("vm://distributor.queue", fruitBowl, null);
43
44 assertNotNull(result);
45 assertTrue(result instanceof MuleMessageCollection);
46 MuleMessageCollection coll = (MuleMessageCollection) result;
47 assertEquals(3, coll.size());
48 List<?> results = (List<?>) coll.getPayload();
49
50 assertTrue(results.contains("Apple Received in ServiceOne"));
51 assertTrue(results.contains("Banana Received in ServiceTwo"));
52 assertTrue(results.contains("Orange Received in ServiceThree"));
53 }
54 }