From c67699562aba6684c44ccad34828b81b41bd155c Mon Sep 17 00:00:00 2001 From: Ollie Hughes Date: Wed, 9 Aug 2017 14:38:53 +0100 Subject: [PATCH] Use prefix parameter when when matching `encrypt.keyStore` property So that relaxed naming will also `encrypt.key-store`. Fixes gh-772. --- .../config/EncryptionAutoConfiguration.java | 3 +-- ...s.java => EncryptionIntegrationTests.java} | 21 ++++++++++++++++++- .../src/test/resources/keystore-bootstrap.yml | 13 ++++++++++++ 3 files changed, 34 insertions(+), 3 deletions(-) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/{SymmetricEncryptionIntegrationTests.java => EncryptionIntegrationTests.java} (79%) create mode 100644 spring-cloud-config-server/src/test/resources/keystore-bootstrap.yml diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EncryptionAutoConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EncryptionAutoConfiguration.java index 03049071..8636dada 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EncryptionAutoConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EncryptionAutoConfiguration.java @@ -17,7 +17,6 @@ package org.springframework.cloud.config.server.config; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -80,7 +79,7 @@ public class EncryptionAutoConfiguration { @Configuration @ConditionalOnClass(RsaSecretEncryptor.class) - @ConditionalOnProperty(value = "encrypt.key-store.location", matchIfMissing = false) + @ConditionalOnProperty(prefix = "encrypt.keyStore", value = "location", matchIfMissing = false) protected static class KeyStoreConfiguration { @Autowired diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/SymmetricEncryptionIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionIntegrationTests.java similarity index 79% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/SymmetricEncryptionIntegrationTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionIntegrationTests.java index c61a399e..f8354d4c 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/SymmetricEncryptionIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionIntegrationTests.java @@ -31,7 +31,7 @@ import org.springframework.test.context.junit4.SpringRunner; import static org.assertj.core.api.Assertions.assertThat; -public class SymmetricEncryptionIntegrationTests { +public class EncryptionIntegrationTests { @RunWith(SpringRunner.class) @SpringBootTest(classes = { @@ -69,4 +69,23 @@ public class SymmetricEncryptionIntegrationTests { } } + @RunWith(SpringRunner.class) + @SpringBootTest(classes = { ConfigServerApplication.class}, + properties = "spring.cloud.bootstrap.name:keystore-bootstrap", + webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) + @ActiveProfiles({ "test", "native" }) + @DirtiesContext + public static class KeystoreConfigurationIntegrationTests { + + @Autowired + private TestRestTemplate testRestTemplate; + + @Test + public void keystoreBootstrapConfig() throws Exception { + ResponseEntity entity = testRestTemplate + .getForEntity("/encrypt/status", String.class); + assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); + } + } + } \ No newline at end of file diff --git a/spring-cloud-config-server/src/test/resources/keystore-bootstrap.yml b/spring-cloud-config-server/src/test/resources/keystore-bootstrap.yml new file mode 100644 index 00000000..e19c50ae --- /dev/null +++ b/spring-cloud-config-server/src/test/resources/keystore-bootstrap.yml @@ -0,0 +1,13 @@ +spring: + cloud: + config: + server: + git: + uri: file:./target/repos/encrypt-repo + bootstrap: true +encrypt: + key-store: + location: classpath:server.jks + password: letmein + alias: myKey + \ No newline at end of file