1
2
3
4
5
6
7
8
9
10
11 package org.mule.providers.jms;
12
13 import org.mule.MuleException;
14 import org.mule.config.ExceptionHelper;
15 import org.mule.config.i18n.MessageFactory;
16 import org.mule.tck.AbstractMuleTestCase;
17
18 import java.io.IOException;
19 import java.util.List;
20 import java.util.Map;
21
22 import javax.jms.JMSException;
23
24 public class JmsExceptionReaderTestCase extends AbstractMuleTestCase
25 {
26
27 protected void doSetUp() throws Exception
28 {
29 ExceptionHelper.registerExceptionReader(new JmsExceptionReader());
30 }
31
32 public void testNestedExceptionRetrieval() throws Exception
33 {
34 Exception testException = getException();
35 Throwable t = ExceptionHelper.getRootException(testException);
36 assertNotNull(t);
37 assertEquals("blah", t.getMessage());
38 assertNull(t.getCause());
39
40 t = ExceptionHelper.getRootMuleException(testException);
41 assertNotNull(t);
42 assertEquals("bar", t.getMessage());
43 assertNotNull(t.getCause());
44
45 List l = ExceptionHelper.getExceptionsAsList(testException);
46 assertEquals(4, l.size());
47
48 Map info = ExceptionHelper.getExceptionInfo(testException);
49 assertNotNull(info);
50 assertEquals(2, info.size());
51 assertNotNull(info.get("JavaDoc"));
52 assertEquals("1234", info.get("JMS Code"));
53 }
54
55 private Exception getException()
56 {
57
58 JMSException e = new JMSException("Jms error", "1234");
59 e.setLinkedException(new IOException("blah"));
60
61 return new MuleException(MessageFactory.createStaticMessage("foo"), new MuleException(
62 MessageFactory.createStaticMessage("bar"), e));
63 }
64
65 }