1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport;
12
13 import org.mule.api.MuleRuntimeException;
14 import org.mule.tck.junit4.AbstractMuleContextTestCase;
15
16 import javax.resource.spi.work.Work;
17 import javax.resource.spi.work.WorkEvent;
18 import javax.resource.spi.work.WorkException;
19
20 import org.junit.Test;
21
22 import static org.junit.Assert.assertEquals;
23 import static org.junit.Assert.assertNotNull;
24 import static org.junit.Assert.assertTrue;
25
26
27
28
29
30 public class GenericConnectorTestCase extends AbstractMuleContextTestCase
31 {
32
33
34
35
36
37
38 @Test
39 public void testSpiWorkThrowableHandling() throws Exception
40 {
41 try
42 {
43 AbstractConnector connector = getTestConnector();
44 connector.handleWorkException(getTestWorkEvent(), "workRejected");
45 }
46 catch (MuleRuntimeException mrex)
47 {
48 assertNotNull(mrex);
49 assertTrue(mrex.getCause().getClass() == Throwable.class);
50 assertEquals("testThrowable", mrex.getCause().getMessage());
51 }
52 }
53
54 private WorkEvent getTestWorkEvent()
55 {
56 WorkEvent event = new WorkEvent(this,
57 WorkEvent.WORK_REJECTED, getTestWork(), new WorkException(new Throwable("testThrowable")));
58 return event;
59 }
60
61 private Work getTestWork()
62 {
63 return new Work()
64 {
65 public void release()
66 {
67
68 }
69
70 public void run()
71 {
72
73 }
74 };
75 }
76 }