Skip to content

Commit c01fca4

Browse files
Fix Testcontainers startup ordering in integration tests for CI stability
1 parent 8d60468 commit c01fca4

2 files changed

Lines changed: 48 additions & 6 deletions

File tree

src/test/java/com/yassin/datalens/integration/AnalyticsDeterministicIntegrationTest.java

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,30 @@ class AnalyticsDeterministicIntegrationTest {
3535

3636
@DynamicPropertySource
3737
static void configure(DynamicPropertyRegistry registry) {
38-
registry.add("spring.datasource.url", POSTGRES::getJdbcUrl);
39-
registry.add("spring.datasource.username", POSTGRES::getUsername);
40-
registry.add("spring.datasource.password", POSTGRES::getPassword);
38+
registry.add("spring.datasource.url", AnalyticsDeterministicIntegrationTest::jdbcUrl);
39+
registry.add("spring.datasource.username", AnalyticsDeterministicIntegrationTest::username);
40+
registry.add("spring.datasource.password", AnalyticsDeterministicIntegrationTest::password);
41+
}
42+
43+
private static String jdbcUrl() {
44+
ensureContainerStarted();
45+
return POSTGRES.getJdbcUrl();
46+
}
47+
48+
private static String username() {
49+
ensureContainerStarted();
50+
return POSTGRES.getUsername();
51+
}
52+
53+
private static String password() {
54+
ensureContainerStarted();
55+
return POSTGRES.getPassword();
56+
}
57+
58+
private static void ensureContainerStarted() {
59+
if (!POSTGRES.isRunning()) {
60+
POSTGRES.start();
61+
}
4162
}
4263

4364
@Test

src/test/java/com/yassin/datalens/integration/AnalyticsIntegrationTest.java

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,30 @@ class AnalyticsIntegrationTest {
4242

4343
@DynamicPropertySource
4444
static void configure(DynamicPropertyRegistry registry) {
45-
registry.add("spring.datasource.url", POSTGRES::getJdbcUrl);
46-
registry.add("spring.datasource.username", POSTGRES::getUsername);
47-
registry.add("spring.datasource.password", POSTGRES::getPassword);
45+
registry.add("spring.datasource.url", AnalyticsIntegrationTest::jdbcUrl);
46+
registry.add("spring.datasource.username", AnalyticsIntegrationTest::username);
47+
registry.add("spring.datasource.password", AnalyticsIntegrationTest::password);
48+
}
49+
50+
private static String jdbcUrl() {
51+
ensureContainerStarted();
52+
return POSTGRES.getJdbcUrl();
53+
}
54+
55+
private static String username() {
56+
ensureContainerStarted();
57+
return POSTGRES.getUsername();
58+
}
59+
60+
private static String password() {
61+
ensureContainerStarted();
62+
return POSTGRES.getPassword();
63+
}
64+
65+
private static void ensureContainerStarted() {
66+
if (!POSTGRES.isRunning()) {
67+
POSTGRES.start();
68+
}
4869
}
4970

5071
@BeforeAll

0 commit comments

Comments
 (0)