From 79b04f2dc8bd7a0f489e1de5f35213fec8335ac1 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Thu, 2 Aug 2018 16:56:44 +0200 Subject: [PATCH] Upgrade to Spring Vault 2.1 snapshots, Reactor Californium, Spring Boot 2.1. Fix bean overrides caused by the reactive health indicator. Disable TlsCert authentication tests because of Reactor's HttpClient interference with SSL configurations. See gh-235. --- .../config/databases/VaultConfigMySqlDatabaseTests.java | 4 ++-- .../cloud/vault/config/databases/VaultConfigMySqlTests.java | 4 ++-- .../vault/config/databases/VaultConfigPostgreSqlTests.java | 3 ++- spring-cloud-vault-config/pom.xml | 2 +- .../config/VaultReactiveHealthIndicatorConfiguration.java | 2 +- .../vault/config/VaultConfigAppIdCustomMechanismTests.java | 6 +++--- .../vault/config/VaultConfigTlsCertAuthenticationTests.java | 4 ++-- spring-cloud-vault-dependencies/pom.xml | 2 +- 8 files changed, 14 insertions(+), 13 deletions(-) diff --git a/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigMySqlDatabaseTests.java b/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigMySqlDatabaseTests.java index 1cc74e7c..0cc211a8 100644 --- a/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigMySqlDatabaseTests.java +++ b/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigMySqlDatabaseTests.java @@ -52,7 +52,7 @@ import static org.junit.Assume.*; @SpringBootTest(classes = VaultConfigMySqlDatabaseTests.TestApplication.class, properties = { "spring.cloud.vault.database.enabled=true", "spring.cloud.vault.database.role=readonly", - "spring.datasource.url=jdbc:mysql://localhost:3306/mysql?useSSL=false" }) + "spring.datasource.url=jdbc:mysql://localhost:3306/mysql?useSSL=false&serverTimezone=UTC" }) public class VaultConfigMySqlDatabaseTests { private final static int MYSQL_PORT = 3306; @@ -113,7 +113,7 @@ public class VaultConfigMySqlDatabaseTests { @Test public void shouldConnectUsingJdbcUrlConnection() throws SQLException { - String url = String.format("jdbc:mysql://%s?useSSL=false", MYSQL_HOST); + String url = String.format("jdbc:mysql://%s?useSSL=false&serverTimezone=UTC", MYSQL_HOST); DriverManager.getConnection(url, username, password).close(); } diff --git a/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigMySqlTests.java b/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigMySqlTests.java index 0ae2e161..2b788f75 100644 --- a/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigMySqlTests.java +++ b/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigMySqlTests.java @@ -49,7 +49,7 @@ import static org.junit.Assume.*; @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = VaultConfigMySqlTests.TestApplication.class, properties = { "spring.cloud.vault.mysql.enabled=true", "spring.cloud.vault.mysql.role=readonly", - "spring.datasource.url=jdbc:mysql://localhost:3306/mysql?useSSL=false" }) + "spring.datasource.url=jdbc:mysql://localhost:3306/mysql?useSSL=false&serverTimezone=UTC" }) public class VaultConfigMySqlTests { private final static int MYSQL_PORT = 3306; @@ -101,7 +101,7 @@ public class VaultConfigMySqlTests { @Test public void shouldConnectUsingJdbcUrlConnection() throws SQLException { - String url = String.format("jdbc:mysql://%s?useSSL=false", MYSQL_HOST); + String url = String.format("jdbc:mysql://%s?useSSL=false&serverTimezone=UTC", MYSQL_HOST); DriverManager.getConnection(url, username, password).close(); } diff --git a/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigPostgreSqlTests.java b/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigPostgreSqlTests.java index 4a5fc130..79a4a321 100644 --- a/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigPostgreSqlTests.java +++ b/spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigPostgreSqlTests.java @@ -53,7 +53,8 @@ import static org.junit.Assume.*; @SpringBootTest(classes = VaultConfigPostgreSqlTests.TestApplication.class, properties = { "spring.cloud.vault.postgresql.enabled=true", "spring.cloud.vault.postgresql.role=readonly", - "spring.datasource.url=jdbc:postgresql://localhost:5432/postgres?ssl=false" }) + "spring.datasource.url=jdbc:postgresql://localhost:5432/postgres?ssl=false", + "spring.main.allow-bean-definition-overriding=true" }) public class VaultConfigPostgreSqlTests { private final static String POSTGRES_HOST = "localhost"; diff --git a/spring-cloud-vault-config/pom.xml b/spring-cloud-vault-config/pom.xml index a2077c7d..012f9d0b 100644 --- a/spring-cloud-vault-config/pom.xml +++ b/spring-cloud-vault-config/pom.xml @@ -72,7 +72,7 @@ - io.projectreactor.ipc + io.projectreactor.netty reactor-netty true diff --git a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultReactiveHealthIndicatorConfiguration.java b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultReactiveHealthIndicatorConfiguration.java index 7e6dabc1..0f6792d9 100644 --- a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultReactiveHealthIndicatorConfiguration.java +++ b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultReactiveHealthIndicatorConfiguration.java @@ -50,7 +50,7 @@ class VaultReactiveHealthIndicatorConfiguration @Bean @ConditionalOnMissingBean(name = { "vaultReactiveHealthIndicator" }) - public ReactiveHealthIndicator vaultHealthIndicator() { + public ReactiveHealthIndicator vaultReactiveHealthIndicator() { return this.createHealthIndicator(this.reactiveVaultTemplates); } } diff --git a/spring-cloud-vault-config/src/test/java/org/springframework/cloud/vault/config/VaultConfigAppIdCustomMechanismTests.java b/spring-cloud-vault-config/src/test/java/org/springframework/cloud/vault/config/VaultConfigAppIdCustomMechanismTests.java index d2ab09ef..98ba5516 100644 --- a/spring-cloud-vault-config/src/test/java/org/springframework/cloud/vault/config/VaultConfigAppIdCustomMechanismTests.java +++ b/spring-cloud-vault-config/src/test/java/org/springframework/cloud/vault/config/VaultConfigAppIdCustomMechanismTests.java @@ -28,7 +28,6 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.cloud.vault.config.VaultConfigAppIdCustomMechanismTests.BootstrapConfiguration; import org.springframework.cloud.vault.util.Settings; import org.springframework.cloud.vault.util.TestRestTemplateFactory; import org.springframework.cloud.vault.util.VaultRule; @@ -48,11 +47,12 @@ import static org.assertj.core.api.Assertions.*; * @author Mark Paluch */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = { BootstrapConfiguration.class, +@SpringBootTest(classes = { VaultConfigAppIdCustomMechanismTests.TestApplication.class }, properties = { "spring.cloud.vault.authentication=appid", "VaultConfigAppIdCustomMechanismTests.custom.config=true", - "spring.cloud.vault.applicationName=VaultConfigAppIdCustomMechanismTests" }) + "spring.cloud.vault.applicationName=VaultConfigAppIdCustomMechanismTests", + "spring.main.allow-bean-definition-overriding=true" }) public class VaultConfigAppIdCustomMechanismTests { @BeforeClass diff --git a/spring-cloud-vault-config/src/test/java/org/springframework/cloud/vault/config/VaultConfigTlsCertAuthenticationTests.java b/spring-cloud-vault-config/src/test/java/org/springframework/cloud/vault/config/VaultConfigTlsCertAuthenticationTests.java index 2f13c968..cc4d19ef 100644 --- a/spring-cloud-vault-config/src/test/java/org/springframework/cloud/vault/config/VaultConfigTlsCertAuthenticationTests.java +++ b/spring-cloud-vault-config/src/test/java/org/springframework/cloud/vault/config/VaultConfigTlsCertAuthenticationTests.java @@ -51,8 +51,8 @@ import static org.springframework.cloud.vault.util.Settings.*; "spring.cloud.vault.authentication=cert", "spring.cloud.vault.ssl.key-store=file:../work/client-cert.jks", "spring.cloud.vault.ssl.key-store-password=changeit", - "spring.cloud.vault.application-name=VaultConfigTlsCertAuthenticationTests" }) // see -// https://github.com/spring-cloud/spring-cloud-commons/issues/214 + "spring.cloud.vault.application-name=VaultConfigTlsCertAuthenticationTests", + "spring.cloud.vault.reactive.enabled=false" }) public class VaultConfigTlsCertAuthenticationTests { @BeforeClass diff --git a/spring-cloud-vault-dependencies/pom.xml b/spring-cloud-vault-dependencies/pom.xml index 377abe6d..ec06862d 100644 --- a/spring-cloud-vault-dependencies/pom.xml +++ b/spring-cloud-vault-dependencies/pom.xml @@ -18,7 +18,7 @@ Spring Cloud Vault Dependencies - 2.0.1.RELEASE + 2.1.0.BUILD-SNAPSHOT