This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbcp.git
The following commit(s) were added to refs/heads/master by this push:
new 40a8d659 Use try-with-resources
40a8d659 is described below
commit 40a8d659d9649b56532478a6f582b894d39994e9
Author: Gary Gregory <[email protected]>
AuthorDate: Sun Jan 22 11:50:33 2023 -0500
Use try-with-resources
- Use JUnit 5 API
- Type case not
- Javadoc
---
.../datasources/TestPerUserPoolDataSource.java | 2 +-
.../datasources/TestSharedPoolDataSource.java | 6 +-
.../dbcp2/managed/TestBasicManagedDataSource.java | 8 +-
.../dbcp2/managed/TestManagedConnection.java | 16 +---
.../dbcp2/managed/TestManagedDataSource.java | 22 ++---
.../dbcp2/managed/TestManagedDataSourceInTx.java | 97 +++++++++++-----------
.../dbcp2/managed/TestSynchronizationOrder.java | 10 ++-
.../dbcp2/managed/TestTransactionContext.java | 6 +-
8 files changed, 77 insertions(+), 90 deletions(-)
diff --git
a/src/test/java/org/apache/commons/dbcp2/datasources/TestPerUserPoolDataSource.java
b/src/test/java/org/apache/commons/dbcp2/datasources/TestPerUserPoolDataSource.java
index d68fbd56..ed0e0211 100644
---
a/src/test/java/org/apache/commons/dbcp2/datasources/TestPerUserPoolDataSource.java
+++
b/src/test/java/org/apache/commons/dbcp2/datasources/TestPerUserPoolDataSource.java
@@ -1548,7 +1548,7 @@ public class TestPerUserPoolDataSource extends
TestConnectionPool {
final Object obj = in.readObject();
in.close();
- assertEquals( 1, ((PerUserPoolDataSource)obj).getNumIdle() );
+ assertEquals(1, ((PerUserPoolDataSource) obj).getNumIdle());
}
@Override
diff --git
a/src/test/java/org/apache/commons/dbcp2/datasources/TestSharedPoolDataSource.java
b/src/test/java/org/apache/commons/dbcp2/datasources/TestSharedPoolDataSource.java
index ee7fd08d..1df4b1df 100644
---
a/src/test/java/org/apache/commons/dbcp2/datasources/TestSharedPoolDataSource.java
+++
b/src/test/java/org/apache/commons/dbcp2/datasources/TestSharedPoolDataSource.java
@@ -669,11 +669,7 @@ public class TestSharedPoolDataSource extends
TestConnectionPool {
}
conn.close();
- try (Statement s = conn.createStatement()) {
- fail("Can't use closed connections");
- } catch (final SQLException e) {
- // expected
- }
+ assertThrows(SQLException.class, () -> conn.createStatement(),
"Can't use closed connections");
}
try (Connection conn = ds.getConnection()) {
assertNotNull(conn);
diff --git
a/src/test/java/org/apache/commons/dbcp2/managed/TestBasicManagedDataSource.java
b/src/test/java/org/apache/commons/dbcp2/managed/TestBasicManagedDataSource.java
index 984135f1..9383fec6 100644
---
a/src/test/java/org/apache/commons/dbcp2/managed/TestBasicManagedDataSource.java
+++
b/src/test/java/org/apache/commons/dbcp2/managed/TestBasicManagedDataSource.java
@@ -95,12 +95,8 @@ public class TestBasicManagedDataSource extends
TestBasicDataSource {
final ManagedConnection<?> conn2 = (ManagedConnection<?>)
basicManagedDataSource.getConnection();
conn2.close(); // Return one connection to the pool
conn.close(); // No room at the inn - this will trigger
reallyClose(), which should unregister
- try {
-
basicManagedDataSource.getTransactionRegistry().getXAResource(conn);
- fail("Expecting SQLException - XAResources orphaned");
- } catch (final SQLException ex) {
- // expected
- }
+ assertThrows(SQLException.class, () ->
basicManagedDataSource.getTransactionRegistry().getXAResource(conn),
+ "Expecting SQLException - XAResources orphaned");
conn2.close();
}
}
diff --git
a/src/test/java/org/apache/commons/dbcp2/managed/TestManagedConnection.java
b/src/test/java/org/apache/commons/dbcp2/managed/TestManagedConnection.java
index c74beeac..81ae29e4 100644
--- a/src/test/java/org/apache/commons/dbcp2/managed/TestManagedConnection.java
+++ b/src/test/java/org/apache/commons/dbcp2/managed/TestManagedConnection.java
@@ -18,6 +18,7 @@
package org.apache.commons.dbcp2.managed;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import java.lang.reflect.Field;
import java.sql.Connection;
@@ -36,7 +37,6 @@ import javax.transaction.xa.XAResource;
import org.apache.commons.dbcp2.ConnectionFactory;
import org.apache.commons.dbcp2.Constants;
-import org.apache.commons.dbcp2.DelegatingConnection;
import org.apache.commons.dbcp2.DriverConnectionFactory;
import org.apache.commons.dbcp2.PoolableConnection;
import org.apache.commons.dbcp2.PoolableConnectionFactory;
@@ -156,8 +156,7 @@ public class TestManagedConnection {
}
@BeforeEach
- public void setUp()
- throws Exception {
+ public void setUp() throws Exception {
// create a GeronimoTransactionManager for testing
transactionManager = new TransactionManagerImpl();
@@ -194,17 +193,10 @@ public class TestManagedConnection {
}
@Test
- public void testConnectionReturnOnErrorWhenEnlistingXAResource()
- throws Exception {
+ public void testConnectionReturnOnErrorWhenEnlistingXAResource() throws
Exception {
// see DBCP-433
-
transactionManager.begin();
- try {
- final DelegatingConnection<?> connectionA =
(DelegatingConnection<?>) getConnection();
- connectionA.close();
- } catch (final SQLException e) {
- // expected
- }
+ assertThrows(SQLException.class, () -> getConnection());
transactionManager.commit();
assertEquals(1, pool.getBorrowedCount());
// assertEquals(1, pool.getReturnedCount());
diff --git
a/src/test/java/org/apache/commons/dbcp2/managed/TestManagedDataSource.java
b/src/test/java/org/apache/commons/dbcp2/managed/TestManagedDataSource.java
index 58336525..12382821 100644
--- a/src/test/java/org/apache/commons/dbcp2/managed/TestManagedDataSource.java
+++ b/src/test/java/org/apache/commons/dbcp2/managed/TestManagedDataSource.java
@@ -124,7 +124,7 @@ public class TestManagedDataSource extends
TestConnectionPool {
@Test
public void testConnectionReturnOnCommit() throws Exception {
transactionManager.begin();
- try (final DelegatingConnection<?> connectionA =
(DelegatingConnection<?>) newConnection()) {
+ try (DelegatingConnection<?> connectionA = (DelegatingConnection<?>)
newConnection()) {
// auto close.
}
transactionManager.commit();
@@ -136,7 +136,8 @@ public class TestManagedDataSource extends
TestConnectionPool {
@Test
public void testManagedConnectionEqualInnermost() throws Exception {
ds.setAccessToUnderlyingConnectionAllowed(true);
- try (final DelegatingConnection<?> con = (DelegatingConnection<?>)
getConnection()) {
+ try (DelegatingConnection<?> con = (DelegatingConnection<?>)
getConnection()) {
+ @SuppressWarnings("resource")
final Connection inner = con.getInnermostDelegate();
ds.setAccessToUnderlyingConnectionAllowed(false);
final DelegatingConnection<Connection> con2 = new
DelegatingConnection<>(inner);
@@ -149,14 +150,14 @@ public class TestManagedDataSource extends
TestConnectionPool {
@Test
public void testManagedConnectionEqualsFail() throws Exception {
- try (final Connection con1 = getConnection(); final Connection con2 =
getConnection()) {
+ try (Connection con1 = getConnection(); final Connection con2 =
getConnection()) {
assertNotEquals(con1, con2);
}
}
@Test
public void testManagedConnectionEqualsNull() throws Exception {
- try (final Connection con1 = getConnection()) {
+ try (Connection con1 = getConnection()) {
final Connection con2 = null;
assertNotEquals(con2, con1);
}
@@ -167,7 +168,8 @@ public class TestManagedDataSource extends
TestConnectionPool {
*/
@Test
public void testManagedConnectionEqualsReflexive() throws Exception {
- try (final Connection con = getConnection()) {
+ try (Connection con = getConnection()) {
+ @SuppressWarnings("resource")
final Connection con2 = con;
assertEquals(con2, con);
assertEquals(con, con2);
@@ -186,7 +188,7 @@ public class TestManagedDataSource extends
TestConnectionPool {
// Grab a new connection - should get c[0]'s closed connection
// so should be delegate-equivalent
- try (final Connection con = newConnection()) {
+ try (Connection con = newConnection()) {
Assertions.assertNotEquals(c[0], con);
Assertions.assertEquals(((DelegatingConnection<?>)
c[0]).getInnermostDelegateInternal(),
((DelegatingConnection<?>)
con).getInnermostDelegateInternal());
@@ -210,7 +212,7 @@ public class TestManagedDataSource extends
TestConnectionPool {
ds.setAccessToUnderlyingConnectionAllowed(false);
// Grab a new connection - should get c[0]'s closed connection
// so should be delegate-equivalent
- try (final Connection con = newConnection()) {
+ try (Connection con = newConnection()) {
Assertions.assertNotEquals(c[0], con);
Assertions.assertEquals(((DelegatingConnection<?>)
c[0]).getInnermostDelegateInternal(),
((DelegatingConnection<?>)
con).getInnermostDelegateInternal());
@@ -223,7 +225,7 @@ public class TestManagedDataSource extends
TestConnectionPool {
@Test
public void testManagedConnectionEqualsType() throws Exception {
- try (final Connection con1 = getConnection()) {
+ try (Connection con1 = getConnection()) {
final Integer con2 = 0;
assertNotEquals(con2, con1);
}
@@ -232,7 +234,7 @@ public class TestManagedDataSource extends
TestConnectionPool {
@Test
public void testNestedConnections() throws Exception {
transactionManager.begin();
- try (final Connection c1 = newConnection(); final Connection c2 =
newConnection()) {
+ try (Connection c1 = newConnection(); final Connection c2 =
newConnection()) {
transactionManager.commit();
}
}
@@ -262,7 +264,7 @@ public class TestManagedDataSource extends
TestConnectionPool {
*/
@Test
public void testSharedConnection() throws Exception {
- try (final DelegatingConnection<?> connectionA =
(DelegatingConnection<?>) newConnection();
+ try (DelegatingConnection<?> connectionA = (DelegatingConnection<?>)
newConnection();
final DelegatingConnection<?> connectionB =
(DelegatingConnection<?>) newConnection()) {
assertNotEquals(connectionA, connectionB);
assertNotEquals(connectionB, connectionA);
diff --git
a/src/test/java/org/apache/commons/dbcp2/managed/TestManagedDataSourceInTx.java
b/src/test/java/org/apache/commons/dbcp2/managed/TestManagedDataSourceInTx.java
index d6db5efb..7a91b951 100644
---
a/src/test/java/org/apache/commons/dbcp2/managed/TestManagedDataSourceInTx.java
+++
b/src/test/java/org/apache/commons/dbcp2/managed/TestManagedDataSourceInTx.java
@@ -55,32 +55,33 @@ public class TestManagedDataSourceInTx extends
TestManagedDataSource {
assertSame(conn, statement.getConnection(),
"statement.getConnection() should return the exact same
connection instance that was used to create the statement");
- final ResultSet resultSet = statement.getResultSet();
- assertFalse(isClosed(resultSet));
- assertSame(statement, resultSet.getStatement(),
- "resultSet.getStatement() should return the exact same
statement instance that was used to create the result set");
-
- final ResultSet executeResultSet = statement.executeQuery("select *
from dual");
- assertFalse(isClosed(executeResultSet));
- assertSame(statement, executeResultSet.getStatement(),
- "resultSet.getStatement() should return the exact same
statement instance that was used to create the result set");
-
- final ResultSet keysResultSet = statement.getGeneratedKeys();
- assertFalse(isClosed(keysResultSet));
- assertSame(statement, keysResultSet.getStatement(),
- "resultSet.getStatement() should return the exact same
statement instance that was used to create the result set");
-
- ResultSet preparedResultSet = null;
- if (statement instanceof PreparedStatement) {
- final PreparedStatement preparedStatement = (PreparedStatement)
statement;
- preparedResultSet = preparedStatement.executeQuery();
- assertFalse(isClosed(preparedResultSet));
- assertSame(statement, preparedResultSet.getStatement(),
+ try (ResultSet resultSet = statement.getResultSet()) {
+ assertFalse(isClosed(resultSet));
+ assertSame(statement, resultSet.getStatement(),
"resultSet.getStatement() should return the exact same
statement instance that was used to create the result set");
- }
+ try (ResultSet executeResultSet = statement.executeQuery("select *
from dual")) {
+ assertFalse(isClosed(executeResultSet));
+ assertSame(statement, executeResultSet.getStatement(),
+ "resultSet.getStatement() should return the exact same
statement instance that was used to create the result set");
+ }
+
+ try (ResultSet keysResultSet = statement.getGeneratedKeys()) {
+ assertFalse(isClosed(keysResultSet));
+ assertSame(statement, keysResultSet.getStatement(),
+ "resultSet.getStatement() should return the exact same
statement instance that was used to create the result set");
+ }
+ if (statement instanceof PreparedStatement) {
+ final PreparedStatement preparedStatement =
(PreparedStatement) statement;
+ try (ResultSet preparedResultSet =
preparedStatement.executeQuery()) {
+ assertFalse(isClosed(preparedResultSet));
+ assertSame(statement, preparedResultSet.getStatement(),
+ "resultSet.getStatement() should return the exact
same statement instance that was used to create the result set");
+ }
+ }
- resultSet.getStatement().getConnection().close();
+ resultSet.getStatement().getConnection().close();
+ }
}
@Override
@@ -148,22 +149,19 @@ public class TestManagedDataSourceInTx extends
TestManagedDataSource {
assertNotNull(sharedConnection.getWarnings());
statement.close();
- connection.close();
sharedConnection.close();
+ connection.close();
}
@Test
public void testCloseInTransaction() throws Exception {
- final DelegatingConnection<?> connectionA = (DelegatingConnection<?>)
newConnection();
- final DelegatingConnection<?> connectionB = (DelegatingConnection<?>)
newConnection();
-
- assertNotEquals(connectionA, connectionB);
- assertNotEquals(connectionB, connectionA);
-
assertTrue(connectionA.innermostDelegateEquals(connectionB.getInnermostDelegate()));
-
assertTrue(connectionB.innermostDelegateEquals(connectionA.getInnermostDelegate()));
-
- connectionA.close();
- connectionB.close();
+ try (DelegatingConnection<?> connectionA = (DelegatingConnection<?>)
newConnection();
+ DelegatingConnection<?> connectionB =
(DelegatingConnection<?>) newConnection()) {
+ assertNotEquals(connectionA, connectionB);
+ assertNotEquals(connectionB, connectionA);
+
assertTrue(connectionA.innermostDelegateEquals(connectionB.getInnermostDelegate()));
+
assertTrue(connectionB.innermostDelegateEquals(connectionA.getInnermostDelegate()));
+ }
final Connection connection = newConnection();
@@ -176,24 +174,23 @@ public class TestManagedDataSourceInTx extends
TestManagedDataSource {
@Test
public void testCommit() throws Exception {
- final Connection connection = newConnection();
+ try (Connection connection = newConnection()) {
- // connection should be open
- assertFalse(connection.isClosed(), "Connection should be open");
+ // connection should be open
+ assertFalse(connection.isClosed(), "Connection should be open");
- // attempt commit directly
- try {
- connection.commit();
- fail("commit method should be disabled while enlisted in a
transaction");
- } catch (final SQLException e) {
- // expected
- }
+ // attempt commit directly
+ try {
+ connection.commit();
+ fail("commit method should be disabled while enlisted in a
transaction");
+ } catch (final SQLException e) {
+ // expected
+ }
- // make sure it is still open
- assertFalse(connection.isClosed(), "Connection should be open");
+ // make sure it is still open
+ assertFalse(connection.isClosed(), "Connection should be open");
- // close connection
- connection.close();
+ }
}
@Override
@@ -206,9 +203,9 @@ public class TestManagedDataSourceInTx extends
TestManagedDataSource {
@Test
public void testConnectionsAreDistinct() throws Exception {
final Connection[] conn = new Connection[getMaxTotal()];
- for(int i=0;i<conn.length;i++) {
+ for (int i = 0; i < conn.length; i++) {
conn[i] = newConnection();
- for(int j=0;j<i;j++) {
+ for (int j = 0; j < i; j++) {
// two connections should be distinct instances
Assertions.assertNotSame(conn[j], conn[i]);
// neither should they should be equivalent even though they
are
diff --git
a/src/test/java/org/apache/commons/dbcp2/managed/TestSynchronizationOrder.java
b/src/test/java/org/apache/commons/dbcp2/managed/TestSynchronizationOrder.java
index 70efc9c0..cb38b58c 100644
---
a/src/test/java/org/apache/commons/dbcp2/managed/TestSynchronizationOrder.java
+++
b/src/test/java/org/apache/commons/dbcp2/managed/TestSynchronizationOrder.java
@@ -184,8 +184,9 @@ public class TestSynchronizationOrder {
ds.setAccessToUnderlyingConnectionAllowed(true);
transactionManager.begin();
- try (final DelegatingConnection<?> connectionA =
(DelegatingConnection<?>) ds.getConnection()) {
- // Close right away.
+ try (final Connection connectionA = ds.getConnection()) {
+ // Check and close right away.
+ assertTrue(connectionA instanceof DelegatingConnection);
}
transactionManager.commit();
assertFalse(transactionManagerRegistered);
@@ -216,8 +217,9 @@ public class TestSynchronizationOrder {
ds.setAccessToUnderlyingConnectionAllowed(true);
transactionManager.begin();
- try (final DelegatingConnection<?> connectionA =
(DelegatingConnection<?>) ds.getConnection()) {
- // close right away.
+ try (final Connection connectionA = ds.getConnection()) {
+ // Check and close right away.
+ assertTrue(connectionA instanceof DelegatingConnection);
}
transactionManager.commit();
assertTrue(transactionManagerRegistered);
diff --git
a/src/test/java/org/apache/commons/dbcp2/managed/TestTransactionContext.java
b/src/test/java/org/apache/commons/dbcp2/managed/TestTransactionContext.java
index 2e690430..0ef404e1 100644
--- a/src/test/java/org/apache/commons/dbcp2/managed/TestTransactionContext.java
+++ b/src/test/java/org/apache/commons/dbcp2/managed/TestTransactionContext.java
@@ -18,6 +18,7 @@
package org.apache.commons.dbcp2.managed;
import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.sql.Connection;
import java.sql.SQLException;
@@ -29,7 +30,7 @@ import
org.apache.geronimo.transaction.manager.TransactionManagerImpl;
import org.junit.jupiter.api.Test;
/**
- * TestSuite for TransactionContext
+ * TestSuite for {@link TransactionContext}.
*/
public class TestTransactionContext {
@@ -60,7 +61,8 @@ public class TestTransactionContext {
basicManagedDataSource.setUsername("userName");
basicManagedDataSource.setPassword("password");
basicManagedDataSource.setMaxIdle(1);
- try (final ManagedConnection<?> conn =
(ManagedConnection<Connection>) basicManagedDataSource.getConnection()) {
+ try (final Connection conn =
basicManagedDataSource.getConnection()) {
+ assertTrue(conn instanceof ManagedConnection);
final UncooperativeTransaction transaction = new
UncooperativeTransaction();
final TransactionContext transactionContext = new
TransactionContext(basicManagedDataSource.getTransactionRegistry(),
transaction);
assertThrows(SQLException.class, () ->
transactionContext.setSharedConnection(conn));