|
24 | 24 | import io.trino.plugin.jdbc.credential.StaticCredentialProvider; |
25 | 25 | import io.trino.plugin.jdbc.jmx.StatisticsAwareConnectionFactory; |
26 | 26 | import oracle.jdbc.OracleDriver; |
| 27 | +import org.testcontainers.containers.wait.strategy.Wait; |
27 | 28 | import org.testcontainers.oracle.OracleContainer; |
28 | 29 | import org.testcontainers.utility.MountableFile; |
29 | 30 |
|
|
36 | 37 | import java.sql.Connection; |
37 | 38 | import java.sql.SQLException; |
38 | 39 | import java.sql.Statement; |
| 40 | +import java.time.Duration; |
39 | 41 | import java.time.temporal.ChronoUnit; |
40 | 42 |
|
41 | 43 | import static io.trino.testing.TestingConnectorSession.SESSION; |
@@ -76,7 +78,9 @@ private void createContainer() |
76 | 78 | OracleContainer container = new OracleContainer("gvenzl/oracle-free:23.9-slim") |
77 | 79 | .withCopyFileToContainer(MountableFile.forClasspathResource("init.sql"), "/container-entrypoint-initdb.d/01-init.sql") |
78 | 80 | .withCopyFileToContainer(MountableFile.forClasspathResource("restart.sh"), "/container-entrypoint-initdb.d/02-restart.sh") |
79 | | - .withCopyFileToContainer(MountableFile.forHostPath(createConfigureScript()), "/container-entrypoint-initdb.d/03-create-users.sql"); |
| 81 | + .withCopyFileToContainer(MountableFile.forHostPath(createConfigureScript()), "/container-entrypoint-initdb.d/03-create-users.sql") |
| 82 | + .waitingFor(Wait.forLogMessage(".*DATABASE IS READY TO USE!.*\\s", 1).withStartupTimeout(Duration.ofSeconds(120L))) |
| 83 | + .withStartupTimeoutSeconds(180); |
80 | 84 | try { |
81 | 85 | this.cleanup = startOrReuse(container); |
82 | 86 | this.container = container; |
|
0 commit comments