package org.testcontainers.containers;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.junit.Test;
import java.sql.ResultSet;
import java.sql.SQLException;
import static org.rnorth.visibleassertions.VisibleAssertions.assertEquals;
/**
* @author gusohal
*/
public class OracleJDBCDriverTest {
@Test
public void testOracleWithNoSpecifiedVersion() throws SQLException {
performSimpleTest("jdbc:tc:oracle://hostname/databasename");
}
private void performSimpleTest(String jdbcUrl) throws SQLException {
HikariDataSource dataSource = getDataSource(jdbcUrl, 1);
new QueryRunner(dataSource).query("SELECT 1 FROM dual", new ResultSetHandler<Object>() {
@Override
public Object handle(ResultSet rs) throws SQLException {
rs.next();
int resultSetInt = rs.getInt(1);
assertEquals("A basic SELECT query succeeds", 1, resultSetInt);
return true;
}
});
dataSource.close();
}
private HikariDataSource getDataSource(String jdbcUrl, int poolSize) {
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setJdbcUrl(jdbcUrl);
hikariConfig.setConnectionTestQuery("SELECT 1 FROM dual");
hikariConfig.setMinimumIdle(1);
hikariConfig.setMaximumPoolSize(poolSize);
return new HikariDataSource(hikariConfig);
}
}