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 import org.mule.tck.testmodels.fruit.Apple;
17 import org.mule.tck.testmodels.fruit.Banana;
18 import org.mule.tck.testmodels.fruit.FruitBowl;
19 import org.mule.tck.testmodels.fruit.Orange;
20
21 import java.util.ArrayList;
22 import java.util.List;
23
24 public class ExpressionSplitterAsyncTestCase extends FunctionalTestCase
25 {
26 @Override
27 protected String getConfigResources()
28 {
29 return "org/mule/test/integration/routing/outbound/expression-splitter-async-test.xml";
30 }
31
32 public void testSplitter() throws Exception
33 {
34 FruitBowl fruitBowl = new FruitBowl(new Apple(), new Banana());
35 fruitBowl.addFruit(new Orange());
36
37 MuleClient client = new MuleClient(muleContext);
38 client.dispatch("vm://distributor.queue", fruitBowl, null);
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("Apple Received in ServiceOne"));
55 assertTrue(results.contains("Banana Received in ServiceTwo"));
56 assertTrue(results.contains("Orange Received in ServiceThree"));
57 }
58
59 }