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