Skip to content

Commit 541eee7

Browse files
committed
Guard integration tests against known not-working OS variants.
Closes #1371
1 parent 3b6c2f0 commit 541eee7

9 files changed

+24
-13
lines changed

spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryIntegrationTests.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121

2222
import javax.sql.DataSource;
2323

24+
import org.junit.jupiter.api.condition.DisabledOnOs;
2425
import org.junit.jupiter.api.extension.ExtendWith;
2526
import org.junit.jupiter.api.extension.RegisterExtension;
26-
2727
import org.springframework.context.annotation.Bean;
2828
import org.springframework.context.annotation.ComponentScan.Filter;
2929
import org.springframework.context.annotation.Configuration;
@@ -45,6 +45,7 @@
4545
@ExtendWith(SpringExtension.class)
4646
@ContextConfiguration
4747
@EnabledOnClass("oracle.r2dbc.impl.OracleConnectionFactoryProviderImpl")
48+
@DisabledOnOs(architectures = "aarch64")
4849
public class OracleR2dbcRepositoryIntegrationTests extends AbstractR2dbcRepositoryIntegrationTests {
4950

5051
@RegisterExtension public static final ExternalDatabase database = OracleTestSupport.database();

spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121

2222
import javax.sql.DataSource;
2323

24+
import org.junit.jupiter.api.condition.DisabledOnOs;
2425
import org.junit.jupiter.api.extension.ExtendWith;
2526
import org.junit.jupiter.api.extension.RegisterExtension;
26-
2727
import org.springframework.context.annotation.Bean;
2828
import org.springframework.context.annotation.ComponentScan.Filter;
2929
import org.springframework.context.annotation.Configuration;
@@ -49,6 +49,7 @@
4949
@ExtendWith(SpringExtension.class)
5050
@ContextConfiguration
5151
@EnabledOnClass("oracle.r2dbc.impl.OracleConnectionFactoryProviderImpl")
52+
@DisabledOnOs(architectures = "aarch64")
5253
public class OracleR2dbcRepositoryWithMixedCaseNamesIntegrationTests
5354
extends AbstractR2dbcRepositoryWithMixedCaseNamesIntegrationTests {
5455

spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryIntegrationTests.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
import javax.sql.DataSource;
2323

2424
import org.junit.jupiter.api.Disabled;
25+
import org.junit.jupiter.api.condition.DisabledOnOs;
2526
import org.junit.jupiter.api.extension.ExtendWith;
2627
import org.junit.jupiter.api.extension.RegisterExtension;
27-
2828
import org.springframework.context.annotation.Bean;
2929
import org.springframework.context.annotation.ComponentScan.Filter;
3030
import org.springframework.context.annotation.Configuration;
@@ -44,6 +44,7 @@
4444
*/
4545
@ExtendWith(SpringExtension.class)
4646
@ContextConfiguration
47+
@DisabledOnOs(architectures = "aarch64")
4748
public class SqlServerR2dbcRepositoryIntegrationTests extends AbstractR2dbcRepositoryIntegrationTests {
4849

4950
@RegisterExtension public static final ExternalDatabase database = SqlServerTestSupport.database();

spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121

2222
import javax.sql.DataSource;
2323

24+
import org.junit.jupiter.api.condition.DisabledOnOs;
2425
import org.junit.jupiter.api.extension.ExtendWith;
2526
import org.junit.jupiter.api.extension.RegisterExtension;
26-
2727
import org.springframework.context.annotation.Bean;
2828
import org.springframework.context.annotation.ComponentScan.Filter;
2929
import org.springframework.context.annotation.Configuration;
@@ -47,6 +47,7 @@
4747
*/
4848
@ExtendWith(SpringExtension.class)
4949
@ContextConfiguration
50+
@DisabledOnOs(architectures = "aarch64")
5051
public class SqlServerR2dbcRepositoryWithMixedCaseNamesIntegrationTests
5152
extends AbstractR2dbcRepositoryWithMixedCaseNamesIntegrationTests {
5253

spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/support/SqlServerSimpleR2dbcRepositoryIntegrationTests.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919

2020
import javax.sql.DataSource;
2121

22+
import org.junit.jupiter.api.condition.DisabledOnOs;
2223
import org.junit.jupiter.api.extension.ExtendWith;
2324
import org.junit.jupiter.api.extension.RegisterExtension;
24-
2525
import org.springframework.context.annotation.Configuration;
2626
import org.springframework.data.r2dbc.config.AbstractR2dbcConfiguration;
2727
import org.springframework.data.r2dbc.testing.ExternalDatabase;
@@ -36,6 +36,7 @@
3636
*/
3737
@ExtendWith(SpringExtension.class)
3838
@ContextConfiguration
39+
@DisabledOnOs(architectures = "aarch64")
3940
public class SqlServerSimpleR2dbcRepositoryIntegrationTests extends AbstractSimpleR2dbcRepositoryIntegrationTests {
4041

4142
@RegisterExtension public static final ExternalDatabase database = SqlServerTestSupport.database();

spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/ConnectionUtils.java

+2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
*/
3131
abstract class ConnectionUtils {
3232

33+
public static String AARCH64 = "aarch64";
34+
3335
/**
3436
* Obtain a {@link ConnectionFactory} given {@link ExternalDatabase} and {@code driver}.
3537
*

spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,10 @@
2525
import javax.sql.DataSource;
2626

2727
import org.awaitility.Awaitility;
28-
2928
import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase;
3029
import org.springframework.jdbc.core.JdbcTemplate;
3130
import org.springframework.jdbc.datasource.DriverManagerDataSource;
3231
import org.springframework.util.ClassUtils;
33-
3432
import org.testcontainers.containers.OracleContainer;
3533

3634
/**
@@ -73,6 +71,11 @@ public class OracleTestSupport {
7371
*/
7472
public static ExternalDatabase database() {
7573

74+
// Disable Oracle support as there's no M1 support yet.
75+
if (ConnectionUtils.AARCH64.equals(System.getProperty("os.arch"))) {
76+
return ExternalDatabase.unavailable();
77+
}
78+
7679
if (!ClassUtils.isPresent("oracle.r2dbc.impl.OracleConnectionFactoryProviderImpl",
7780
OracleTestSupport.class.getClassLoader())) {
7881
return ExternalDatabase.unavailable();
@@ -125,8 +128,7 @@ private static ExternalDatabase testContainer() {
125128
if (testContainerDatabase == null) {
126129

127130
try {
128-
OracleContainer container = new OracleContainer("gvenzl/oracle-xe:21.3.0-slim")
129-
.withReuse(true);
131+
OracleContainer container = new OracleContainer("gvenzl/oracle-xe:21.3.0-slim").withReuse(true);
130132
container.start();
131133

132134
testContainerDatabase = ProvidedDatabase.builder(container) //

spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/PostgresTestSupport.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@
2323
import javax.sql.DataSource;
2424

2525
import org.postgresql.ds.PGSimpleDataSource;
26-
2726
import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase;
28-
2927
import org.testcontainers.containers.PostgreSQLContainer;
3028

3129
/**
@@ -120,7 +118,7 @@ private static ExternalDatabase testContainer() {
120118

121119
try {
122120
PostgreSQLContainer container = new PostgreSQLContainer(
123-
"postgres:14.3");
121+
"postgres:14.5");
124122
container.start();
125123

126124
testContainerDatabase = ProvidedDatabase.builder(container).database(container.getDatabaseName()).build();

spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/SqlServerTestSupport.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import javax.sql.DataSource;
2424

2525
import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase;
26-
2726
import org.testcontainers.containers.MSSQLServerContainer;
2827

2928
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
@@ -72,6 +71,11 @@ public class SqlServerTestSupport {
7271
*/
7372
public static ExternalDatabase database() {
7473

74+
// Disable SQL Server support as there's no M1 support yet.
75+
if (ConnectionUtils.AARCH64.equals(System.getProperty("os.arch"))) {
76+
return ExternalDatabase.unavailable();
77+
}
78+
7579
if (Boolean.getBoolean("spring.data.r2dbc.test.preferLocalDatabase")) {
7680

7781
return getFirstWorkingDatabase( //

0 commit comments

Comments
 (0)