1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.integration.exceptions;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.api.transformer.TransformerMessagingException;
15 import org.mule.message.ExceptionMessage;
16 import org.mule.module.client.MuleClient;
17 import org.mule.tck.AbstractServiceAndFlowTestCase;
18
19 import java.util.Arrays;
20 import java.util.Collection;
21
22 import org.junit.Test;
23 import org.junit.runners.Parameterized.Parameters;
24
25 import static org.junit.Assert.assertNotNull;
26 import static org.junit.Assert.assertTrue;
27
28 public class ExceptionsWithRouterMule2715TestCase extends AbstractServiceAndFlowTestCase
29 {
30 public static final String MESSAGE = "message";
31 public static final long TIMEOUT = 5000L;
32
33 @Parameters
34 public static Collection<Object[]> parameters()
35 {
36 return Arrays.asList(new Object[][]{
37 {ConfigVariant.SERVICE, "org/mule/test/integration/exceptions/exceptions-with-router-mule-2715-service.xml"},
38 {ConfigVariant.FLOW, "org/mule/test/integration/exceptions/exceptions-with-router-mule-2715-flow.xml"}
39 });
40 }
41
42 public ExceptionsWithRouterMule2715TestCase(ConfigVariant variant, String configResources)
43 {
44 super(variant, configResources);
45 }
46
47 @Test
48 public void testWithRouter() throws Exception
49 {
50 doTest("with-router-in");
51 }
52
53 @Test
54 public void testWithoutRouter() throws Exception
55 {
56 doTest("without-router-in");
57 }
58
59 protected void doTest(String path) throws Exception
60 {
61 MuleClient client = new MuleClient(muleContext);
62 client.dispatch("vm://" + path, MESSAGE, null);
63 MuleMessage response = client.request("vm://error", TIMEOUT);
64 assertNotNull(response);
65 assertTrue(response.getPayload() instanceof ExceptionMessage);
66 assertTrue(((ExceptionMessage) response.getPayload()).getException() instanceof TransformerMessagingException);
67 }
68 }