1
2
3
4
5
6
7
8
9
10
11 package org.mule.extras.spring.transaction;
12
13 import org.mule.tck.AbstractMuleTestCase;
14 import org.mule.umo.UMOTransaction;
15
16 import com.mockobjects.dynamic.C;
17 import com.mockobjects.dynamic.Mock;
18
19 import org.springframework.transaction.PlatformTransactionManager;
20 import org.springframework.transaction.TransactionStatus;
21
22 public class SpringTransactionFactoryTestCase extends AbstractMuleTestCase
23 {
24
25 public void testCommit() throws Exception
26 {
27 Mock mockPTM = new Mock(PlatformTransactionManager.class);
28 Mock mockTS = new Mock(TransactionStatus.class);
29 mockPTM.expectAndReturn("getTransaction", C.same(null), mockTS.proxy());
30 mockPTM.expect("commit", C.same(mockTS.proxy()));
31
32 SpringTransactionFactory factory = new SpringTransactionFactory();
33 factory.setManager((PlatformTransactionManager)mockPTM.proxy());
34
35 UMOTransaction tx = factory.beginTransaction();
36
37 tx.commit();
38 }
39
40 public void testRollback() throws Exception
41 {
42 Mock mockPTM = new Mock(PlatformTransactionManager.class);
43 Mock mockTS = new Mock(TransactionStatus.class);
44 mockPTM.expectAndReturn("getTransaction", C.same(null), mockTS.proxy());
45 mockPTM.expect("rollback", C.same(mockTS.proxy()));
46 mockTS.expect("setRollbackOnly");
47
48 SpringTransactionFactory factory = new SpringTransactionFactory();
49 factory.setManager((PlatformTransactionManager)mockPTM.proxy());
50
51 UMOTransaction tx = factory.beginTransaction();
52
53 tx.rollback();
54 }
55
56 }