1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.transaction.jdbc;
17
18 import static org.junit.Assert.*;
19 import static org.mockito.Mockito.*;
20
21 import java.util.Properties;
22
23 import javax.sql.DataSource;
24
25 import org.apache.ibatis.session.TransactionIsolationLevel;
26 import org.apache.ibatis.transaction.Transaction;
27 import org.junit.jupiter.api.Test;
28
29 class JdbcTransactionFactoryTest {
30
31 @Test
32 void testNullProperties() throws Exception {
33 TestConnection connection = new TestConnection(false);
34 JdbcTransactionFactory factory = new JdbcTransactionFactory();
35 factory.setProperties(null);
36 Transaction transaction = factory.newTransaction(connection);
37 transaction.getConnection();
38 transaction.close();
39 assertTrue(connection.getAutoCommit());
40 }
41
42 @Test
43 void testSkipSetAutoCommitOnClose() throws Exception {
44 TestConnection connection = new TestConnection(false);
45 DataSource ds = mock(DataSource.class);
46 when(ds.getConnection()).thenReturn(connection);
47
48 JdbcTransactionFactory factory = new JdbcTransactionFactory();
49 Properties properties = new Properties();
50 properties.setProperty("skipSetAutoCommitOnClose", "true");
51 factory.setProperties(properties);
52 Transaction transaction = factory.newTransaction(ds, TransactionIsolationLevel.NONE, false);
53 transaction.getConnection();
54 transaction.close();
55 assertFalse(connection.getAutoCommit());
56 }
57
58 }