Browse Source

Guard integration tests against known not-working OS variants.

Closes #1371
pull/1372/head
Mark Paluch 3 years ago
parent
commit
541eee7c8b
No known key found for this signature in database
GPG Key ID: 4406B84C1661DCD1
  1. 3
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryIntegrationTests.java
  2. 3
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/OracleR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java
  3. 3
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryIntegrationTests.java
  4. 3
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/SqlServerR2dbcRepositoryWithMixedCaseNamesIntegrationTests.java
  5. 3
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/repository/support/SqlServerSimpleR2dbcRepositoryIntegrationTests.java
  6. 2
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/ConnectionUtils.java
  7. 10
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java
  8. 4
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/PostgresTestSupport.java
  9. 6
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/SqlServerTestSupport.java

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

@ -21,9 +21,9 @@ import reactor.core.publisher.Mono; @@ -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; @@ -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();

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

@ -21,9 +21,9 @@ import java.util.Optional; @@ -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; @@ -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 {

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

@ -22,9 +22,9 @@ import reactor.core.publisher.Mono; @@ -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; @@ -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();

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

@ -21,9 +21,9 @@ import java.util.Optional; @@ -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; @@ -47,6 +47,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
*/
@ExtendWith(SpringExtension.class)
@ContextConfiguration
@DisabledOnOs(architectures = "aarch64")
public class SqlServerR2dbcRepositoryWithMixedCaseNamesIntegrationTests
extends AbstractR2dbcRepositoryWithMixedCaseNamesIntegrationTests {

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

@ -19,9 +19,9 @@ import io.r2dbc.spi.ConnectionFactory; @@ -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; @@ -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();

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

@ -30,6 +30,8 @@ import javax.sql.DataSource; @@ -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}.
*

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

@ -25,12 +25,10 @@ import java.util.stream.Stream; @@ -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 { @@ -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 { @@ -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) //

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

@ -23,9 +23,7 @@ import java.util.stream.Stream; @@ -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 { @@ -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();

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

@ -23,7 +23,6 @@ import java.util.stream.Stream; @@ -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 { @@ -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( //

Loading…
Cancel
Save