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 RoundRobinXmlExpressionSplitterFunctionalTestCase extends AbstractXmlExpressionSplitterOutboundFunctionalTestCase
20 {
21 public RoundRobinXmlExpressionSplitterFunctionalTestCase(ConfigVariant variant, String configResources)
22 {
23 super(variant, configResources);
24 }
25
26 @Test
27 public void testSimple() 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 }
33
34 @Test
35 public void testDeterministic() throws MuleException, IOException
36 {
37 doSend("roundrobin-det");
38 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 1, new String[]{SERVICE_SPLITTER, ROUND_ROBIN_INDET});
39 assertService(ROUND_ROBIN_ENDPOINT_PREFIX, 2, ROUND_ROBIN_DET);
40 doSend("roundrobin-det");
41 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 1, new String[]{SERVICE_SPLITTER, ROUND_ROBIN_INDET});
42 assertService(ROUND_ROBIN_ENDPOINT_PREFIX, 2, ROUND_ROBIN_DET);
43 doSend("roundrobin-det");
44 doSend("roundrobin-det");
45 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 1, new String[]{SERVICE_SPLITTER, ROUND_ROBIN_INDET, SERVICE_SPLITTER, ROUND_ROBIN_INDET});
46 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 2, new String[]{ROUND_ROBIN_DET, ROUND_ROBIN_DET});
47 }
48
49 @Test
50 public void testIndeterministic() throws MuleException, IOException
51 {
52 doSend("roundrobin-indet");
53 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 1, new String[]{SERVICE_SPLITTER, ROUND_ROBIN_INDET});
54 assertService(ROUND_ROBIN_ENDPOINT_PREFIX, 2, ROUND_ROBIN_DET);
55 doSend("roundrobin-indet");
56 assertServices(ROUND_ROBIN_ENDPOINT_PREFIX, 2, new String[]{SERVICE_SPLITTER, ROUND_ROBIN_INDET});
57 assertService(ROUND_ROBIN_ENDPOINT_PREFIX, 1, ROUND_ROBIN_DET);
58 }
59 }