testcontainers-java

Форк
0
76 строк · 2.6 Кб
1
package org.testcontainers.containers;
2

3
import org.junit.Test;
4
import org.testcontainers.db.AbstractContainerDatabaseTest;
5

6
import java.sql.ResultSet;
7
import java.sql.SQLException;
8

9
import static org.assertj.core.api.Assertions.assertThat;
10

11
public class TimescaleDBContainerTest extends AbstractContainerDatabaseTest {
12

13
    @Test
14
    public void testSimple() throws SQLException {
15
        try (JdbcDatabaseContainer<?> postgres = new TimescaleDBContainerProvider().newInstance()) {
16
            postgres.start();
17

18
            ResultSet resultSet = performQuery(postgres, "SELECT 1");
19
            int resultSetInt = resultSet.getInt(1);
20
            assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1);
21
        }
22
    }
23

24
    @Test
25
    public void testCommandOverride() throws SQLException {
26
        try (
27
            GenericContainer<?> postgres = new TimescaleDBContainerProvider()
28
                .newInstance()
29
                .withCommand("postgres -c max_connections=42")
30
        ) {
31
            postgres.start();
32

33
            ResultSet resultSet = performQuery(
34
                (JdbcDatabaseContainer<?>) postgres,
35
                "SELECT current_setting('max_connections')"
36
            );
37
            String result = resultSet.getString(1);
38
            assertThat(result).as("max_connections should be overriden").isEqualTo("42");
39
        }
40
    }
41

42
    @Test
43
    public void testUnsetCommand() throws SQLException {
44
        try (
45
            GenericContainer<?> postgres = new TimescaleDBContainerProvider()
46
                .newInstance()
47
                .withCommand("postgres -c max_connections=42")
48
                .withCommand()
49
        ) {
50
            postgres.start();
51

52
            ResultSet resultSet = performQuery(
53
                (JdbcDatabaseContainer<?>) postgres,
54
                "SELECT current_setting('max_connections')"
55
            );
56
            String result = resultSet.getString(1);
57
            assertThat(result).as("max_connections should not be overriden").isNotEqualTo("42");
58
        }
59
    }
60

61
    @Test
62
    public void testExplicitInitScript() throws SQLException {
63
        try (
64
            JdbcDatabaseContainer<?> postgres = new TimescaleDBContainerProvider()
65
                .newInstance()
66
                .withInitScript("somepath/init_timescaledb.sql")
67
        ) {
68
            postgres.start();
69

70
            ResultSet resultSet = performQuery(postgres, "SELECT foo FROM bar");
71

72
            String firstColumnValue = resultSet.getString(1);
73
            assertThat(firstColumnValue).as("Value from init script should equal real value").isEqualTo("hello world");
74
        }
75
    }
76
}
77

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.