@Test public void testIdempotentCloseAndException() throws SQLException { MockConnectionPoolDataSource mockConnectionPoolDataSource = new MockConnectionPoolDataSource(); ManagedDataSource dataSource = new MockManagedDataSource(1, new Duration(10, MILLISECONDS)); mockConnectionPoolDataSource.closeException = new SQLException(); assertEquals(dataSource.getConnectionsActive(), 0); MockConnection connection = (MockConnection) dataSource.getConnection(); assertNotNull(connection); assertEquals(dataSource.getConnectionsActive(), 1); for (int i = 0; i < 10; i++) { connection.close(); assertEquals(dataSource.getConnectionsActive(), 0); connection.errorOccurred(); assertEquals(dataSource.getConnectionsActive(), 0); } }
@Test public void testConnectionException() throws Exception { ManagedDataSource dataSource = new MockManagedDataSource(1, new Duration(10, MILLISECONDS)); MockConnection connection = (MockConnection) dataSource.getConnection(); assertNotNull(connection); assertEquals(dataSource.getConnectionsActive(), 1); connection.errorOccurred(); assertEquals(dataSource.getConnectionsActive(), 0); }
@Test public void testConnectionException() throws Exception { ManagedDataSource dataSource = new MockManagedDataSource(1, new Duration(10, MILLISECONDS)); MockConnection connection = (MockConnection) dataSource.getConnection(); assertNotNull(connection); assertEquals(dataSource.getConnectionsActive(), 1); connection.errorOccurred(); assertEquals(dataSource.getConnectionsActive(), 0); }
@Test public void testIdempotentCloseAndException() throws SQLException { MockConnectionPoolDataSource mockConnectionPoolDataSource = new MockConnectionPoolDataSource(); ManagedDataSource dataSource = new MockManagedDataSource(1, new Duration(10, MILLISECONDS)); mockConnectionPoolDataSource.closeException = new SQLException(); assertEquals(dataSource.getConnectionsActive(), 0); MockConnection connection = (MockConnection) dataSource.getConnection(); assertNotNull(connection); assertEquals(dataSource.getConnectionsActive(), 1); for (int i = 0; i < 10; i++) { connection.close(); assertEquals(dataSource.getConnectionsActive(), 0); connection.errorOccurred(); assertEquals(dataSource.getConnectionsActive(), 0); } }
@Test public void testCloseException() throws SQLException { MockConnectionPoolDataSource mockConnectionPoolDataSource = new MockConnectionPoolDataSource(); ManagedDataSource dataSource = new MockManagedDataSource(1, new Duration(10, MILLISECONDS)); mockConnectionPoolDataSource.closeException = new SQLException(); assertEquals(dataSource.getConnectionsActive(), 0); MockConnection connection = (MockConnection) dataSource.getConnection(); assertNotNull(connection); assertEquals(dataSource.getConnectionsActive(), 1); connection.close(); assertEquals(dataSource.getConnectionsActive(), 0); connection = (MockConnection) dataSource.getConnection(); assertNotNull(connection); assertEquals(dataSource.getConnectionsActive(), 1); connection.close(); assertEquals(dataSource.getConnectionsActive(), 0); connection.errorOccurred(); assertEquals(dataSource.getConnectionsActive(), 0); }
@Test public void testCloseException() throws SQLException { MockConnectionPoolDataSource mockConnectionPoolDataSource = new MockConnectionPoolDataSource(); ManagedDataSource dataSource = new MockManagedDataSource(1, new Duration(10, MILLISECONDS)); mockConnectionPoolDataSource.closeException = new SQLException(); assertEquals(dataSource.getConnectionsActive(), 0); MockConnection connection = (MockConnection) dataSource.getConnection(); assertNotNull(connection); assertEquals(dataSource.getConnectionsActive(), 1); connection.close(); assertEquals(dataSource.getConnectionsActive(), 0); connection = (MockConnection) dataSource.getConnection(); assertNotNull(connection); assertEquals(dataSource.getConnectionsActive(), 1); connection.close(); assertEquals(dataSource.getConnectionsActive(), 0); connection.errorOccurred(); assertEquals(dataSource.getConnectionsActive(), 0); }
@Test public void testCreateException() { MockConnectionPoolDataSource mockConnectionPoolDataSource = new MockConnectionPoolDataSource(); ManagedDataSource dataSource = new MockManagedDataSource(mockConnectionPoolDataSource, 1, new Duration(10, MILLISECONDS)); mockConnectionPoolDataSource.createException = new SQLException(); assertEquals(dataSource.getConnectionsActive(), 0); try { dataSource.getConnection(); fail("expected SQLException"); } catch (SQLException e) { assertSame(e, mockConnectionPoolDataSource.createException); } assertEquals(dataSource.getConnectionsActive(), 0); }
@Test public void testCreateException() { MockConnectionPoolDataSource mockConnectionPoolDataSource = new MockConnectionPoolDataSource(); ManagedDataSource dataSource = new MockManagedDataSource(mockConnectionPoolDataSource, 1, new Duration(10, MILLISECONDS)); mockConnectionPoolDataSource.createException = new SQLException(); assertEquals(dataSource.getConnectionsActive(), 0); try { dataSource.getConnection(); fail("expected SQLException"); } catch (SQLException e) { assertSame(e, mockConnectionPoolDataSource.createException); } assertEquals(dataSource.getConnectionsActive(), 0); }
@Test public void testIdempotentClose() throws Exception { ManagedDataSource dataSource = new MockManagedDataSource(10, new Duration(10, MILLISECONDS)); List<MockConnection> connections = new ArrayList<>(); for (int i = 0; i < 10; i++) { MockConnection connection = (MockConnection) dataSource.getConnection(); assertNotNull(connection); connections.add(connection); } assertEquals(dataSource.getConnectionsActive(), 10); // close connections in a random order Collections.shuffle(connections); int closedCount = 0; for (MockConnection connection : connections) { closedCount++; for (int j = 0; j < 7; j++) { connection.close(); assertEquals(dataSource.getConnectionsActive(), 10 - closedCount); } } }
@Test public void testIdempotentClose() throws Exception { ManagedDataSource dataSource = new MockManagedDataSource(10, new Duration(10, MILLISECONDS)); List<MockConnection> connections = new ArrayList<>(); for (int i = 0; i < 10; i++) { MockConnection connection = (MockConnection) dataSource.getConnection(); assertNotNull(connection); connections.add(connection); } assertEquals(dataSource.getConnectionsActive(), 10); // close connections in a random order Collections.shuffle(connections); int closedCount = 0; for (MockConnection connection : connections) { closedCount++; for (int j = 0; j < 7; j++) { connection.close(); assertEquals(dataSource.getConnectionsActive(), 10 - closedCount); } } }
assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 0);
assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 0);
assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 3); assertEquals(dataSource.getConnectionsActive(), 3); assertEquals(dataSource.getConnectionsActive(), 3); assertEquals(dataSource.getConnectionsActive(), 2); try { dataSource.getConnection(); assertEquals(dataSource.getConnectionsActive(), 2); assertEquals(dataSource.getConnectionsActive(), 2); connection.close(); assertEquals(dataSource.getConnectionsActive(), 0);
assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 3); assertEquals(dataSource.getConnectionsActive(), 3); assertEquals(dataSource.getConnectionsActive(), 3); assertEquals(dataSource.getConnectionsActive(), 2); try { dataSource.getConnection(); assertEquals(dataSource.getConnectionsActive(), 2); assertEquals(dataSource.getConnectionsActive(), 2); connection.close(); assertEquals(dataSource.getConnectionsActive(), 0);
assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 0);
assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getConnectionsActive(), 0);
@Test public void testBasic() throws Exception { ManagedDataSource dataSource = new MockManagedDataSource(1, new Duration(10, MILLISECONDS)); assertEquals(dataSource.getConnectionsActive(), 0); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); Connection connection = dataSource.getConnection(); assertNotNull(connection); assertTrue(connection instanceof MockConnection); assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); connection.close(); assertEquals(dataSource.getConnectionsActive(), 0); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); }
@Test public void testBasic() throws Exception { ManagedDataSource dataSource = new MockManagedDataSource(1, new Duration(10, MILLISECONDS)); assertEquals(dataSource.getConnectionsActive(), 0); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); Connection connection = dataSource.getConnection(); assertNotNull(connection); assertTrue(connection instanceof MockConnection); assertEquals(dataSource.getConnectionsActive(), 1); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 0.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); connection.close(); assertEquals(dataSource.getConnectionsActive(), 0); assertEquals(dataSource.getStats().getCheckout().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getCreate().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getHeld().getAllTime().getCount(), 1.0); assertEquals(dataSource.getStats().getConnectionErrorCount(), 0); }