1   /*
2    * $Id: SpringTransactionFactoryTestCase.java 8977 2007-10-08 11:48:55Z romikk $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
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  //        TransactionCoordination.getInstance().bindTransaction(tx);
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  //        TransactionCoordination.getInstance().bindTransaction(tx);
53          tx.rollback();
54      }
55  
56  }