1
2
3
4
5
6
7
8
9
10
11 package org.mule.issues;
12
13 import static org.junit.Assert.assertEquals;
14 import static org.junit.Assert.assertNotNull;
15
16 import org.mule.DefaultMuleMessage;
17 import org.mule.api.MuleMessage;
18 import org.mule.module.client.MuleClient;
19 import org.mule.tck.AbstractServiceAndFlowTestCase;
20
21 import java.util.Arrays;
22 import java.util.Collection;
23
24 import org.junit.Test;
25 import org.junit.runners.Parameterized.Parameters;
26
27 public class CustomFilterMule2437TestCase extends AbstractServiceAndFlowTestCase
28 {
29
30 private static final long TIMEOUT = 3000L;
31
32 public CustomFilterMule2437TestCase(ConfigVariant variant, String configResources)
33 {
34 super(variant, configResources);
35 }
36
37 @Parameters
38 public static Collection<Object[]> parameters()
39 {
40 return Arrays.asList(new Object[][]{
41 {ConfigVariant.SERVICE, "issues/custom-filter-mule-2437-test-service.xml"},
42 {ConfigVariant.FLOW, "issues/custom-filter-mule-2437-test-flow.xml"}
43 });
44 }
45
46 @Test
47 public void testVowels() throws Exception
48 {
49 doTest("aei", "vm://vowels");
50 }
51
52 @Test
53 public void testConsonants() throws Exception
54 {
55 doTest("zyx", "vm://consonants");
56 }
57
58 protected void doTest(String message, String destination) throws Exception
59 {
60 MuleClient client = new MuleClient(muleContext);
61 client.dispatch("vm://in", new DefaultMuleMessage(message, muleContext));
62 MuleMessage response = client.request(destination, TIMEOUT);
63 assertNotNull(response);
64 assertEquals(message, response.getPayloadAsString());
65 }
66
67 }