1
2
3
4
5
6
7
8
9
10
11 package org.mule.model.seda;
12
13 import org.mule.api.MuleRuntimeException;
14 import org.mule.component.DefaultJavaComponent;
15 import org.mule.object.PrototypeObjectFactory;
16 import org.mule.tck.AbstractMuleTestCase;
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 SedaServiceTestCase 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 testSedaModelEventTimeoutDefault() throws Exception
44 {
45 SedaService service = new SedaService();
46 service.setName("test");
47 service.setComponent(new DefaultJavaComponent(new PrototypeObjectFactory(Object.class)));
48 service.setModel(new SedaModel());
49 service.setMuleContext(muleContext);
50 service.getModel().setMuleContext(muleContext);
51
52 service.getModel().initialise();
53 service.initialise();
54
55 assertNotNull(service.getQueueTimeout());
56 assertTrue(service.getQueueTimeout().intValue() != 0);
57 }
58
59 public void testSpiWorkThrowableHandling() throws Exception
60 {
61 try
62 {
63
64
65 SedaService service = new SedaService();
66 service.setName("test");
67 service.setComponent(new DefaultJavaComponent(new PrototypeObjectFactory(Object.class)));
68 service.setModel(new SedaModel());
69
70 service.handleWorkException(getTestWorkEvent(), "workRejected");
71 }
72 catch (MuleRuntimeException mrex)
73 {
74 assertNotNull(mrex);
75 assertTrue(mrex.getCause().getClass() == Throwable.class);
76 assertEquals("testThrowable", mrex.getCause().getMessage());
77 }
78 }
79
80 private WorkEvent getTestWorkEvent()
81 {
82 return new WorkEvent(this,
83 WorkEvent.WORK_REJECTED, getTestWork(), new WorkException(new Throwable("testThrowable")));
84 }
85
86 private Work getTestWork()
87 {
88 return new Work()
89 {
90 public void release()
91 {
92
93 }
94
95 public void run()
96 {
97
98 }
99 };
100 }
101 }