diff --git a/pom.xml b/pom.xml index 2b95c9cd..4e43c4dd 100644 --- a/pom.xml +++ b/pom.xml @@ -320,6 +320,13 @@ test + + org.awaitility + awaitility + 4.0.3 + test + + @@ -464,7 +471,6 @@ java11 - diff --git a/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java b/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java index 2997fb7b..66b0b0e3 100644 --- a/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java +++ b/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java @@ -24,7 +24,10 @@ import java.util.stream.Stream; import javax.sql.DataSource; +import org.awaitility.Awaitility; + import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase; +import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.util.ClassUtils; @@ -119,6 +122,13 @@ public class OracleTestSupport { testContainerDatabase = ProvidedDatabase.builder(container) // .database("XEPDB1").build(); + + DataSource dataSource = createDataSource(testContainerDatabase); + + Awaitility.await().ignoreExceptions().until(() -> { + new JdbcTemplate(dataSource).queryForList("SELECT 'Hello, Oracle' FROM sys.dual"); + return true; + }); } catch (IllegalStateException ise) { // docker not available. testContainerDatabase = ExternalDatabase.unavailable();