use of com.alibaba.druid.mock.MockConnection in project druid by alibaba.
the class FilterChainImplTest3 method setUp.
protected void setUp() throws Exception {
dataSource = new DruidDataSource();
dataSource.setUrl("jdbc:mock:xxx");
dataSource.setFilters("stat,log4j,wall,encoding");
dataSource.getProxyFilters().add(new FilterAdapter() {
});
dataSource.setDbType("mysql");
dataSource.setDriver(new MockDriver() {
public ResultSet executeQuery(MockStatementBase stmt, String sql) throws SQLException {
return null;
}
public MockStatement createMockStatement(MockConnection conn) {
return new MockStatement(conn) {
public ResultSet getResultSet() throws SQLException {
return null;
}
};
}
});
dataSource.init();
}
use of com.alibaba.druid.mock.MockConnection in project druid by alibaba.
the class CallableStatmentTest method setUp.
protected void setUp() throws Exception {
dataSource = new DruidDataSource();
dataSource.setUrl("jdbc:mock:xxx");
dataSource.setTestOnBorrow(false);
dataSource.setPoolPreparedStatements(true);
dataSource.setMaxOpenPreparedStatements(100);
dataSource.setFilters("log4j");
dataSource.setDriver(new MockDriver() {
public MockCallableStatement createMockCallableStatement(MockConnection conn, String sql) {
return new MyMockCallableStatement(conn, sql);
}
});
}
use of com.alibaba.druid.mock.MockConnection in project druid by alibaba.
the class ExceptionSorterTest method test_exceptionSorter.
public void test_exceptionSorter() throws Exception {
Assert.assertTrue(dataSource.getExceptionSorterClassName(), dataSource.getExceptionSorter() instanceof MockExceptionSorter);
Connection conn = dataSource.getConnection();
MockConnection mockConn = conn.unwrap(MockConnection.class);
PreparedStatement stmt = conn.prepareStatement("select 1");
stmt.execute();
mockConn.close();
Exception stmtClosedError = null;
try {
stmt.close();
} catch (Exception ex) {
stmtClosedError = ex;
}
Assert.assertNotNull(stmtClosedError);
conn.close();
}
use of com.alibaba.druid.mock.MockConnection in project druid by alibaba.
the class SavepointTest method test_multi_savepoint.
public void test_multi_savepoint() throws Exception {
Connection conn = dataSource.getConnection();
MockConnection physicalConn = conn.unwrap(MockConnection.class);
Assert.assertEquals(true, conn.getAutoCommit());
Assert.assertEquals(true, physicalConn.getAutoCommit());
conn.setAutoCommit(false);
Assert.assertEquals(false, conn.getAutoCommit());
Assert.assertEquals(false, physicalConn.getAutoCommit());
Savepoint[] savepoints = new Savepoint[100];
for (int i = 0; i < savepoints.length; ++i) {
Statement stmt = conn.createStatement();
stmt.execute("insert t (" + i + ")");
stmt.close();
savepoints[i] = conn.setSavepoint();
Assert.assertEquals(i + 1, physicalConn.getSavepoints().size());
for (int j = 0; j <= i; ++j) {
Assert.assertTrue(physicalConn.getSavepoints().contains(savepoints[j]));
}
}
// rollback single
conn.rollback(savepoints[99]);
Assert.assertEquals(99, physicalConn.getSavepoints().size());
// release single
conn.releaseSavepoint(savepoints[97]);
Assert.assertEquals(98, physicalConn.getSavepoints().size());
// rollback multi
conn.rollback(savepoints[90]);
Assert.assertEquals(90, physicalConn.getSavepoints().size());
// rollback all
conn.rollback();
Assert.assertEquals(0, physicalConn.getSavepoints().size());
conn.close();
}
use of com.alibaba.druid.mock.MockConnection in project druid by alibaba.
the class OracleExceptionSorterTest_stmt_executeUpdate_3 method test_connect.
public void test_connect() throws Exception {
String sql = "SELECT 1";
{
DruidPooledConnection conn = dataSource.getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.execute();
pstmt.close();
conn.close();
}
DruidPooledConnection conn = dataSource.getConnection();
MockConnection mockConn = conn.unwrap(MockConnection.class);
Assert.assertNotNull(mockConn);
Statement stmt = conn.createStatement();
SQLException exception = new SQLException("xx", "xxx", 28);
mockConn.setError(exception);
SQLException execErrror = null;
try {
stmt.executeUpdate(sql, new String[0]);
} catch (SQLException ex) {
execErrror = ex;
}
Assert.assertNotNull(execErrror);
Assert.assertSame(exception, execErrror);
SQLException commitError = null;
try {
conn.commit();
} catch (SQLException ex) {
commitError = ex;
}
Assert.assertNotNull(commitError);
Assert.assertSame(exception, commitError.getCause());
conn.close();
}
Aggregations