1
package org.testcontainers.containers;
4
import org.testcontainers.db.AbstractContainerDatabaseTest;
6
import java.sql.ResultSet;
7
import java.sql.SQLException;
9
import static org.assertj.core.api.Assertions.assertThat;
11
public class TimescaleDBContainerTest extends AbstractContainerDatabaseTest {
14
public void testSimple() throws SQLException {
15
try (JdbcDatabaseContainer<?> postgres = new TimescaleDBContainerProvider().newInstance()) {
18
ResultSet resultSet = performQuery(postgres, "SELECT 1");
19
int resultSetInt = resultSet.getInt(1);
20
assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1);
25
public void testCommandOverride() throws SQLException {
27
GenericContainer<?> postgres = new TimescaleDBContainerProvider()
29
.withCommand("postgres -c max_connections=42")
33
ResultSet resultSet = performQuery(
34
(JdbcDatabaseContainer<?>) postgres,
35
"SELECT current_setting('max_connections')"
37
String result = resultSet.getString(1);
38
assertThat(result).as("max_connections should be overriden").isEqualTo("42");
43
public void testUnsetCommand() throws SQLException {
45
GenericContainer<?> postgres = new TimescaleDBContainerProvider()
47
.withCommand("postgres -c max_connections=42")
52
ResultSet resultSet = performQuery(
53
(JdbcDatabaseContainer<?>) postgres,
54
"SELECT current_setting('max_connections')"
56
String result = resultSet.getString(1);
57
assertThat(result).as("max_connections should not be overriden").isNotEqualTo("42");
62
public void testExplicitInitScript() throws SQLException {
64
JdbcDatabaseContainer<?> postgres = new TimescaleDBContainerProvider()
66
.withInitScript("somepath/init_timescaledb.sql")
70
ResultSet resultSet = performQuery(postgres, "SELECT foo FROM bar");
72
String firstColumnValue = resultSet.getString(1);
73
assertThat(firstColumnValue).as("Value from init script should equal real value").isEqualTo("hello world");