diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryIntegrationTests.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryIntegrationTests.java index bf1da15d8..487f13cc2 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryIntegrationTests.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryIntegrationTests.java @@ -21,9 +21,9 @@ import reactor.core.publisher.Mono; import javax.sql.DataSource; +import org.junit.jupiter.api.condition.DisabledOnOs; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.RegisterExtension; - import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Configuration; @@ -45,6 +45,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; @ExtendWith(SpringExtension.class) @ContextConfiguration @EnabledOnClass("oracle.r2dbc.impl.OracleConnectionFactoryProviderImpl") +@DisabledOnOs(architectures = "aarch64") public class OracleR2dbcRepositoryIntegrationTests extends AbstractR2dbcRepositoryIntegrationTests { @RegisterExtension public static final ExternalDatabase database = OracleTestSupport.database(); diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java index aae40ae38..c5c2ea11b 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java @@ -21,9 +21,9 @@ import java.util.Optional; import javax.sql.DataSource; +import org.junit.jupiter.api.condition.DisabledOnOs; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.RegisterExtension; - import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Configuration; @@ -49,6 +49,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; @ExtendWith(SpringExtension.class) @ContextConfiguration @EnabledOnClass("oracle.r2dbc.impl.OracleConnectionFactoryProviderImpl") +@DisabledOnOs(architectures = "aarch64") public class OracleR2dbcRepositoryWithMixedCaseNamesIntegrationTests extends AbstractR2dbcRepositoryWithMixedCaseNamesIntegrationTests { diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryIntegrationTests.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryIntegrationTests.java index e40274661..e69147870 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryIntegrationTests.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryIntegrationTests.java @@ -22,9 +22,9 @@ import reactor.core.publisher.Mono; import javax.sql.DataSource; import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.condition.DisabledOnOs; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.RegisterExtension; - import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Configuration; @@ -44,6 +44,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; */ @ExtendWith(SpringExtension.class) @ContextConfiguration +@DisabledOnOs(architectures = "aarch64") public class SqlServerR2dbcRepositoryIntegrationTests extends AbstractR2dbcRepositoryIntegrationTests { @RegisterExtension public static final ExternalDatabase database = SqlServerTestSupport.database(); diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java index 6503509ec..fea2534d8 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java @@ -21,9 +21,9 @@ import java.util.Optional; import javax.sql.DataSource; +import org.junit.jupiter.api.condition.DisabledOnOs; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.RegisterExtension; - import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Configuration; @@ -47,6 +47,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; */ @ExtendWith(SpringExtension.class) @ContextConfiguration +@DisabledOnOs(architectures = "aarch64") public class SqlServerR2dbcRepositoryWithMixedCaseNamesIntegrationTests extends AbstractR2dbcRepositoryWithMixedCaseNamesIntegrationTests { diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/support/SqlServerSimpleR2dbcRepositoryIntegrationTests.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/support/SqlServerSimpleR2dbcRepositoryIntegrationTests.java index 469103cbf..fbc5e11fb 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/support/SqlServerSimpleR2dbcRepositoryIntegrationTests.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/support/SqlServerSimpleR2dbcRepositoryIntegrationTests.java @@ -19,9 +19,9 @@ import io.r2dbc.spi.ConnectionFactory; import javax.sql.DataSource; +import org.junit.jupiter.api.condition.DisabledOnOs; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.RegisterExtension; - import org.springframework.context.annotation.Configuration; import org.springframework.data.r2dbc.config.AbstractR2dbcConfiguration; import org.springframework.data.r2dbc.testing.ExternalDatabase; @@ -36,6 +36,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; */ @ExtendWith(SpringExtension.class) @ContextConfiguration +@DisabledOnOs(architectures = "aarch64") public class SqlServerSimpleR2dbcRepositoryIntegrationTests extends AbstractSimpleR2dbcRepositoryIntegrationTests { @RegisterExtension public static final ExternalDatabase database = SqlServerTestSupport.database(); diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/ConnectionUtils.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/ConnectionUtils.java index 083baa21f..60e32ae28 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/ConnectionUtils.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/ConnectionUtils.java @@ -30,6 +30,8 @@ import javax.sql.DataSource; */ abstract class ConnectionUtils { + public static String AARCH64 = "aarch64"; + /** * Obtain a {@link ConnectionFactory} given {@link ExternalDatabase} and {@code driver}. * diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java index 1b53812a2..eeebb3632 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java @@ -25,12 +25,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; - import org.testcontainers.containers.OracleContainer; /** @@ -73,6 +71,11 @@ public class OracleTestSupport { */ public static ExternalDatabase database() { + // Disable Oracle support as there's no M1 support yet. + if (ConnectionUtils.AARCH64.equals(System.getProperty("os.arch"))) { + return ExternalDatabase.unavailable(); + } + if (!ClassUtils.isPresent("oracle.r2dbc.impl.OracleConnectionFactoryProviderImpl", OracleTestSupport.class.getClassLoader())) { return ExternalDatabase.unavailable(); @@ -125,8 +128,7 @@ public class OracleTestSupport { if (testContainerDatabase == null) { try { - OracleContainer container = new OracleContainer("gvenzl/oracle-xe:21.3.0-slim") - .withReuse(true); + OracleContainer container = new OracleContainer("gvenzl/oracle-xe:21.3.0-slim").withReuse(true); container.start(); testContainerDatabase = ProvidedDatabase.builder(container) // diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/PostgresTestSupport.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/PostgresTestSupport.java index 04698572a..14ea254f0 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/PostgresTestSupport.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/PostgresTestSupport.java @@ -23,9 +23,7 @@ import java.util.stream.Stream; import javax.sql.DataSource; import org.postgresql.ds.PGSimpleDataSource; - import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase; - import org.testcontainers.containers.PostgreSQLContainer; /** @@ -120,7 +118,7 @@ public class PostgresTestSupport { try { PostgreSQLContainer container = new PostgreSQLContainer( - "postgres:14.3"); + "postgres:14.5"); container.start(); testContainerDatabase = ProvidedDatabase.builder(container).database(container.getDatabaseName()).build(); diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/SqlServerTestSupport.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/SqlServerTestSupport.java index 3c6fc772e..0941edcc5 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/SqlServerTestSupport.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/SqlServerTestSupport.java @@ -23,7 +23,6 @@ import java.util.stream.Stream; import javax.sql.DataSource; import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase; - import org.testcontainers.containers.MSSQLServerContainer; import com.microsoft.sqlserver.jdbc.SQLServerDataSource; @@ -72,6 +71,11 @@ public class SqlServerTestSupport { */ public static ExternalDatabase database() { + // Disable SQL Server support as there's no M1 support yet. + if (ConnectionUtils.AARCH64.equals(System.getProperty("os.arch"))) { + return ExternalDatabase.unavailable(); + } + if (Boolean.getBoolean("spring.data.r2dbc.test.preferLocalDatabase")) { return getFirstWorkingDatabase( //