1
2
3
4
5
6
7 package org.mule.module.xml.functional;
8
9 import org.mule.api.MuleException;
10
11 import java.io.IOException;
12
13 import org.junit.Test;
14
15 public class RoundRobinXmlSplitterFunctionalTestCase extends AbstractXmlSplitterOutboundFunctionalTestCase
16 {
17
18 @Test
19 public void testSimple() throws MuleException, IOException
20 {
21 doSend("roundrobin-det");
22 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 1, new String[]{SERVICE_SPLITTER, ROUND_ROBIN_INDET});
23 assertService(ROUND_ROBIN_ENDPOINT_PREFIX, 2, ROUND_ROBIN_DET);
24 }
25
26 @Test
27 public void testDeterministic() throws MuleException, IOException
28 {
29 doSend("roundrobin-det");
30 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 1, new String[]{SERVICE_SPLITTER, ROUND_ROBIN_INDET});
31 assertService(ROUND_ROBIN_ENDPOINT_PREFIX, 2, ROUND_ROBIN_DET);
32 doSend("roundrobin-det");
33 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 1, new String[]{SERVICE_SPLITTER, ROUND_ROBIN_INDET});
34 assertService(ROUND_ROBIN_ENDPOINT_PREFIX, 2, ROUND_ROBIN_DET);
35 doSend("roundrobin-det");
36 doSend("roundrobin-det");
37 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 1, new String[]{SERVICE_SPLITTER, ROUND_ROBIN_INDET, SERVICE_SPLITTER, ROUND_ROBIN_INDET});
38 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 2, new String[]{ROUND_ROBIN_DET, ROUND_ROBIN_DET});
39 }
40
41 @Test
42 public void testIndeterministic() throws MuleException, IOException
43 {
44 doSend("roundrobin-indet");
45 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 1, new String[]{SERVICE_SPLITTER, ROUND_ROBIN_INDET});
46 assertService(ROUND_ROBIN_ENDPOINT_PREFIX, 2, ROUND_ROBIN_DET);
47 doSend("roundrobin-indet");
48 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 2, new String[]{SERVICE_SPLITTER, ROUND_ROBIN_INDET});
49 assertService(ROUND_ROBIN_ENDPOINT_PREFIX, 1, ROUND_ROBIN_DET);
50 }
51
52 }