|
| 1 | +package org.sql2o.extensions.postgres; |
| 2 | + |
| 3 | +import com.zaxxer.hikari.HikariConfig; |
| 4 | +import com.zaxxer.hikari.HikariDataSource; |
| 5 | +import org.junit.jupiter.api.BeforeEach; |
| 6 | +import org.junit.jupiter.api.Test; |
| 7 | +import org.sql2o.Sql2o; |
| 8 | + |
| 9 | +public class DataSourceTest { |
| 10 | + |
| 11 | + private Sql2o sql2o; |
| 12 | + |
| 13 | + @BeforeEach |
| 14 | + void setUp() { |
| 15 | + var dsConfig = new HikariConfig(); |
| 16 | + dsConfig.setDataSourceClassName("org.postgresql.ds.PGSimpleDataSource"); |
| 17 | + dsConfig.addDataSourceProperty("serverName", "localhost"); |
| 18 | + dsConfig.addDataSourceProperty("portNumber", 15432); |
| 19 | + dsConfig.addDataSourceProperty("databaseName", "postgres"); |
| 20 | + dsConfig.addDataSourceProperty("user", "testuser"); |
| 21 | + dsConfig.addDataSourceProperty("password", "testpassword"); |
| 22 | + dsConfig.setMaximumPoolSize(5); |
| 23 | + dsConfig.setSchema("public"); |
| 24 | + |
| 25 | + // this is important to test, as it make the data source automatically open a connection when a connection is |
| 26 | + // created. This might break some functionality of sql2o. |
| 27 | + dsConfig.setAutoCommit(false); |
| 28 | + dsConfig.setReadOnly(false); |
| 29 | + |
| 30 | + var ds = new HikariDataSource(dsConfig); |
| 31 | + sql2o = new Sql2o(ds); |
| 32 | + } |
| 33 | + |
| 34 | + @Test |
| 35 | + void testQueryUsingHikariDataSource() { |
| 36 | + try (var con = sql2o.beginTransaction()) { |
| 37 | + var result = con.createQuery("SELECT 1").executeScalar(Integer.class); |
| 38 | + System.out.println(result); |
| 39 | + } |
| 40 | + } |
| 41 | +} |
0 commit comments