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.module.client.MuleClient;
11 import org.mule.tck.junit4.FunctionalTestCase;
12 import org.mule.tck.testmodels.fruit.Apple;
13
14 import java.util.ArrayList;
15 import java.util.List;
16
17 import org.junit.Test;
18
19 import static org.junit.Assert.assertNotNull;
20 import static org.junit.Assert.assertTrue;
21
22 public class MulticasterAsyncTestCase extends FunctionalTestCase
23 {
24
25 @Override
26 protected String getConfigResources()
27 {
28 return "org/mule/test/integration/routing/outbound/multicaster-async-test.xml";
29 }
30
31 @Test
32 public void testSplitter() throws Exception
33 {
34 MuleClient client = new MuleClient(muleContext);
35 client.dispatch("vm://distributor.queue", new Apple(), null);
36
37 List<Object> results = new ArrayList<Object>(3);
38
39 MuleMessage result = client.request("vm://collector.queue", 5000);
40 assertNotNull(result);
41 results.add(result.getPayload());
42
43 result = client.request("vm://collector.queue", 3000);
44 assertNotNull(result);
45 results.add(result.getPayload());
46
47 result = client.request("vm://collector.queue", 3000);
48 assertNotNull(result);
49 results.add(result.getPayload());
50
51 assertTrue(results.contains("Apple Received in ServiceOne"));
52 assertTrue(results.contains("Apple Received in ServiceTwo"));
53 assertTrue(results.contains("Apple Received in ServiceThree"));
54 }
55
56 }