1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.integration.messaging.meps;
12
13 import static org.junit.Assert.assertEquals;
14 import static org.junit.Assert.assertNotNull;
15
16 import org.mule.api.MuleMessage;
17 import org.mule.api.transformer.TransformerException;
18 import org.mule.api.transport.NoReceiverForEndpointException;
19 import org.mule.tck.AbstractServiceAndFlowTestCase;
20 import org.mule.tck.exceptions.FunctionalTestException;
21
22 import java.util.Arrays;
23 import java.util.Collection;
24
25 import org.junit.Test;
26 import org.junit.runners.Parameterized.Parameters;
27
28
29
30
31 public class SynchronousResponseExceptionTestCase extends AbstractServiceAndFlowTestCase
32 {
33 @Parameters
34 public static Collection<Object[]> parameters()
35 {
36 return Arrays.asList(new Object[][]{
37 {ConfigVariant.SERVICE,
38 "org/mule/test/integration/messaging/meps/synchronous-response-exception-service.xml"},
39 {ConfigVariant.FLOW,
40 "org/mule/test/integration/messaging/meps/synchronous-response-exception-flow.xml"}});
41 }
42
43 public SynchronousResponseExceptionTestCase(ConfigVariant variant, String configResources)
44 {
45 super(variant, configResources);
46 }
47
48 @Test
49 public void testComponentException() throws Exception
50 {
51 MuleMessage message = muleContext.getClient().send("vm://in1", "request", null);
52 assertNotNull(message);
53 assertNotNull(message.getExceptionPayload());
54 assertEquals(FunctionalTestException.class, message.getExceptionPayload()
55 .getRootException()
56 .getClass());
57 }
58
59 @Test
60 public void testOutboundRoutingException() throws Exception
61 {
62 MuleMessage message = muleContext.getClient().send("vm://in2", "request", null);
63 assertNotNull(message);
64 assertNotNull(message.getExceptionPayload());
65 assertEquals(NoReceiverForEndpointException.class, message.getExceptionPayload()
66 .getRootException()
67 .getClass());
68 }
69
70 @Test
71 public void testInboundTransformerException() throws Exception
72 {
73 MuleMessage message = muleContext.getClient().send("vm://in3", "request", null);
74 assertNotNull(message);
75 assertNotNull(message.getExceptionPayload());
76 assertEquals(TransformerException.class, message.getExceptionPayload()
77 .getRootException()
78 .getClass());
79 }
80
81 @Test
82 public void testOutboundTransformerException() throws Exception
83 {
84 MuleMessage message = muleContext.getClient().send("vm://in4", "request", null);
85 assertNotNull(message);
86 assertNotNull(message.getExceptionPayload());
87 assertEquals(TransformerException.class, message.getExceptionPayload()
88 .getRootException()
89 .getClass());
90 }
91
92 @Test
93 public void testResponseTransformerException() throws Exception
94 {
95 MuleMessage message = muleContext.getClient().send("vm://in5", "request", null);
96 assertNotNull(message);
97 assertNotNull(message.getExceptionPayload());
98 assertEquals(TransformerException.class, message.getExceptionPayload()
99 .getRootException()
100 .getClass());
101
102 }
103 }