1
2
3
4
5
6
7
8
9
10
11 package org.mule.impl.model.seda;
12
13 import org.mule.MuleRuntimeException;
14 import org.mule.impl.MuleDescriptor;
15 import org.mule.tck.AbstractMuleTestCase;
16 import org.mule.tck.MuleTestUtils;
17
18 import javax.resource.spi.work.Work;
19 import javax.resource.spi.work.WorkEvent;
20 import javax.resource.spi.work.WorkException;
21
22
23
24
25 public class SedaComponentTestCase extends AbstractMuleTestCase
26 {
27
28 public void testSpiWorkThrowableHandling() throws Exception
29 {
30 try
31 {
32
33
34 MuleDescriptor descriptor = MuleTestUtils.getTestDescriptor("test", "java.lang.Object");
35 SedaComponent component = new SedaComponent(descriptor, new SedaModel());
36
37 component.handleWorkException(getTestWorkEvent(), "workRejected");
38 }
39 catch (MuleRuntimeException mrex)
40 {
41 assertNotNull(mrex);
42 assertTrue(mrex.getCause().getClass() == Throwable.class);
43 assertEquals("testThrowable", mrex.getCause().getMessage());
44 }
45 }
46
47 private WorkEvent getTestWorkEvent()
48 {
49 return new WorkEvent(this,
50 WorkEvent.WORK_REJECTED, getTestWork(), new WorkException(new Throwable("testThrowable")));
51 }
52
53 private Work getTestWork()
54 {
55 return new Work()
56 {
57 public void release()
58 {
59
60 }
61
62 public void run()
63 {
64
65 }
66 };
67 }
68 }