View Javadoc
1   /*
2    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
3    * The software in this package is published under the terms of the CPAL v1.0
4    * license, a copy of which has been included with this distribution in the
5    * LICENSE.txt file.
6    */
7   package org.mule.test.integration.spring.transaction;
8   
9   import org.mule.api.transaction.Transaction;
10  import org.mule.tck.junit4.AbstractMuleContextTestCase;
11  import org.mule.transaction.TransactionCoordination;
12  
13  import org.junit.Test;
14  
15  public class SpringTransactionFactoryTestCase extends AbstractMuleContextTestCase
16  {
17  
18      @Override
19      protected void doTearDown() throws Exception
20      {
21          Transaction tx = TransactionCoordination.getInstance().getTransaction();
22          if (tx != null)
23          {
24              TransactionCoordination.getInstance().unbindTransaction(tx);
25          }
26      }
27  
28      @Test
29      public void testTransactionFactoryBinding() throws Exception
30      {
31          // Init a data source
32  //        DriverManagerDataSource ds = new DriverManagerDataSource();
33  //        ds.setDriverClassName("org.hsqldb.jdbcDriver");
34  //        ds.setUrl("jdbc:hsqldb:mem:db");
35  //        ds.setUsername("sa");
36  //        // Init hibernate
37  //        LocalSessionFactoryBean sfactory = new LocalSessionFactoryBean();
38  //        sfactory.setDataSource(ds);
39  //        sfactory.afterPropertiesSet();
40  //        // Init hibernate transaction manager
41  //        HibernateTransactionManager tm = new HibernateTransactionManager();
42  //        tm.setDataSource(ds);
43  //        SessionFactory sessionFactory = (SessionFactory)sfactory.getObject();
44  //        tm.setSessionFactory(sessionFactory);
45  //        // Init spring transaction factory
46  //        SpringTransactionFactory factory = new SpringTransactionFactory();
47  //        factory.setManager(tm);
48  //
49  //        // Create a new transaction
50  //        Transaction tx = factory.beginTransaction();
51  //        TransactionCoordination.getInstance().bindTransaction(tx);
52  //        // Check that the jdbc connection is enlisted
53  //        assertTrue(tx.hasResource(ds));
54  //        // Check that the hibernate session is enlisted
55  //        assertTrue(tx.hasResource(sessionFactory));
56  
57       //   TransactionCoordination.getInstance().unbindTransaction(tx);
58      }
59  
60  }