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 public class SedaComponentTestCase extends AbstractMuleTestCase
23 {
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public void testSpiWorkThrowableHandling() throws Exception
44 {
45 try
46 {
47
48
49 MuleDescriptor descriptor = MuleTestUtils.getTestDescriptor("test", "java.lang.Object");
50 SedaComponent component = new SedaComponent(descriptor, new SedaModel());
51
52 component.handleWorkException(getTestWorkEvent(), "workRejected");
53 }
54 catch (MuleRuntimeException mrex)
55 {
56 assertNotNull(mrex);
57 assertTrue(mrex.getCause().getClass() == Throwable.class);
58 assertEquals("testThrowable", mrex.getCause().getMessage());
59 }
60 }
61
62 private WorkEvent getTestWorkEvent()
63 {
64 return new WorkEvent(this,
65 WorkEvent.WORK_REJECTED, getTestWork(), new WorkException(new Throwable("testThrowable")));
66 }
67
68 private Work getTestWork()
69 {
70 return new Work()
71 {
72 public void release()
73 {
74
75 }
76
77 public void run()
78 {
79
80 }
81 };
82 }
83 }