diff --git a/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/AbstractTlsSetup.java b/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/AbstractTlsSetup.java index 29987467..e09ea4a7 100644 --- a/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/AbstractTlsSetup.java +++ b/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/AbstractTlsSetup.java @@ -64,16 +64,14 @@ public abstract class AbstractTlsSetup { } private static File saveKeyAndCert(KeyAndCert keyCert) throws Exception { - return saveKeyStore(keyCert.subject(), - () -> keyCert.storeKeyAndCert(KEY_PASSWORD)); + return saveKeyStore(keyCert.subject(), () -> keyCert.storeKeyAndCert(KEY_PASSWORD)); } private static File saveCert(KeyAndCert keyCert) throws Exception { return saveKeyStore(keyCert.subject(), () -> keyCert.storeCert()); } - private static File saveKeyStore(String prefix, KeyStoreSupplier func) - throws Exception { + private static File saveKeyStore(String prefix, KeyStoreSupplier func) throws Exception { File result = File.createTempFile(prefix, ".p12"); result.deleteOnExit(); diff --git a/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/AppRunner.java b/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/AppRunner.java index 458400b0..77d5096e 100644 --- a/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/AppRunner.java +++ b/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/AppRunner.java @@ -113,8 +113,7 @@ public class AppRunner implements AutoCloseable { } private boolean tlsEnabled() { - return app.getEnvironment().getProperty("server.ssl.enabled", Boolean.class, - false); + return app.getEnvironment().getProperty("server.ssl.enabled", Boolean.class, false); } @Override diff --git a/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/KeyAndCert.java b/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/KeyAndCert.java index 0619ba70..bf01c900 100644 --- a/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/KeyAndCert.java +++ b/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/KeyAndCert.java @@ -70,8 +70,7 @@ public class KeyAndCert { KeyStore result = KeyStore.getInstance("PKCS12"); result.load(null); - result.setKeyEntry(subject(), keyPair.getPrivate(), keyPassword.toCharArray(), - certChain()); + result.setKeyEntry(subject(), keyPair.getPrivate(), keyPassword.toCharArray(), certChain()); return result; } diff --git a/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/KeyTool.java b/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/KeyTool.java index ba7aa9b4..5d21785b 100644 --- a/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/KeyTool.java +++ b/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/KeyTool.java @@ -50,15 +50,12 @@ public class KeyTool { return new KeyAndCert(keyPair, certificate); } - public KeyAndCert signCertificate(String subject, KeyAndCert signer) - throws Exception { + public KeyAndCert signCertificate(String subject, KeyAndCert signer) throws Exception { return signCertificate(createKeyPair(), subject, signer); } - public KeyAndCert signCertificate(KeyPair keyPair, String subject, KeyAndCert signer) - throws Exception { - X509Certificate certificate = createCert(keyPair.getPublic(), signer.privateKey(), - signer.subject(), subject); + public KeyAndCert signCertificate(KeyPair keyPair, String subject, KeyAndCert signer) throws Exception { + X509Certificate certificate = createCert(keyPair.getPublic(), signer.privateKey(), signer.subject(), subject); KeyAndCert result = new KeyAndCert(keyPair, certificate); return result; @@ -76,32 +73,25 @@ public class KeyTool { public X509Certificate createCert(KeyPair keyPair, String ca) throws Exception { JcaX509v3CertificateBuilder builder = certBuilder(keyPair.getPublic(), ca, ca); - builder.addExtension(Extension.keyUsage, true, - new KeyUsage(KeyUsage.keyCertSign)); - builder.addExtension(Extension.basicConstraints, false, - new BasicConstraints(true)); + builder.addExtension(Extension.keyUsage, true, new KeyUsage(KeyUsage.keyCertSign)); + builder.addExtension(Extension.basicConstraints, false, new BasicConstraints(true)); return signCert(builder, keyPair.getPrivate()); } - public X509Certificate createCert(PublicKey publicKey, PrivateKey privateKey, - String issuer, String subject) throws Exception { + public X509Certificate createCert(PublicKey publicKey, PrivateKey privateKey, String issuer, String subject) + throws Exception { JcaX509v3CertificateBuilder builder = certBuilder(publicKey, issuer, subject); - builder.addExtension(Extension.keyUsage, true, - new KeyUsage(KeyUsage.digitalSignature)); - builder.addExtension(Extension.basicConstraints, false, - new BasicConstraints(false)); + builder.addExtension(Extension.keyUsage, true, new KeyUsage(KeyUsage.digitalSignature)); + builder.addExtension(Extension.basicConstraints, false, new BasicConstraints(false)); - GeneralName[] names = new GeneralName[] { - new GeneralName(GeneralName.dNSName, "localhost") }; - builder.addExtension(Extension.subjectAlternativeName, false, - GeneralNames.getInstance(new DERSequence(names))); + GeneralName[] names = new GeneralName[] { new GeneralName(GeneralName.dNSName, "localhost") }; + builder.addExtension(Extension.subjectAlternativeName, false, GeneralNames.getInstance(new DERSequence(names))); return signCert(builder, privateKey); } - private JcaX509v3CertificateBuilder certBuilder(PublicKey publicKey, String issuer, - String subject) { + private JcaX509v3CertificateBuilder certBuilder(PublicKey publicKey, String issuer, String subject) { X500Name issuerName = new X500Name(String.format("dc=%s", issuer)); X500Name subjectName = new X500Name(String.format("dc=%s", subject)); @@ -110,14 +100,11 @@ public class KeyTool { Date notBefore = new Date(now - ONE_DAY); Date notAfter = new Date(now + TEN_YEARS); - return new JcaX509v3CertificateBuilder(issuerName, serialNum, notBefore, notAfter, - subjectName, publicKey); + return new JcaX509v3CertificateBuilder(issuerName, serialNum, notBefore, notAfter, subjectName, publicKey); } - private X509Certificate signCert(JcaX509v3CertificateBuilder builder, - PrivateKey privateKey) throws Exception { - ContentSigner signer = new JcaContentSignerBuilder("SHA256WithRSA") - .build(privateKey); + private X509Certificate signCert(JcaX509v3CertificateBuilder builder, PrivateKey privateKey) throws Exception { + ContentSigner signer = new JcaContentSignerBuilder("SHA256WithRSA").build(privateKey); X509CertificateHolder holder = builder.build(signer); return new JcaX509CertificateConverter().getCertificate(holder); diff --git a/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/TlsConfigServerRunner.java b/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/TlsConfigServerRunner.java index 04212da7..1513c9e2 100644 --- a/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/TlsConfigServerRunner.java +++ b/spring-cloud-config-client-tls-tests/src/test/java/org/springframework/cloud/config/client/tls/TlsConfigServerRunner.java @@ -23,8 +23,7 @@ public class TlsConfigServerRunner extends AppRunner { public TlsConfigServerRunner(Class appClass) { super(appClass); property("spring.profiles.active", "native"); - property("spring.cloud.config.server.native.search-locations", - "classpath:/test/config"); + property("spring.cloud.config.server.native.search-locations", "classpath:/test/config"); } public void enableTls() { @@ -32,8 +31,7 @@ public class TlsConfigServerRunner extends AppRunner { property("server.ssl.client-auth", "need"); } - public void setKeyStore(File keyStore, String keyStorePassword, String key, - String keyPassword) { + public void setKeyStore(File keyStore, String keyStorePassword, String key, String keyPassword) { property("server.ssl.key-store", pathOf(keyStore)); property("server.ssl.key-store-type", "PKCS12"); property("server.ssl.key-store-password", keyStorePassword); diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/AbstractConfigDataLoader.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/AbstractConfigDataLoader.java index 94f7cb59..7525ed01 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/AbstractConfigDataLoader.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/AbstractConfigDataLoader.java @@ -71,8 +71,7 @@ public abstract class AbstractConfigDataLoader map = translateOrigins(source.getName(), (Map) source.getSource()); - composite.add(0, new OriginTrackedMapPropertySource( - "configserver:" + source.getName(), map)); + composite.add(0, + new OriginTrackedMapPropertySource("configserver:" + source.getName(), map)); } } @@ -120,8 +118,7 @@ public abstract class AbstractConfigDataLoader translateOrigins(String name, - Map source) { + protected Map translateOrigins(String name, Map source) { Map withOrigins = new LinkedHashMap<>(); for (Map.Entry entry : source.entrySet()) { boolean hasOrigin = false; @@ -180,12 +169,10 @@ public abstract class AbstractConfigDataLoader value = (Map) entry.getValue(); - if (value.size() == 2 && value.containsKey("origin") - && value.containsKey("value")) { - Origin origin = new ConfigServicePropertySourceLocator.ConfigServiceOrigin( - name, value.get("origin")); - OriginTrackedValue trackedValue = OriginTrackedValue - .of(value.get("value"), origin); + if (value.size() == 2 && value.containsKey("origin") && value.containsKey("value")) { + Origin origin = new ConfigServicePropertySourceLocator.ConfigServiceOrigin(name, + value.get("origin")); + OriginTrackedValue trackedValue = OriginTrackedValue.of(value.get("value"), origin); withOrigins.put(entry.getKey(), trackedValue); hasOrigin = true; } @@ -210,8 +197,7 @@ public abstract class AbstractConfigDataLoader 1) { @@ -237,8 +223,7 @@ public abstract class AbstractConfigDataLoader entity = new HttpEntity<>((Void) null, headers); - response = restTemplate.exchange(uri + path, HttpMethod.GET, entity, - Environment.class, args); + response = restTemplate.exchange(uri + path, HttpMethod.GET, entity, Environment.class, args); } catch (HttpClientErrorException e) { if (e.getStatusCode() != HttpStatus.NOT_FOUND) { @@ -257,8 +241,7 @@ public abstract class AbstractConfigDataLoader resolve(ConfigDataLocationResolverContext context, String location, - boolean optional) { + public List resolve(ConfigDataLocationResolverContext context, String location, boolean optional) { return Collections.emptyList(); } - public List resolveProfileSpecific(ConfigDataLocationResolverContext context, - String location, boolean optional, Profiles profiles) { + public List resolveProfileSpecific(ConfigDataLocationResolverContext context, String location, boolean optional, + Profiles profiles) { ConfigClientProperties properties = loadProperties(context.getBinder()); - String uris = (location.startsWith(getPrefix())) - ? location.substring(getPrefix().length()) : location; + String uris = (location.startsWith(getPrefix())) ? location.substring(getPrefix().length()) : location; if (StringUtils.hasText(uris)) { String[] uri = StringUtils.commaDelimitedListToStringArray(uris); @@ -129,8 +121,7 @@ public abstract class AbstractConfigDataLocationResolver locations = new ArrayList<>(); - locations.add( - createConfigDataLocation(optional, profiles, properties, restTemplate)); + locations.add(createConfigDataLocation(optional, profiles, properties, restTemplate)); return locations; } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientAutoConfiguration.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientAutoConfiguration.java index 6cdcbe82..6560a4dd 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientAutoConfiguration.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientAutoConfiguration.java @@ -43,13 +43,10 @@ import org.springframework.core.env.Environment; public class ConfigClientAutoConfiguration { @Bean - public ConfigClientProperties configClientProperties(Environment environment, - ApplicationContext context) { - if (context.getParent() != null - && BeanFactoryUtils.beanNamesForTypeIncludingAncestors( - context.getParent(), ConfigClientProperties.class).length > 0) { - return BeanFactoryUtils.beanOfTypeIncludingAncestors(context.getParent(), - ConfigClientProperties.class); + public ConfigClientProperties configClientProperties(Environment environment, ApplicationContext context) { + if (context.getParent() != null && BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context.getParent(), + ConfigClientProperties.class).length > 0) { + return BeanFactoryUtils.beanOfTypeIncludingAncestors(context.getParent(), ConfigClientProperties.class); } ConfigClientProperties client = new ConfigClientProperties(environment); return client; @@ -66,8 +63,7 @@ public class ConfigClientAutoConfiguration { } @Bean - public ConfigServerHealthIndicator clientConfigServerHealthIndicator( - ConfigClientHealthProperties properties, + public ConfigServerHealthIndicator clientConfigServerHealthIndicator(ConfigClientHealthProperties properties, ConfigurableEnvironment environment) { return new ConfigServerHealthIndicator(environment, properties); } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientProperties.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientProperties.java index cd0f4746..6f619cb4 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientProperties.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientProperties.java @@ -295,8 +295,7 @@ public class ConfigClientProperties { if (StringUtils.isEmpty(userInfo) || ":".equals(userInfo)) { return result; } - String bare = UriComponentsBuilder.fromHttpUrl(uri).userInfo(null).build() - .toUriString(); + String bare = UriComponentsBuilder.fromHttpUrl(uri).userInfo(null).build().toUriString(); result.uri = bare; // if userInfo does not contain a :, then append a : to it @@ -342,34 +341,28 @@ public class ConfigClientProperties { return credentials; } - public ConfigClientProperties override( - org.springframework.core.env.Environment environment) { + public ConfigClientProperties override(org.springframework.core.env.Environment environment) { ConfigClientProperties override = new ConfigClientProperties(); BeanUtils.copyProperties(this, override); - override.setName( - environment.resolvePlaceholders("${" + ConfigClientProperties.PREFIX - + ".name:${spring.application.name:application}}")); + override.setName(environment.resolvePlaceholders( + "${" + ConfigClientProperties.PREFIX + ".name:${spring.application.name:application}}")); if (environment.containsProperty(ConfigClientProperties.PREFIX + ".profile")) { - override.setProfile( - environment.getProperty(ConfigClientProperties.PREFIX + ".profile")); + override.setProfile(environment.getProperty(ConfigClientProperties.PREFIX + ".profile")); } if (environment.containsProperty(ConfigClientProperties.PREFIX + ".label")) { - override.setLabel( - environment.getProperty(ConfigClientProperties.PREFIX + ".label")); + override.setLabel(environment.getProperty(ConfigClientProperties.PREFIX + ".label")); } return override; } @Override public String toString() { - return "ConfigClientProperties [enabled=" + this.enabled + ", profile=" - + this.profile + ", name=" + this.name + ", label=" + this.label - + ", username=" + this.username + ", password=" + this.password + ", uri=" - + Arrays.toString(this.uri) + ", discovery=" + this.discovery - + ", failFast=" + this.failFast + ", token=" + this.token - + ", requestConnectTimeout=" + this.requestConnectTimeout - + ", requestReadTimeout=" + this.requestReadTimeout + ", sendState=" - + this.sendState + ", headers=" + this.headers + "]"; + return "ConfigClientProperties [enabled=" + this.enabled + ", profile=" + this.profile + ", name=" + this.name + + ", label=" + this.label + ", username=" + this.username + ", password=" + this.password + ", uri=" + + Arrays.toString(this.uri) + ", discovery=" + this.discovery + ", failFast=" + this.failFast + + ", token=" + this.token + ", requestConnectTimeout=" + this.requestConnectTimeout + + ", requestReadTimeout=" + this.requestReadTimeout + ", sendState=" + this.sendState + ", headers=" + + this.headers + "]"; } /** diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientWatch.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientWatch.java index 387b32d0..4d8e973e 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientWatch.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigClientWatch.java @@ -74,8 +74,7 @@ public class ConfigClientWatch implements Closeable, EnvironmentAware { } /* for testing */ boolean stateChanged(String oldState, String newState) { - return (!hasText(oldState) && hasText(newState)) - || (hasText(oldState) && !oldState.equals(newState)); + return (!hasText(oldState) && hasText(newState)) || (hasText(oldState) && !oldState.equals(newState)); } @Override diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLoader.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLoader.java index 96aade54..143b8b32 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLoader.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLoader.java @@ -18,8 +18,7 @@ package org.springframework.cloud.config.client; import org.apache.commons.logging.Log; -public class ConfigServerConfigDataLoader - extends AbstractConfigDataLoader { +public class ConfigServerConfigDataLoader extends AbstractConfigDataLoader { public ConfigServerConfigDataLoader(Log logger) { super(logger); diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocation.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocation.java index c5f1cd25..b1dad009 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocation.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocation.java @@ -21,8 +21,8 @@ import org.springframework.web.client.RestTemplate; public class ConfigServerConfigDataLocation extends AbstractConfigDataLocation { - public ConfigServerConfigDataLocation(RestTemplate restTemplate, - ConfigClientProperties properties, boolean optional, Profiles profiles) { + public ConfigServerConfigDataLocation(RestTemplate restTemplate, ConfigClientProperties properties, + boolean optional, Profiles profiles) { super(restTemplate, properties, optional, profiles); } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolver.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolver.java index abb5fb04..7daf53e4 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolver.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolver.java @@ -31,11 +31,9 @@ public class ConfigServerConfigDataLocationResolver } @Override - protected ConfigServerConfigDataLocation createConfigDataLocation(boolean optional, - Profiles profiles, ConfigClientProperties properties, - RestTemplate restTemplate) { - return new ConfigServerConfigDataLocation(restTemplate, properties, optional, - profiles); + protected ConfigServerConfigDataLocation createConfigDataLocation(boolean optional, Profiles profiles, + ConfigClientProperties properties, RestTemplate restTemplate) { + return new ConfigServerConfigDataLocation(restTemplate, properties, optional, profiles); } } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerHealthIndicator.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerHealthIndicator.java index 300141e2..2a8fde5b 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerHealthIndicator.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerHealthIndicator.java @@ -40,8 +40,7 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { private PropertySource cached; - public ConfigServerHealthIndicator(ConfigurableEnvironment environment, - ConfigClientHealthProperties properties) { + public ConfigServerHealthIndicator(ConfigurableEnvironment environment, ConfigClientHealthProperties properties) { this.environment = environment; this.properties = properties; } @@ -52,8 +51,7 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { builder.up(); if (propertySource instanceof CompositePropertySource) { List sources = new ArrayList<>(); - for (PropertySource ps : ((CompositePropertySource) propertySource) - .getPropertySources()) { + for (PropertySource ps : ((CompositePropertySource) propertySource).getPropertySources()) { sources.add(ps.getName()); } builder.withDetail("propertySources", sources); @@ -70,8 +68,7 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { long accessTime = System.currentTimeMillis(); if (isCacheStale(accessTime)) { this.lastAccess = accessTime; - MutablePropertySources propertySources = this.environment - .getPropertySources(); + MutablePropertySources propertySources = this.environment.getPropertySources(); this.cached = propertySources.get("configClient"); } return this.cached; @@ -81,8 +78,7 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { if (this.cached == null) { return true; } - return (accessTime - this.lastAccess) >= this.properties.getTimeToLive() - .toMillis(); + return (accessTime - this.lastAccess) >= this.properties.getTimeToLive().toMillis(); } } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerInstanceProvider.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerInstanceProvider.java index 8a53bf01..1fb2eaaf 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerInstanceProvider.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerInstanceProvider.java @@ -49,11 +49,10 @@ public class ConfigServerInstanceProvider { logger.debug("Locating configserver (" + serviceId + ") via discovery"); List instances = this.function.apply(serviceId); if (instances.isEmpty()) { - throw new IllegalStateException( - "No instances found of configserver (" + serviceId + ")"); + throw new IllegalStateException("No instances found of configserver (" + serviceId + ")"); } - logger.debug("Located configserver (" + serviceId - + ") via discovery. No of instances found: " + instances.size()); + logger.debug( + "Located configserver (" + serviceId + ") via discovery. No of instances found: " + instances.size()); return instances; } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServiceBootstrapConfiguration.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServiceBootstrapConfiguration.java index 0cd2108a..190243c8 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServiceBootstrapConfiguration.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServiceBootstrapConfiguration.java @@ -53,12 +53,9 @@ public class ConfigServiceBootstrapConfiguration { @Bean @ConditionalOnMissingBean(ConfigServicePropertySourceLocator.class) - @ConditionalOnProperty(name = ConfigClientProperties.PREFIX + ".enabled", - matchIfMissing = true) - public ConfigServicePropertySourceLocator configServicePropertySource( - ConfigClientProperties properties) { - ConfigServicePropertySourceLocator locator = new ConfigServicePropertySourceLocator( - properties); + @ConditionalOnProperty(name = ConfigClientProperties.PREFIX + ".enabled", matchIfMissing = true) + public ConfigServicePropertySourceLocator configServicePropertySource(ConfigClientProperties properties) { + ConfigServicePropertySourceLocator locator = new ConfigServicePropertySourceLocator(properties); return locator; } @@ -72,12 +69,10 @@ public class ConfigServiceBootstrapConfiguration { @Bean @ConditionalOnMissingBean(name = "configServerRetryInterceptor") - public RetryOperationsInterceptor configServerRetryInterceptor( - RetryProperties properties) { - return RetryInterceptorBuilder.stateless() - .backOffOptions(properties.getInitialInterval(), - properties.getMultiplier(), properties.getMaxInterval()) - .maxAttempts(properties.getMaxAttempts()).build(); + public RetryOperationsInterceptor configServerRetryInterceptor(RetryProperties properties) { + return RetryInterceptorBuilder.stateless().backOffOptions(properties.getInitialInterval(), + properties.getMultiplier(), properties.getMaxInterval()).maxAttempts(properties.getMaxAttempts()) + .build(); } } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServicePropertySourceLocator.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServicePropertySourceLocator.java index 92b3f787..cb42119b 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServicePropertySourceLocator.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServicePropertySourceLocator.java @@ -81,8 +81,7 @@ import static org.springframework.cloud.config.environment.EnvironmentMediaType. @Order(0) public class ConfigServicePropertySourceLocator implements PropertySourceLocator { - private static Log logger = LogFactory - .getLog(ConfigServicePropertySourceLocator.class); + private static Log logger = LogFactory.getLog(ConfigServicePropertySourceLocator.class); private RestTemplate restTemplate; @@ -94,26 +93,21 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator @Override @Retryable(interceptor = "configServerRetryInterceptor") - public org.springframework.core.env.PropertySource locate( - org.springframework.core.env.Environment environment) { + public org.springframework.core.env.PropertySource locate(org.springframework.core.env.Environment environment) { ConfigClientProperties properties = this.defaultProperties.override(environment); - CompositePropertySource composite = new OriginTrackedCompositePropertySource( - "configService"); - RestTemplate restTemplate = this.restTemplate == null - ? getSecureRestTemplate(properties) : this.restTemplate; + CompositePropertySource composite = new OriginTrackedCompositePropertySource("configService"); + RestTemplate restTemplate = this.restTemplate == null ? getSecureRestTemplate(properties) : this.restTemplate; Exception error = null; String errorBody = null; try { String[] labels = new String[] { "" }; if (StringUtils.hasText(properties.getLabel())) { - labels = StringUtils - .commaDelimitedListToStringArray(properties.getLabel()); + labels = StringUtils.commaDelimitedListToStringArray(properties.getLabel()); } String state = ConfigClientStateHolder.getState(); // Try all the labels until one works for (String label : labels) { - Environment result = getRemoteEnvironment(restTemplate, properties, - label.trim(), state); + Environment result = getRemoteEnvironment(restTemplate, properties, label.trim(), state); if (result != null) { log(result); @@ -123,9 +117,7 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator @SuppressWarnings("unchecked") Map map = translateOrigins(source.getName(), (Map) source.getSource()); - composite.addPropertySource( - new OriginTrackedMapPropertySource(source.getName(), - map)); + composite.addPropertySource(new OriginTrackedMapPropertySource(source.getName(), map)); } } @@ -138,8 +130,7 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator } // the existence of this property source confirms a successful // response from config server - composite.addFirstPropertySource( - new MapPropertySource("configClient", map)); + composite.addFirstPropertySource(new MapPropertySource("configClient", map)); return composite; } } @@ -147,8 +138,7 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator } catch (HttpServerErrorException e) { error = e; - if (MediaType.APPLICATION_JSON - .includes(e.getResponseHeaders().getContentType())) { + if (MediaType.APPLICATION_JSON.includes(e.getResponseHeaders().getContentType())) { errorBody = e.getResponseBodyAsString(); } } @@ -156,13 +146,10 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator error = e; } if (properties.isFailFast()) { - throw new IllegalStateException( - "Could not locate PropertySource and the fail fast property is set, failing" - + (errorBody == null ? "" : ": " + errorBody), - error); + throw new IllegalStateException("Could not locate PropertySource and the fail fast property is set, failing" + + (errorBody == null ? "" : ": " + errorBody), error); } - logger.warn("Could not locate PropertySource: " - + (error != null ? error.getMessage() : errorBody)); + logger.warn("Could not locate PropertySource: " + (error != null ? error.getMessage() : errorBody)); return null; } @@ -176,11 +163,8 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator private void log(Environment result) { if (logger.isInfoEnabled()) { - logger.info(String.format( - "Located environment: name=%s, profiles=%s, label=%s, version=%s, state=%s", - result.getName(), - result.getProfiles() == null ? "" - : Arrays.asList(result.getProfiles()), + logger.info(String.format("Located environment: name=%s, profiles=%s, label=%s, version=%s, state=%s", + result.getName(), result.getProfiles() == null ? "" : Arrays.asList(result.getProfiles()), result.getLabel(), result.getVersion(), result.getState())); } if (logger.isDebugEnabled()) { @@ -190,17 +174,14 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator for (PropertySource propertySource : propertySourceList) { propertyCount += propertySource.getSource().size(); } - logger.debug(String.format( - "Environment %s has %d property sources with %d properties.", - result.getName(), result.getPropertySources().size(), - propertyCount)); + logger.debug(String.format("Environment %s has %d property sources with %d properties.", + result.getName(), result.getPropertySources().size(), propertyCount)); } } } - private Map translateOrigins(String name, - Map source) { + private Map translateOrigins(String name, Map source) { Map withOrigins = new LinkedHashMap<>(); for (Map.Entry entry : source.entrySet()) { boolean hasOrigin = false; @@ -208,11 +189,9 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator if (entry.getValue() instanceof Map) { @SuppressWarnings("unchecked") Map value = (Map) entry.getValue(); - if (value.size() == 2 && value.containsKey("origin") - && value.containsKey("value")) { + if (value.size() == 2 && value.containsKey("origin") && value.containsKey("value")) { Origin origin = new ConfigServiceOrigin(name, value.get("origin")); - OriginTrackedValue trackedValue = OriginTrackedValue - .of(value.get("value"), origin); + OriginTrackedValue trackedValue = OriginTrackedValue.of(value.get("value"), origin); withOrigins.put(entry.getKey(), trackedValue); hasOrigin = true; } @@ -231,8 +210,8 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator } } - private Environment getRemoteEnvironment(RestTemplate restTemplate, - ConfigClientProperties properties, String label, String state) { + private Environment getRemoteEnvironment(RestTemplate restTemplate, ConfigClientProperties properties, String label, + String state) { String path = "/{name}/{profile}"; String name = properties.getName(); String profile = properties.getProfile(); @@ -261,8 +240,7 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator try { HttpHeaders headers = new HttpHeaders(); - headers.setAccept( - Collections.singletonList(MediaType.parseMediaType(V2_JSON))); + headers.setAccept(Collections.singletonList(MediaType.parseMediaType(V2_JSON))); addAuthorizationToken(properties, headers, username, password); if (StringUtils.hasText(token)) { headers.add(TOKEN_HEADER, token); @@ -272,8 +250,7 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator } final HttpEntity entity = new HttpEntity<>((Void) null, headers); - response = restTemplate.exchange(uri + path, HttpMethod.GET, entity, - Environment.class, args); + response = restTemplate.exchange(uri + path, HttpMethod.GET, entity, Environment.class, args); } catch (HttpClientErrorException e) { if (e.getStatusCode() != HttpStatus.NOT_FOUND) { @@ -281,8 +258,7 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator } } catch (ResourceAccessException e) { - logger.info("Connect Timeout Exception on Url - " + uri - + ". Will be trying the next url if available"); + logger.info("Connect Timeout Exception on Url - " + uri + ". Will be trying the next url if available"); if (i == noOfUrls - 1) { throw e; } @@ -321,23 +297,20 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator headers.remove(AUTHORIZATION); // To avoid redundant addition of header } if (!headers.isEmpty()) { - template.setInterceptors(Arrays.asList( - new GenericRequestHeaderInterceptor(headers))); + template.setInterceptors( + Arrays.asList(new GenericRequestHeaderInterceptor(headers))); } return template; } - private ClientHttpRequestFactory createHttpRquestFactory( - ConfigClientProperties client) { + private ClientHttpRequestFactory createHttpRquestFactory(ConfigClientProperties client) { if (client.getTls().isEnabled()) { try { SSLContextFactory factory = new SSLContextFactory(client.getTls()); SSLContext sslContext = factory.createSSLContext(); - HttpClient httpClient = HttpClients.custom().setSSLContext(sslContext) - .build(); - HttpComponentsClientHttpRequestFactory result = new HttpComponentsClientHttpRequestFactory( - httpClient); + HttpClient httpClient = HttpClients.custom().setSSLContext(sslContext).build(); + HttpComponentsClientHttpRequestFactory result = new HttpComponentsClientHttpRequestFactory(httpClient); result.setReadTimeout(client.getRequestReadTimeout()); result.setConnectTimeout(client.getRequestConnectTimeout()); @@ -346,8 +319,7 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator } catch (GeneralSecurityException | IOException ex) { logger.error(ex); - throw new IllegalStateException( - "Failed to create config client with TLS.", ex); + throw new IllegalStateException("Failed to create config client with TLS.", ex); } } @@ -357,13 +329,12 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator return result; } - private void addAuthorizationToken(ConfigClientProperties configClientProperties, - HttpHeaders httpHeaders, String username, String password) { + private void addAuthorizationToken(ConfigClientProperties configClientProperties, HttpHeaders httpHeaders, + String username, String password) { String authorization = configClientProperties.getHeaders().get(AUTHORIZATION); if (password != null && authorization != null) { - throw new IllegalStateException( - "You must set either 'password' or 'authorization'"); + throw new IllegalStateException("You must set either 'password' or 'authorization'"); } if (password != null) { @@ -379,8 +350,7 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator /** * Adds the provided headers to the request. */ - public static class GenericRequestHeaderInterceptor - implements ClientHttpRequestInterceptor { + public static class GenericRequestHeaderInterceptor implements ClientHttpRequestInterceptor { private final Map headers; @@ -389,8 +359,8 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator } @Override - public ClientHttpResponse intercept(HttpRequest request, byte[] body, - ClientHttpRequestExecution execution) throws IOException { + public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) + throws IOException { for (Entry header : this.headers.entrySet()) { request.getHeaders().add(header.getKey(), header.getValue()); } @@ -418,8 +388,7 @@ public class ConfigServicePropertySourceLocator implements PropertySourceLocator @Override public String toString() { - return "Config Server " + this.remotePropertySource + ":" - + this.origin.toString(); + return "Config Server " + this.remotePropertySource + ":" + this.origin.toString(); } } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfiguration.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfiguration.java index 01638336..78a3477e 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfiguration.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfiguration.java @@ -43,15 +43,13 @@ import org.springframework.context.event.SmartApplicationListener; * * @author Dave Syer */ -@ConditionalOnProperty(value = "spring.cloud.config.discovery.enabled", - matchIfMissing = false) +@ConditionalOnProperty(value = "spring.cloud.config.discovery.enabled", matchIfMissing = false) @Configuration(proxyBeanMethods = false) @Import({ UtilAutoConfiguration.class }) @EnableDiscoveryClient public class DiscoveryClientConfigServiceBootstrapConfiguration { - private static Log logger = LogFactory - .getLog(DiscoveryClientConfigServiceBootstrapConfiguration.class); + private static Log logger = LogFactory.getLog(DiscoveryClientConfigServiceBootstrapConfiguration.class); @Bean public ConfigServerInstanceProvider configServerInstanceProvider( @@ -63,8 +61,7 @@ public class DiscoveryClientConfigServiceBootstrapConfiguration { } DiscoveryClient client = discoveryClient.getIfAvailable(); if (client == null) { - throw new IllegalStateException( - "ConfigServerInstanceProvider reqiures a DiscoveryClient or Function"); + throw new IllegalStateException("ConfigServerInstanceProvider reqiures a DiscoveryClient or Function"); } return new ConfigServerInstanceProvider(client); } @@ -83,8 +80,7 @@ public class DiscoveryClientConfigServiceBootstrapConfiguration { private final HeartbeatMonitor monitor = new HeartbeatMonitor(); - private HeartbeatListener(ConfigClientProperties config, - ConfigServerInstanceProvider instanceProvider) { + private HeartbeatListener(ConfigClientProperties config, ConfigServerInstanceProvider instanceProvider) { this.config = config; this.instanceProvider = instanceProvider; } @@ -119,8 +115,7 @@ public class DiscoveryClientConfigServiceBootstrapConfiguration { try { String serviceId = this.config.getDiscovery().getServiceId(); List listOfUrls = new ArrayList<>(); - List serviceInstances = this.instanceProvider - .getConfigServerInstances(serviceId); + List serviceInstances = this.instanceProvider.getConfigServerInstances(serviceId); for (int i = 0; i < serviceInstances.size(); i++) { diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/Environment.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/Environment.java index 070f0d24..80d2e384 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/Environment.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/Environment.java @@ -60,13 +60,11 @@ public class Environment { * @param env Spring Environment */ public Environment(Environment env) { - this(env.getName(), env.getProfiles(), env.getLabel(), env.getVersion(), - env.getState()); + this(env.getName(), env.getProfiles(), env.getLabel(), env.getVersion(), env.getState()); } @JsonCreator - public Environment(@JsonProperty("name") String name, - @JsonProperty("profiles") String[] profiles, + public Environment(@JsonProperty("name") String name, @JsonProperty("profiles") String[] profiles, @JsonProperty("label") String label, @JsonProperty("version") String version, @JsonProperty("state") String state) { super(); @@ -161,10 +159,9 @@ public class Environment { @Override public String toString() { - return "Environment [name=" + this.name + ", profiles=" - + Arrays.asList(this.profiles) + ", label=" + this.label - + ", propertySources=" + this.propertySources + ", version=" - + this.version + ", state=" + this.state + "]"; + return "Environment [name=" + this.name + ", profiles=" + Arrays.asList(this.profiles) + ", label=" + this.label + + ", propertySources=" + this.propertySources + ", version=" + this.version + ", state=" + this.state + + "]"; } } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/PropertySource.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/PropertySource.java index f3ecaa37..dfd0680c 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/PropertySource.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/PropertySource.java @@ -35,8 +35,7 @@ public class PropertySource { private Map source; @JsonCreator - public PropertySource(@JsonProperty("name") String name, - @JsonProperty("source") Map source) { + public PropertySource(@JsonProperty("name") String name, @JsonProperty("source") Map source) { this.name = name; this.source = source; } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/PropertyValueDescriptor.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/PropertyValueDescriptor.java index c1d75a3b..02532294 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/PropertyValueDescriptor.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/environment/PropertyValueDescriptor.java @@ -31,8 +31,7 @@ public final class PropertyValueDescriptor { private String origin; @JsonCreator - public PropertyValueDescriptor(@JsonProperty("value") Object value, - @JsonProperty("origin") String origin) { + public PropertyValueDescriptor(@JsonProperty("value") Object value, @JsonProperty("origin") String origin) { this.value = value; this.origin = origin; } diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/BaseDiscoveryClientConfigServiceBootstrapConfigurationTests.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/BaseDiscoveryClientConfigServiceBootstrapConfigurationTests.java index 8a26a68c..d6ffdddd 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/BaseDiscoveryClientConfigServiceBootstrapConfigurationTests.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/BaseDiscoveryClientConfigServiceBootstrapConfigurationTests.java @@ -48,8 +48,7 @@ public abstract class BaseDiscoveryClientConfigServiceBootstrapConfigurationTest protected DiscoveryClient client = Mockito.mock(DiscoveryClient.class); - protected ServiceInstance info = new DefaultServiceInstance("app:8877", "app", "foo", - 8877, false); + protected ServiceInstance info = new DefaultServiceInstance("app:8877", "app", "foo", 8877, false); @After public void close() { @@ -59,38 +58,30 @@ public abstract class BaseDiscoveryClientConfigServiceBootstrapConfigurationTest } void givenDiscoveryClientReturnsNoInfo() { - given(this.client.getInstances(DEFAULT_CONFIG_SERVER)) - .willReturn(Collections.emptyList()); + given(this.client.getInstances(DEFAULT_CONFIG_SERVER)).willReturn(Collections.emptyList()); } void givenDiscoveryClientReturnsInfo() { - given(this.client.getInstances(DEFAULT_CONFIG_SERVER)) - .willReturn(Collections.singletonList(this.info)); + given(this.client.getInstances(DEFAULT_CONFIG_SERVER)).willReturn(Collections.singletonList(this.info)); } - void givenDiscoveryClientReturnsInfoForMultipleInstances(ServiceInstance info1, - ServiceInstance info2) { - given(this.client.getInstances(DEFAULT_CONFIG_SERVER)) - .willReturn(Arrays.asList(info1, info2)); + void givenDiscoveryClientReturnsInfoForMultipleInstances(ServiceInstance info1, ServiceInstance info2) { + given(this.client.getInstances(DEFAULT_CONFIG_SERVER)).willReturn(Arrays.asList(info1, info2)); } void givenDiscoveryClientReturnsInfoOnThirdTry() { - given(this.client.getInstances(DEFAULT_CONFIG_SERVER)) - .willReturn(Collections.emptyList()) - .willReturn(Collections.emptyList()) - .willReturn(Collections.singletonList(this.info)); + given(this.client.getInstances(DEFAULT_CONFIG_SERVER)).willReturn(Collections.emptyList()) + .willReturn(Collections.emptyList()).willReturn(Collections.singletonList(this.info)); } void expectNoInstancesOfConfigServerException() { this.expectedException.expect(IllegalStateException.class); - this.expectedException.expectMessage( - "No instances found of configserver (" + DEFAULT_CONFIG_SERVER + ")"); + this.expectedException.expectMessage("No instances found of configserver (" + DEFAULT_CONFIG_SERVER + ")"); } void expectDiscoveryClientConfigServiceBootstrapConfigurationIsSetup() { - assertThat(this.context.getBeanNamesForType( - DiscoveryClientConfigServiceBootstrapConfiguration.class).length) - .isEqualTo(1); + assertThat(this.context.getBeanNamesForType(DiscoveryClientConfigServiceBootstrapConfiguration.class).length) + .isEqualTo(1); } void expectConfigClientPropertiesHasDefaultConfiguration() { @@ -102,16 +93,13 @@ public abstract class BaseDiscoveryClientConfigServiceBootstrapConfigurationTest } void expectConfigClientPropertiesHasConfiguration(final String expectedUri) { - ConfigClientProperties properties = this.context - .getBean(ConfigClientProperties.class); + ConfigClientProperties properties = this.context.getBean(ConfigClientProperties.class); Credentials credentials = properties.getCredentials(0); assertThat(credentials.getUri()).isEqualTo(expectedUri); } - void expectConfigClientPropertiesHasMultipleUris(final String expectedUri1, - final String expectedUri2) { - ConfigClientProperties properties = this.context - .getBean(ConfigClientProperties.class); + void expectConfigClientPropertiesHasMultipleUris(final String expectedUri1, final String expectedUri2) { + ConfigClientProperties properties = this.context.getBean(ConfigClientProperties.class); assertThat(properties.getUri().length).isEqualTo(2); Credentials credentials1 = properties.getCredentials(0); Credentials credentials2 = properties.getCredentials(1); @@ -136,13 +124,11 @@ public abstract class BaseDiscoveryClientConfigServiceBootstrapConfigurationTest TestPropertyValues.of(env).applyTo(this.context); TestPropertyValues.of("eureka.client.enabled=false").applyTo(this.context); if (registerDiscoveryClient) { - this.context.getDefaultListableBeanFactory() - .registerSingleton("discoveryClient", this.client); + this.context.getDefaultListableBeanFactory().registerSingleton("discoveryClient", this.client); } - this.context.register(UtilAutoConfiguration.class, - PropertyPlaceholderAutoConfiguration.class, - DiscoveryClientConfigServiceBootstrapConfiguration.class, - ConfigServiceBootstrapConfiguration.class, ConfigClientProperties.class); + this.context.register(UtilAutoConfiguration.class, PropertyPlaceholderAutoConfiguration.class, + DiscoveryClientConfigServiceBootstrapConfiguration.class, ConfigServiceBootstrapConfiguration.class, + ConfigClientProperties.class); if (refresh) { this.context.refresh(); } diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigClientAutoConfigurationTests.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigClientAutoConfigurationTests.java index 722b7a2d..7e8e3a33 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigClientAutoConfigurationTests.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigClientAutoConfigurationTests.java @@ -32,18 +32,17 @@ public class ConfigClientAutoConfigurationTests { public void sunnyDay() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( ConfigClientAutoConfiguration.class); - assertThat(BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context, - ConfigClientProperties.class).length).isEqualTo(1); + assertThat(BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context, ConfigClientProperties.class).length) + .isEqualTo(1); context.close(); } @Test public void withParent() { - ConfigurableApplicationContext context = new SpringApplicationBuilder( - ConfigClientAutoConfiguration.class).child(Object.class) - .web(WebApplicationType.NONE).run(); - assertThat(BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context, - ConfigClientProperties.class).length).isEqualTo(1); + ConfigurableApplicationContext context = new SpringApplicationBuilder(ConfigClientAutoConfiguration.class) + .child(Object.class).web(WebApplicationType.NONE).run(); + assertThat(BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context, ConfigClientProperties.class).length) + .isEqualTo(1); context.close(); } diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigClientPropertiesTests.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigClientPropertiesTests.java index a192ec45..a4c0de0a 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigClientPropertiesTests.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigClientPropertiesTests.java @@ -37,8 +37,7 @@ public class ConfigClientPropertiesTests { @Rule public ExpectedException expected = ExpectedException.none(); - private ConfigClientProperties locator = new ConfigClientProperties( - new StandardEnvironment()); + private ConfigClientProperties locator = new ConfigClientProperties(new StandardEnvironment()); @Test public void vanilla() { @@ -128,11 +127,9 @@ public class ConfigClientPropertiesTests { @Test public void testThatExplicitUsernamePasswordTakePrecedence() { - ConfigClientProperties properties = new ConfigClientProperties( - new MockEnvironment()); + ConfigClientProperties properties = new ConfigClientProperties(new MockEnvironment()); - properties.setUri( - new String[] { "https://userInfoName:userInfoPW@localhost:8888/" }); + properties.setUri(new String[] { "https://userInfoName:userInfoPW@localhost:8888/" }); properties.setUsername("explicitName"); properties.setPassword("explicitPW"); Credentials credentials = properties.getCredentials(0); @@ -142,8 +139,7 @@ public class ConfigClientPropertiesTests { @Test public void checkIfExceptionThrownForNegativeIndex() { - this.locator.setUri( - new String[] { "http://localhost:8888", "http://localhost:8889" }); + this.locator.setUri(new String[] { "http://localhost:8888", "http://localhost:8889" }); this.expected.expect(IllegalStateException.class); this.expected.expectMessage("Trying to access an invalid array index"); Credentials credentials = this.locator.getCredentials(-1); @@ -151,8 +147,7 @@ public class ConfigClientPropertiesTests { @Test public void checkIfExceptionThrownForPositiveInvalidIndex() { - this.locator.setUri( - new String[] { "http://localhost:8888", "http://localhost:8889" }); + this.locator.setUri(new String[] { "http://localhost:8888", "http://localhost:8889" }); this.expected.expect(IllegalStateException.class); this.expected.expectMessage("Trying to access an invalid array index"); Credentials credentials = this.locator.getCredentials(3); @@ -160,8 +155,7 @@ public class ConfigClientPropertiesTests { @Test public void checkIfExceptionThrownForIndexEqualToLength() { - this.locator.setUri( - new String[] { "http://localhost:8888", "http://localhost:8889" }); + this.locator.setUri(new String[] { "http://localhost:8888", "http://localhost:8889" }); this.expected.expect(IllegalStateException.class); this.expected.expectMessage("Trying to access an invalid array index"); Credentials credentials = this.locator.getCredentials(2); diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerBootstrapConfigurationTests.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerBootstrapConfigurationTests.java index 56ae0468..20a58f50 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerBootstrapConfigurationTests.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerBootstrapConfigurationTests.java @@ -31,14 +31,13 @@ public class ConfigServerBootstrapConfigurationTests { @Test public void withHealthIndicator() { ConfigurableApplicationContext context = new SpringApplicationBuilder( - PropertySourceBootstrapConfiguration.class, - ConfigServiceBootstrapConfiguration.class) - .child(ConfigClientAutoConfiguration.class) - .web(WebApplicationType.NONE).run(); - assertThat(BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context, - ConfigClientProperties.class).length).isEqualTo(1); - assertThat(BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context, - ConfigServerHealthIndicator.class).length).isEqualTo(1); + PropertySourceBootstrapConfiguration.class, ConfigServiceBootstrapConfiguration.class) + .child(ConfigClientAutoConfiguration.class).web(WebApplicationType.NONE).run(); + assertThat(BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context, ConfigClientProperties.class).length) + .isEqualTo(1); + assertThat( + BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context, ConfigServerHealthIndicator.class).length) + .isEqualTo(1); context.close(); } diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolverTests.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolverTests.java index 0526791f..bcc25e46 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolverTests.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolverTests.java @@ -32,8 +32,7 @@ public class ConfigServerConfigDataLocationResolverTests { private ConfigServerConfigDataLocationResolver resolver; - private ConfigDataLocationResolverContext context = mock( - ConfigDataLocationResolverContext.class); + private ConfigDataLocationResolverContext context = mock(ConfigDataLocationResolverContext.class); private MockEnvironment environment; diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerHealthIndicatorTests.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerHealthIndicatorTests.java index 0fc702e6..c527626f 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerHealthIndicatorTests.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServerHealthIndicatorTests.java @@ -43,8 +43,8 @@ public class ConfigServerHealthIndicatorTests { private ConfigurableEnvironment environment = mock(ConfigurableEnvironment.class); - private ConfigServerHealthIndicator indicator = new ConfigServerHealthIndicator( - this.environment, new ConfigClientHealthProperties()); + private ConfigServerHealthIndicator indicator = new ConfigServerHealthIndicator(this.environment, + new ConfigClientHealthProperties()); @Test public void testDefaultStatus() { @@ -66,8 +66,7 @@ public class ConfigServerHealthIndicatorTests { } protected void setupPropertySources() { - PropertySource source = new MapPropertySource("configClient", - Collections.emptyMap()); + PropertySource source = new MapPropertySource("configClient", Collections.emptyMap()); MutablePropertySources sources = new MutablePropertySources(); sources.addFirst(source); doReturn(sources).when(this.environment).getPropertySources(); diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServiceBootstrapConfigurationTest.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServiceBootstrapConfigurationTest.java index b96acddd..be7d3fc0 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServiceBootstrapConfigurationTest.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServiceBootstrapConfigurationTest.java @@ -60,15 +60,12 @@ public class ConfigServiceBootstrapConfigurationTest { this.context.register(ConfigServiceBootstrapConfiguration.class); this.context.refresh(); - ConfigServicePropertySourceLocator locator = this.context - .getBean(ConfigServicePropertySourceLocator.class); + ConfigServicePropertySourceLocator locator = this.context.getBean(ConfigServicePropertySourceLocator.class); - Field restTemplateField = ReflectionUtils - .findField(ConfigServicePropertySourceLocator.class, "restTemplate"); + Field restTemplateField = ReflectionUtils.findField(ConfigServicePropertySourceLocator.class, "restTemplate"); restTemplateField.setAccessible(true); - RestTemplate restTemplate = (RestTemplate) ReflectionUtils - .getField(restTemplateField, locator); + RestTemplate restTemplate = (RestTemplate) ReflectionUtils.getField(restTemplateField, locator); assertThat(restTemplate).isNotNull(); } diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServicePropertySourceLocatorTests.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServicePropertySourceLocatorTests.java index bb2a5cad..e3848821 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServicePropertySourceLocatorTests.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/ConfigServicePropertySourceLocatorTests.java @@ -78,17 +78,15 @@ public class ConfigServicePropertySourceLocatorTests { mockRequestResponseWithoutLabel(new ResponseEntity<>(body, HttpStatus.OK)); this.locator.setRestTemplate(this.restTemplate); - ArgumentCaptor argumentCaptor = ArgumentCaptor - .forClass(HttpEntity.class); + ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(HttpEntity.class); assertThat(this.locator.locateCollection(this.environment)).isNotNull(); - Mockito.verify(this.restTemplate).exchange(anyString(), any(HttpMethod.class), - argumentCaptor.capture(), any(Class.class), anyString(), anyString()); + Mockito.verify(this.restTemplate).exchange(anyString(), any(HttpMethod.class), argumentCaptor.capture(), + any(Class.class), anyString(), anyString()); HttpEntity httpEntity = argumentCaptor.getValue(); - assertThat(httpEntity.getHeaders().getAccept()) - .containsExactly(MediaType.parseMediaType(V2_JSON)); + assertThat(httpEntity.getHeaders().getAccept()).containsExactly(MediaType.parseMediaType(V2_JSON)); } @Test @@ -96,26 +94,22 @@ public class ConfigServicePropertySourceLocatorTests { Environment body = new Environment("app", "master"); mockRequestResponseWithLabel(new ResponseEntity<>(body, HttpStatus.OK), "v1.0.0"); this.locator.setRestTemplate(this.restTemplate); - TestPropertyValues.of("spring.cloud.config.label:v1.0.0") - .applyTo(this.environment); + TestPropertyValues.of("spring.cloud.config.label:v1.0.0").applyTo(this.environment); assertThat(this.locator.locateCollection(this.environment)).isNotNull(); } @Test public void sunnyDayWithLabelThatContainsASlash() { Environment body = new Environment("app", "master"); - mockRequestResponseWithLabel(new ResponseEntity<>(body, HttpStatus.OK), - "release(_)v1.0.0"); + mockRequestResponseWithLabel(new ResponseEntity<>(body, HttpStatus.OK), "release(_)v1.0.0"); this.locator.setRestTemplate(this.restTemplate); - TestPropertyValues.of("spring.cloud.config.label:release/v1.0.0") - .applyTo(this.environment); + TestPropertyValues.of("spring.cloud.config.label:release/v1.0.0").applyTo(this.environment); assertThat(this.locator.locateCollection(this.environment)).isNotNull(); } @Test public void sunnyDayWithNoSuchLabel() { - mockRequestResponseWithLabel( - new ResponseEntity<>((Void) null, HttpStatus.NOT_FOUND), "nosuchlabel"); + mockRequestResponseWithLabel(new ResponseEntity<>((Void) null, HttpStatus.NOT_FOUND), "nosuchlabel"); this.locator.setRestTemplate(this.restTemplate); assertThat(this.locator.locateCollection(this.environment)).isEmpty(); } @@ -125,12 +119,9 @@ public class ConfigServicePropertySourceLocatorTests { ConfigClientProperties defaults = new ConfigClientProperties(this.environment); defaults.setFailFast(true); this.locator = new ConfigServicePropertySourceLocator(defaults); - mockRequestResponseWithLabel( - new ResponseEntity<>((Void) null, HttpStatus.NOT_FOUND), - "release(_)v1.0.0"); + mockRequestResponseWithLabel(new ResponseEntity<>((Void) null, HttpStatus.NOT_FOUND), "release(_)v1.0.0"); this.locator.setRestTemplate(this.restTemplate); - TestPropertyValues.of("spring.cloud.config.label:release/v1.0.1") - .applyTo(this.environment); + TestPropertyValues.of("spring.cloud.config.label:release/v1.0.1").applyTo(this.environment); this.expected.expect(IsInstanceOf.instanceOf(IllegalStateException.class)); this.expected.expectMessage( "Could not locate PropertySource and the fail fast property is set, failing: None of labels [release/v1.0.1] found"); @@ -139,20 +130,18 @@ public class ConfigServicePropertySourceLocatorTests { @Test public void failsQuietly() { - mockRequestResponseWithoutLabel( - new ResponseEntity<>("Wah!", HttpStatus.INTERNAL_SERVER_ERROR)); + mockRequestResponseWithoutLabel(new ResponseEntity<>("Wah!", HttpStatus.INTERNAL_SERVER_ERROR)); this.locator.setRestTemplate(this.restTemplate); assertThat(this.locator.locateCollection(this.environment)).isEmpty(); } @Test public void failFast() throws Exception { - ClientHttpRequestFactory requestFactory = Mockito - .mock(ClientHttpRequestFactory.class); + ClientHttpRequestFactory requestFactory = Mockito.mock(ClientHttpRequestFactory.class); ClientHttpRequest request = Mockito.mock(ClientHttpRequest.class); ClientHttpResponse response = Mockito.mock(ClientHttpResponse.class); - Mockito.when(requestFactory.createRequest(Mockito.any(URI.class), - Mockito.any(HttpMethod.class))).thenReturn(request); + Mockito.when(requestFactory.createRequest(Mockito.any(URI.class), Mockito.any(HttpMethod.class))) + .thenReturn(request); RestTemplate restTemplate = new RestTemplate(requestFactory); ConfigClientProperties defaults = new ConfigClientProperties(this.environment); defaults.setFailFast(true); @@ -162,25 +151,21 @@ public class ConfigServicePropertySourceLocatorTests { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); Mockito.when(response.getHeaders()).thenReturn(headers); - Mockito.when(response.getStatusCode()) - .thenReturn(HttpStatus.INTERNAL_SERVER_ERROR); - Mockito.when(response.getBody()) - .thenReturn(new ByteArrayInputStream("{}".getBytes())); + Mockito.when(response.getStatusCode()).thenReturn(HttpStatus.INTERNAL_SERVER_ERROR); + Mockito.when(response.getBody()).thenReturn(new ByteArrayInputStream("{}".getBytes())); this.locator.setRestTemplate(restTemplate); - this.expected - .expectCause(IsInstanceOf.instanceOf(IllegalArgumentException.class)); + this.expected.expectCause(IsInstanceOf.instanceOf(IllegalArgumentException.class)); this.expected.expectMessage("fail fast property is set"); this.locator.locateCollection(this.environment); } @Test public void failFastWhenNotFound() throws Exception { - ClientHttpRequestFactory requestFactory = Mockito - .mock(ClientHttpRequestFactory.class); + ClientHttpRequestFactory requestFactory = Mockito.mock(ClientHttpRequestFactory.class); ClientHttpRequest request = Mockito.mock(ClientHttpRequest.class); ClientHttpResponse response = Mockito.mock(ClientHttpResponse.class); - Mockito.when(requestFactory.createRequest(Mockito.any(URI.class), - Mockito.any(HttpMethod.class))).thenReturn(request); + Mockito.when(requestFactory.createRequest(Mockito.any(URI.class), Mockito.any(HttpMethod.class))) + .thenReturn(request); RestTemplate restTemplate = new RestTemplate(requestFactory); ConfigClientProperties defaults = new ConfigClientProperties(this.environment); defaults.setFailFast(true); @@ -191,22 +176,19 @@ public class ConfigServicePropertySourceLocatorTests { headers.setContentType(MediaType.APPLICATION_JSON); Mockito.when(response.getHeaders()).thenReturn(headers); Mockito.when(response.getStatusCode()).thenReturn(HttpStatus.NOT_FOUND); - Mockito.when(response.getBody()) - .thenReturn(new ByteArrayInputStream("".getBytes())); + Mockito.when(response.getBody()).thenReturn(new ByteArrayInputStream("".getBytes())); this.locator.setRestTemplate(restTemplate); - this.expected - .expectCause(IsInstanceOf.instanceOf(IllegalArgumentException.class)); + this.expected.expectCause(IsInstanceOf.instanceOf(IllegalArgumentException.class)); this.expected.expectMessage("fail fast property is set"); this.locator.locateCollection(this.environment); } @Test public void failFastWhenBothPasswordAndAuthorizationPropertiesSet() throws Exception { - ClientHttpRequestFactory requestFactory = Mockito - .mock(ClientHttpRequestFactory.class); + ClientHttpRequestFactory requestFactory = Mockito.mock(ClientHttpRequestFactory.class); ClientHttpRequest request = Mockito.mock(ClientHttpRequest.class); - Mockito.when(requestFactory.createRequest(Mockito.any(URI.class), - Mockito.any(HttpMethod.class))).thenReturn(request); + Mockito.when(requestFactory.createRequest(Mockito.any(URI.class), Mockito.any(HttpMethod.class))) + .thenReturn(request); ConfigClientProperties defaults = new ConfigClientProperties(this.environment); defaults.setFailFast(true); defaults.setUsername("username"); @@ -214,21 +196,19 @@ public class ConfigServicePropertySourceLocatorTests { defaults.getHeaders().put(AUTHORIZATION, "Basic dXNlcm5hbWU6cGFzc3dvcmQNCg=="); this.locator = new ConfigServicePropertySourceLocator(defaults); this.expected.expect(IllegalStateException.class); - this.expected.expectMessage( - "Could not locate PropertySource and the fail fast property is set, failing"); + this.expected.expectMessage("Could not locate PropertySource and the fail fast property is set, failing"); this.locator.locateCollection(this.environment); } @Test public void interceptorShouldAddHeadersWhenHeadersPropertySet() throws Exception { MockClientHttpRequest request = new MockClientHttpRequest(); - ClientHttpRequestExecution execution = Mockito - .mock(ClientHttpRequestExecution.class); + ClientHttpRequestExecution execution = Mockito.mock(ClientHttpRequestExecution.class); byte[] body = new byte[] {}; Map headers = new HashMap<>(); headers.put("X-Example-Version", "2.1"); - new ConfigServicePropertySourceLocator.GenericRequestHeaderInterceptor(headers) - .intercept(request, body, execution); + new ConfigServicePropertySourceLocator.GenericRequestHeaderInterceptor(headers).intercept(request, body, + execution); Mockito.verify(execution).execute(request, body); assertThat(request.getHeaders().getFirst("X-Example-Version")).isEqualTo("2.1"); } @@ -240,8 +220,7 @@ public class ConfigServicePropertySourceLocatorTests { this.locator = new ConfigServicePropertySourceLocator(defaults); String username = "user"; String password = "pass"; - ReflectionTestUtils.invokeMethod(this.locator, "addAuthorizationToken", defaults, - headers, username, password); + ReflectionTestUtils.invokeMethod(this.locator, "addAuthorizationToken", defaults, headers, username, password); assertThat(headers).hasSize(1); } @@ -253,8 +232,7 @@ public class ConfigServicePropertySourceLocatorTests { this.locator = new ConfigServicePropertySourceLocator(defaults); String username = "user"; String password = null; - ReflectionTestUtils.invokeMethod(this.locator, "addAuthorizationToken", defaults, - headers, username, password); + ReflectionTestUtils.invokeMethod(this.locator, "addAuthorizationToken", defaults, headers, username, password); assertThat(headers).hasSize(1); } @@ -268,8 +246,7 @@ public class ConfigServicePropertySourceLocatorTests { String password = "pass"; this.expected.expect(IllegalStateException.class); this.expected.expectMessage("You must set either 'password' or 'authorization'"); - ReflectionTestUtils.invokeMethod(this.locator, "addAuthorizationToken", defaults, - headers, username, password); + ReflectionTestUtils.invokeMethod(this.locator, "addAuthorizationToken", defaults, headers, username, password); } @Test @@ -298,15 +275,12 @@ public class ConfigServicePropertySourceLocatorTests { defaults.getHeaders().put(AUTHORIZATION, "Basic dXNlcm5hbWU6cGFzc3dvcmQNCg=="); defaults.getHeaders().put("key", "value"); this.locator = new ConfigServicePropertySourceLocator(defaults); - RestTemplate restTemplate = ReflectionTestUtils.invokeMethod(this.locator, - "getSecureRestTemplate", defaults); - Iterator iterator = restTemplate.getInterceptors() - .iterator(); + RestTemplate restTemplate = ReflectionTestUtils.invokeMethod(this.locator, "getSecureRestTemplate", defaults); + Iterator iterator = restTemplate.getInterceptors().iterator(); while (iterator.hasNext()) { GenericRequestHeaderInterceptor genericRequestHeaderInterceptor = (GenericRequestHeaderInterceptor) iterator .next(); - assertThat(genericRequestHeaderInterceptor.getHeaders().get(AUTHORIZATION)) - .isEqualTo(null); + assertThat(genericRequestHeaderInterceptor.getHeaders().get(AUTHORIZATION)).isEqualTo(null); } } @@ -315,32 +289,29 @@ public class ConfigServicePropertySourceLocatorTests { public void shouldPreserveOrder() { Environment body = new Environment("app", "master"); LinkedHashMap properties = new LinkedHashMap<>(); - properties.put("zuul.routes.specificproduct.path", - originValue("/v1/product/electronics/**", - "Config Server /config-repo/zuul-service/zuul-service.yml:5:13")); + properties.put("zuul.routes.specificproduct.path", originValue("/v1/product/electronics/**", + "Config Server /config-repo/zuul-service/zuul-service.yml:5:13")); - properties.put("zuul.routes.specificproduct.service-id", - originValue("electronic-product-service", - "Config Server /config-repo/zuul-service/zuul-service.yml:6:19")); + properties.put("zuul.routes.specificproduct.service-id", originValue("electronic-product-service", + "Config Server /config-repo/zuul-service/zuul-service.yml:6:19")); - properties.put("zuul.routes.specificproduct.strip-prefix", originValue("false", - "Config Server /config-repo/zuul-service/zuul-service.yml:7:21")); + properties.put("zuul.routes.specificproduct.strip-prefix", + originValue("false", "Config Server /config-repo/zuul-service/zuul-service.yml:7:21")); - properties.put("zuul.routes.specificproduct.sensitiveHeaders", originValue("", - "Config Server /config-repo/zuul-service/zuul-service.yml:8:24")); + properties.put("zuul.routes.specificproduct.sensitiveHeaders", + originValue("", "Config Server /config-repo/zuul-service/zuul-service.yml:8:24")); - properties.put("zuul.routes.genericproduct.path", originValue("/v1/product/**", - "Config Server /config-repo/zuul-service/zuul-service.yml:10:13")); + properties.put("zuul.routes.genericproduct.path", + originValue("/v1/product/**", "Config Server /config-repo/zuul-service/zuul-service.yml:10:13")); - properties.put("zuul.routes.genericproduct.service-id", originValue( - "product-service", - "Config Server /config-repo/zuul-service/zuul-service.yml:11:19")); + properties.put("zuul.routes.genericproduct.service-id", + originValue("product-service", "Config Server /config-repo/zuul-service/zuul-service.yml:11:19")); - properties.put("zuul.routes.genericproduct.strip-prefix", originValue("false", - "Config Server /config-repo/zuul-service/zuul-service.yml:12:21")); + properties.put("zuul.routes.genericproduct.strip-prefix", + originValue("false", "Config Server /config-repo/zuul-service/zuul-service.yml:12:21")); - properties.put("zuul.routes.genericproduct.sensitiveHeaders", originValue("", - "Config Server /config-repo/zuul-service/zuul-service.yml:13:24")); + properties.put("zuul.routes.genericproduct.sensitiveHeaders", + originValue("", "Config Server /config-repo/zuul-service/zuul-service.yml:13:24")); body.add(new PropertySource("source1", properties)); mockRequestResponseWithoutLabel(new ResponseEntity<>(body, HttpStatus.OK)); this.locator.setRestTemplate(this.restTemplate); @@ -348,8 +319,7 @@ public class ConfigServicePropertySourceLocatorTests { List> propertySources = new ArrayList<>( this.locator.locateCollection(this.environment)); assertThat(propertySources).hasSize(2); - org.springframework.core.env.PropertySource propertySource = propertySources - .get(1); + org.springframework.core.env.PropertySource propertySource = propertySources.get(1); Map source = (Map) propertySource.getSource(); Iterator iterator = source.keySet().iterator(); assertThat(iterator.next()).isEqualTo("zuul.routes.specificproduct.path"); @@ -366,26 +336,23 @@ public class ConfigServicePropertySourceLocatorTests { @SuppressWarnings("unchecked") private void mockRequestResponseWithLabel(ResponseEntity response, String label) { - Mockito.when(this.restTemplate.exchange(Mockito.any(String.class), - Mockito.any(HttpMethod.class), Mockito.any(HttpEntity.class), - Mockito.any(Class.class), anyString(), anyString(), + Mockito.when(this.restTemplate.exchange(Mockito.any(String.class), Mockito.any(HttpMethod.class), + Mockito.any(HttpEntity.class), Mockito.any(Class.class), anyString(), anyString(), ArgumentMatchers.eq(label))).thenReturn(response); } @SuppressWarnings("unchecked") private void mockRequestResponseWithoutLabel(ResponseEntity response) { - Mockito.when(this.restTemplate.exchange(Mockito.any(String.class), - Mockito.any(HttpMethod.class), Mockito.any(HttpEntity.class), - Mockito.any(Class.class), anyString(), anyString())).thenReturn(response); - } - - @SuppressWarnings("unchecked") - private void mockRequestResponseWithoutLabelWithExpectedName( - ResponseEntity response, String expectedName) { - Mockito.when(this.restTemplate.exchange(Mockito.any(String.class), - Mockito.any(HttpMethod.class), Mockito.any(HttpEntity.class), - Mockito.any(Class.class), ArgumentMatchers.eq(expectedName), anyString())) + Mockito.when(this.restTemplate.exchange(Mockito.any(String.class), Mockito.any(HttpMethod.class), + Mockito.any(HttpEntity.class), Mockito.any(Class.class), anyString(), anyString())) .thenReturn(response); } + @SuppressWarnings("unchecked") + private void mockRequestResponseWithoutLabelWithExpectedName(ResponseEntity response, String expectedName) { + Mockito.when(this.restTemplate.exchange(Mockito.any(String.class), Mockito.any(HttpMethod.class), + Mockito.any(HttpEntity.class), Mockito.any(Class.class), ArgumentMatchers.eq(expectedName), + anyString())).thenReturn(response); + } + } diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfigurationNoSpringRetryTests.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfigurationNoSpringRetryTests.java index 976893ee..af83aee6 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfigurationNoSpringRetryTests.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfigurationNoSpringRetryTests.java @@ -28,23 +28,19 @@ public class DiscoveryClientConfigServiceBootstrapConfigurationNoSpringRetryTest extends BaseDiscoveryClientConfigServiceBootstrapConfigurationTests { @Test - public void shouldFailWithExceptionGetConfigServerInstanceFromDiscoveryClient() - throws Exception { + public void shouldFailWithExceptionGetConfigServerInstanceFromDiscoveryClient() throws Exception { givenDiscoveryClientReturnsNoInfo(); expectNoInstancesOfConfigServerException(); - setup("spring.cloud.config.discovery.enabled=true", - "spring.cloud.config.fail-fast=true"); + setup("spring.cloud.config.discovery.enabled=true", "spring.cloud.config.fail-fast=true"); } @Test - public void shouldFailWithMessageGetConfigServerInstanceFromDiscoveryClient() - throws Exception { + public void shouldFailWithMessageGetConfigServerInstanceFromDiscoveryClient() throws Exception { givenDiscoveryClientReturnsNoInfo(); - setup("spring.cloud.config.discovery.enabled=true", - "spring.cloud.config.fail-fast=false"); + setup("spring.cloud.config.discovery.enabled=true", "spring.cloud.config.fail-fast=false"); expectDiscoveryClientConfigServiceBootstrapConfigurationIsSetup(); expectConfigClientPropertiesHasDefaultConfiguration(); @@ -52,12 +48,10 @@ public class DiscoveryClientConfigServiceBootstrapConfigurationNoSpringRetryTest } @Test - public void shouldSucceedGetConfigServerInstanceFromDiscoveryClient() - throws Exception { + public void shouldSucceedGetConfigServerInstanceFromDiscoveryClient() throws Exception { givenDiscoveryClientReturnsInfo(); - setup("spring.cloud.config.discovery.enabled=true", - "spring.cloud.config.fail-fast=true"); + setup("spring.cloud.config.discovery.enabled=true", "spring.cloud.config.fail-fast=true"); expectDiscoveryClientConfigServiceBootstrapConfigurationIsSetup(); expectConfigClientPropertiesHasConfigurationFromEureka(); diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfigurationTests.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfigurationTests.java index b788dbff..0b46b3e7 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfigurationTests.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/DiscoveryClientConfigServiceBootstrapConfigurationTests.java @@ -41,14 +41,11 @@ public class DiscoveryClientConfigServiceBootstrapConfigurationTests @Test public void offByDefault() throws Exception { - this.context = new AnnotationConfigApplicationContext( - DiscoveryClientConfigServiceBootstrapConfiguration.class); + this.context = new AnnotationConfigApplicationContext(DiscoveryClientConfigServiceBootstrapConfiguration.class); - assertThat(this.context.getBeanNamesForType(DiscoveryClient.class).length) + assertThat(this.context.getBeanNamesForType(DiscoveryClient.class).length).isEqualTo(0); + assertThat(this.context.getBeanNamesForType(DiscoveryClientConfigServiceBootstrapConfiguration.class).length) .isEqualTo(0); - assertThat(this.context.getBeanNamesForType( - DiscoveryClientConfigServiceBootstrapConfiguration.class).length) - .isEqualTo(0); } @Test @@ -64,14 +61,11 @@ public class DiscoveryClientConfigServiceBootstrapConfigurationTests @Test public void configServerInstanceProviderFunction() { - ConfigServerInstanceProvider.Function function = mock( - ConfigServerInstanceProvider.Function.class); - given(function.apply(DEFAULT_CONFIG_SERVER)) - .willReturn(Collections.singletonList(this.info)); + ConfigServerInstanceProvider.Function function = mock(ConfigServerInstanceProvider.Function.class); + given(function.apply(DEFAULT_CONFIG_SERVER)).willReturn(Collections.singletonList(this.info)); setup(false, false, "spring.cloud.config.discovery.enabled=true"); - this.context.getDefaultListableBeanFactory().registerSingleton("myFunction", - function); + this.context.getDefaultListableBeanFactory().registerSingleton("myFunction", function); this.context.refresh(); expectDiscoveryClientConfigServiceBootstrapConfigurationIsSetup(); @@ -108,10 +102,8 @@ public class DiscoveryClientConfigServiceBootstrapConfigurationTests @Test public void multipleInstancesReturnedFromDiscovery() { - ServiceInstance info1 = new DefaultServiceInstance("app1:8888", "app", - "localhost", 8888, true); - ServiceInstance info2 = new DefaultServiceInstance("app2:8888", "app", - "localhost1", 8888, false); + ServiceInstance info1 = new DefaultServiceInstance("app1:8888", "app", "localhost", 8888, true); + ServiceInstance info2 = new DefaultServiceInstance("app2:8888", "app", "localhost1", 8888, false); givenDiscoveryClientReturnsInfoForMultipleInstances(info1, info2); setup("spring.cloud.config.discovery.enabled=true"); @@ -119,8 +111,7 @@ public class DiscoveryClientConfigServiceBootstrapConfigurationTests expectDiscoveryClientConfigServiceBootstrapConfigurationIsSetup(); verifyDiscoveryClientCalledOnce(); - expectConfigClientPropertiesHasMultipleUris("https://localhost:8888/", - "http://localhost1:8888/"); + expectConfigClientPropertiesHasMultipleUris("https://localhost:8888/", "http://localhost1:8888/"); } @@ -131,8 +122,7 @@ public class DiscoveryClientConfigServiceBootstrapConfigurationTests setup("spring.cloud.config.discovery.enabled=true"); - ConfigClientProperties locator = this.context - .getBean(ConfigClientProperties.class); + ConfigClientProperties locator = this.context.getBean(ConfigClientProperties.class); Credentials credentials = locator.getCredentials(0); assertThat(credentials.getUri()).isEqualTo("http://foo:8877/"); assertThat(credentials.getPassword()).isEqualTo("bar"); @@ -161,14 +151,11 @@ public class DiscoveryClientConfigServiceBootstrapConfigurationTests } @Test - public void shouldRetryAndSucceedGetConfigServerInstanceFromDiscoveryClient() - throws Exception { + public void shouldRetryAndSucceedGetConfigServerInstanceFromDiscoveryClient() throws Exception { givenDiscoveryClientReturnsInfoOnThirdTry(); - setup("spring.cloud.config.discovery.enabled=true", - "spring.cloud.config.retry.maxAttempts=3", - "spring.cloud.config.retry.initialInterval=10", - "spring.cloud.config.fail-fast=true"); + setup("spring.cloud.config.discovery.enabled=true", "spring.cloud.config.retry.maxAttempts=3", + "spring.cloud.config.retry.initialInterval=10", "spring.cloud.config.fail-fast=true"); expectDiscoveryClientConfigServiceBootstrapConfigurationIsSetup(); verifyDiscoveryClientCalledThreeTimes(); @@ -182,8 +169,7 @@ public class DiscoveryClientConfigServiceBootstrapConfigurationTests public void shouldNotRetryIfNotFailFastPropertySet() throws Exception { givenDiscoveryClientReturnsInfoOnThirdTry(); - setup("spring.cloud.config.discovery.enabled=true", - "spring.cloud.config.retry.maxAttempts=3", + setup("spring.cloud.config.discovery.enabled=true", "spring.cloud.config.retry.maxAttempts=3", "spring.cloud.config.retry.initialInterval=10"); expectDiscoveryClientConfigServiceBootstrapConfigurationIsSetup(); @@ -192,27 +178,21 @@ public class DiscoveryClientConfigServiceBootstrapConfigurationTests } @Test - public void shouldRetryAndFailWithExceptionGetConfigServerInstanceFromDiscoveryClient() - throws Exception { + public void shouldRetryAndFailWithExceptionGetConfigServerInstanceFromDiscoveryClient() throws Exception { givenDiscoveryClientReturnsNoInfo(); expectNoInstancesOfConfigServerException(); - setup("spring.cloud.config.discovery.enabled=true", - "spring.cloud.config.retry.maxAttempts=3", - "spring.cloud.config.retry.initialInterval=10", - "spring.cloud.config.fail-fast=true"); + setup("spring.cloud.config.discovery.enabled=true", "spring.cloud.config.retry.maxAttempts=3", + "spring.cloud.config.retry.initialInterval=10", "spring.cloud.config.fail-fast=true"); } @Test - public void shouldRetryAndFailWithMessageGetConfigServerInstanceFromDiscoveryClient() - throws Exception { + public void shouldRetryAndFailWithMessageGetConfigServerInstanceFromDiscoveryClient() throws Exception { givenDiscoveryClientReturnsNoInfo(); - setup("spring.cloud.config.discovery.enabled=true", - "spring.cloud.config.retry.maxAttempts=3", - "spring.cloud.config.retry.initialInterval=10", - "spring.cloud.config.fail-fast=false"); + setup("spring.cloud.config.discovery.enabled=true", "spring.cloud.config.retry.maxAttempts=3", + "spring.cloud.config.retry.initialInterval=10", "spring.cloud.config.fail-fast=false"); expectDiscoveryClientConfigServiceBootstrapConfigurationIsSetup(); expectConfigClientPropertiesHasDefaultConfiguration(); diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLoader.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLoader.java index 55e342d7..af5e4974 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLoader.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLoader.java @@ -28,8 +28,7 @@ import org.springframework.boot.context.config.ConfigData; import org.springframework.boot.context.config.ConfigDataLoaderContext; import org.springframework.util.ReflectionUtils; -public class TestConfigServerConfigDataLoader - extends AbstractConfigDataLoader { +public class TestConfigServerConfigDataLoader extends AbstractConfigDataLoader { public TestConfigServerConfigDataLoader(Log logger) { super(logger); @@ -41,8 +40,8 @@ public class TestConfigServerConfigDataLoader } @Override - public ConfigData load(ConfigDataLoaderContext context, - TestConfigServerConfigDataLocation location) throws IOException { + public ConfigData load(ConfigDataLoaderContext context, TestConfigServerConfigDataLocation location) + throws IOException { // This could be a RetryTemplate Function fn = dataLocation -> { try { @@ -57,11 +56,8 @@ public class TestConfigServerConfigDataLoader } public static void main(String[] args) { - new SpringApplicationBuilder(TestConfig.class) - .properties("spring.config.testconfigdata.enabled=true", - "spring.application.name=foo", - "spring.config.import=configserver:") - .run(args); + new SpringApplicationBuilder(TestConfig.class).properties("spring.config.testconfigdata.enabled=true", + "spring.application.name=foo", "spring.config.import=configserver:").run(args); } @SpringBootConfiguration diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocation.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocation.java index 5e632445..a2a92971 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocation.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocation.java @@ -21,8 +21,8 @@ import org.springframework.web.client.RestTemplate; public class TestConfigServerConfigDataLocation extends AbstractConfigDataLocation { - public TestConfigServerConfigDataLocation(RestTemplate restTemplate, - ConfigClientProperties properties, boolean optional, Profiles profiles) { + public TestConfigServerConfigDataLocation(RestTemplate restTemplate, ConfigClientProperties properties, + boolean optional, Profiles profiles) { super(restTemplate, properties, optional, profiles); } diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocationResolver.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocationResolver.java index bb64c427..8250b6a4 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocationResolver.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocationResolver.java @@ -40,23 +40,18 @@ public class TestConfigServerConfigDataLocationResolver } @Override - public boolean isResolvable(ConfigDataLocationResolverContext context, - String location) { + public boolean isResolvable(ConfigDataLocationResolverContext context, String location) { if (!location.startsWith(getPrefix())) { return false; } - Boolean enabled = context.getBinder() - .bind("spring.config.testconfigdata.enabled", Boolean.class) - .orElse(false); + Boolean enabled = context.getBinder().bind("spring.config.testconfigdata.enabled", Boolean.class).orElse(false); return enabled; } @Override - protected TestConfigServerConfigDataLocation createConfigDataLocation( - boolean optional, Profiles profiles, ConfigClientProperties properties, - RestTemplate restTemplate) { - return new TestConfigServerConfigDataLocation(restTemplate, properties, optional, - profiles); + protected TestConfigServerConfigDataLocation createConfigDataLocation(boolean optional, Profiles profiles, + ConfigClientProperties properties, RestTemplate restTemplate) { + return new TestConfigServerConfigDataLocation(restTemplate, properties, optional, profiles); } } diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BasePropertyPathNotificationExtractor.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BasePropertyPathNotificationExtractor.java index 0d8e2a5a..8a6c547b 100755 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BasePropertyPathNotificationExtractor.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BasePropertyPathNotificationExtractor.java @@ -27,18 +27,15 @@ import org.springframework.util.MultiValueMap; * @author Dave Syer * */ -public abstract class BasePropertyPathNotificationExtractor - implements PropertyPathNotificationExtractor { +public abstract class BasePropertyPathNotificationExtractor implements PropertyPathNotificationExtractor { @Override - public PropertyPathNotification extract(MultiValueMap headers, - Map request) { + public PropertyPathNotification extract(MultiValueMap headers, Map request) { if (requestBelongsToGitRepoManager(headers)) { if (request.get("commits") instanceof Collection) { Set paths = new LinkedHashSet<>(); @SuppressWarnings("unchecked") - Collection> commits = (Collection>) request - .get("commits"); + Collection> commits = (Collection>) request.get("commits"); addPaths(paths, commits); if (!paths.isEmpty()) { return new PropertyPathNotification(paths.toArray(new String[0])); @@ -64,7 +61,6 @@ public abstract class BasePropertyPathNotificationExtractor } } - protected abstract boolean requestBelongsToGitRepoManager( - MultiValueMap headers); + protected abstract boolean requestBelongsToGitRepoManager(MultiValueMap headers); } diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BitbucketPropertyPathNotificationExtractor.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BitbucketPropertyPathNotificationExtractor.java index 8bc8c661..eb1e618c 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BitbucketPropertyPathNotificationExtractor.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BitbucketPropertyPathNotificationExtractor.java @@ -31,19 +31,16 @@ import org.springframework.util.StringUtils; * */ @Order(Ordered.LOWEST_PRECEDENCE - 100) -public class BitbucketPropertyPathNotificationExtractor - implements PropertyPathNotificationExtractor { +public class BitbucketPropertyPathNotificationExtractor implements PropertyPathNotificationExtractor { @Override - public PropertyPathNotification extract(MultiValueMap headers, - Map request) { + public PropertyPathNotification extract(MultiValueMap headers, Map request) { if (("repo:push".equals(headers.getFirst("X-Event-Key")) || "pullrequest:fulfilled".equals(headers.getFirst("X-Event-Key"))) && StringUtils.hasText(headers.getFirst("X-Hook-UUID"))) { // Bitbucket cloud Object push = request.get("push"); - if (push instanceof Map - && ((Map) push).get("changes") instanceof Collection) { + if (push instanceof Map && ((Map) push).get("changes") instanceof Collection) { // Bitbucket doesn't tell us the files that changed so this is a // broadcast to all apps return new PropertyPathNotification("application.yml"); diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/CompositePropertyPathNotificationExtractor.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/CompositePropertyPathNotificationExtractor.java index b4dda731..f311c49e 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/CompositePropertyPathNotificationExtractor.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/CompositePropertyPathNotificationExtractor.java @@ -33,13 +33,11 @@ import org.springframework.util.MultiValueMap; * @author Dave Syer * */ -public class CompositePropertyPathNotificationExtractor - implements PropertyPathNotificationExtractor { +public class CompositePropertyPathNotificationExtractor implements PropertyPathNotificationExtractor { private List extractors; - public CompositePropertyPathNotificationExtractor( - List extractors) { + public CompositePropertyPathNotificationExtractor(List extractors) { this.extractors = new ArrayList<>(); if (extractors != null) { this.extractors.addAll(extractors); @@ -49,8 +47,7 @@ public class CompositePropertyPathNotificationExtractor } @Override - public PropertyPathNotification extract(MultiValueMap headers, - Map request) { + public PropertyPathNotification extract(MultiValueMap headers, Map request) { for (PropertyPathNotificationExtractor extractor : this.extractors) { PropertyPathNotification result = extractor.extract(headers, request); if (result != null) { @@ -61,12 +58,10 @@ public class CompositePropertyPathNotificationExtractor } @Order(Ordered.LOWEST_PRECEDENCE - 200) - private static class SimplePropertyPathNotificationExtractor - implements PropertyPathNotificationExtractor { + private static class SimplePropertyPathNotificationExtractor implements PropertyPathNotificationExtractor { @Override - public PropertyPathNotification extract(MultiValueMap headers, - Map request) { + public PropertyPathNotification extract(MultiValueMap headers, Map request) { Object object = request.get("path"); if (object instanceof String) { return new PropertyPathNotification((String) object); diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfiguration.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfiguration.java index e8c6ec31..f9b481ac 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfiguration.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfiguration.java @@ -41,8 +41,7 @@ public class EnvironmentMonitorAutoConfiguration { @Bean public PropertyPathEndpoint propertyPathEndpoint(BusProperties busProperties) { - return new PropertyPathEndpoint( - new CompositePropertyPathNotificationExtractor(this.extractors), + return new PropertyPathEndpoint(new CompositePropertyPathNotificationExtractor(this.extractors), busProperties.getId()); } @@ -50,46 +49,43 @@ public class EnvironmentMonitorAutoConfiguration { protected static class PropertyPathNotificationExtractorConfiguration { @Bean - @ConditionalOnProperty( - value = "spring.cloud.config.server.monitor.github.enabled", - havingValue = "true", matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.config.server.monitor.github.enabled", havingValue = "true", + matchIfMissing = true) public GithubPropertyPathNotificationExtractor githubPropertyPathNotificationExtractor() { return new GithubPropertyPathNotificationExtractor(); } @Bean - @ConditionalOnProperty( - value = "spring.cloud.config.server.monitor.gitlab.enabled", - havingValue = "true", matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.config.server.monitor.gitlab.enabled", havingValue = "true", + matchIfMissing = true) public GitlabPropertyPathNotificationExtractor gitlabPropertyPathNotificationExtractor() { return new GitlabPropertyPathNotificationExtractor(); } @Bean - @ConditionalOnProperty( - value = "spring.cloud.config.server.monitor.bitbucket.enabled", - havingValue = "true", matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.config.server.monitor.bitbucket.enabled", havingValue = "true", + matchIfMissing = true) public BitbucketPropertyPathNotificationExtractor bitbucketPropertyPathNotificationExtractor() { return new BitbucketPropertyPathNotificationExtractor(); } @Bean - @ConditionalOnProperty(value = "spring.cloud.config.server.monitor.gitea.enabled", - havingValue = "true", matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.config.server.monitor.gitea.enabled", havingValue = "true", + matchIfMissing = true) public GiteaPropertyPathNotificationExtractor giteaPropertyPathNotificationExtractor() { return new GiteaPropertyPathNotificationExtractor(); } @Bean - @ConditionalOnProperty(value = "spring.cloud.config.server.monitor.gitee.enabled", - havingValue = "true", matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.config.server.monitor.gitee.enabled", havingValue = "true", + matchIfMissing = true) public GiteePropertyPathNotificationExtractor giteePropertyPathNotificationExtractor() { return new GiteePropertyPathNotificationExtractor(); } @Bean - @ConditionalOnProperty(value = "spring.cloud.config.server.monitor.gogs.enabled", - havingValue = "true", matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.config.server.monitor.gogs.enabled", havingValue = "true", + matchIfMissing = true) public GogsPropertyPathNotificationExtractor gogsPropertyPathNotificationExtractor() { return new GogsPropertyPathNotificationExtractor(); } diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/FileMonitorConfiguration.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/FileMonitorConfiguration.java index 2575e520..cc228e1a 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/FileMonitorConfiguration.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/FileMonitorConfiguration.java @@ -165,8 +165,7 @@ public class FileMonitorConfiguration implements SmartLifecycle, ResourceLoaderA this.watcher.close(); } catch (IOException e) { - log.error("Failed to close watcher for " + this.directory.toString(), - e); + log.error("Failed to close watcher for " + this.directory.toString(), e); } } this.running = false; @@ -182,8 +181,8 @@ public class FileMonitorConfiguration implements SmartLifecycle, ResourceLoaderA @Scheduled(fixedRateString = "${spring.cloud.config.server.monitor.fixedDelay:5000}") public void poll() { for (File file : filesFromEvents()) { - this.endpoint.notifyByPath(new HttpHeaders(), Collections - .singletonMap("path", file.getAbsolutePath())); + this.endpoint.notifyByPath(new HttpHeaders(), + Collections.singletonMap("path", file.getAbsolutePath())); } } @@ -195,8 +194,7 @@ public class FileMonitorConfiguration implements SmartLifecycle, ResourceLoaderA for (AbstractScmEnvironmentRepository repository : scmRepositories) { repositoryUri = repository.getUri(); Resource resource = this.resourceLoader.getResource(repositoryUri); - if (resource instanceof FileSystemResource - || resource instanceof FileUrlResource) { + if (resource instanceof FileSystemResource || resource instanceof FileUrlResource) { paths.add(Paths.get(resource.getURI())); } } @@ -235,14 +233,14 @@ public class FileMonitorConfiguration implements SmartLifecycle, ResourceLoaderA if (event.kind() == StandardWatchEventKinds.ENTRY_CREATE || event.kind() == StandardWatchEventKinds.ENTRY_MODIFY) { Path item = (Path) event.context(); - File file = new File(((Path) key.watchable()).toAbsolutePath() - + File.separator + item.getFileName()); + File file = new File( + ((Path) key.watchable()).toAbsolutePath() + File.separator + item.getFileName()); if (file.isDirectory()) { files.addAll(walkDirectory(file.toPath())); } else { - if (!file.getPath().contains(".git") && !PatternMatchUtils - .simpleMatch(this.excludes, file.getName())) { + if (!file.getPath().contains(".git") + && !PatternMatchUtils.simpleMatch(this.excludes, file.getName())) { if (log.isDebugEnabled()) { log.debug("Watch Event: " + event.kind() + ": " + file); } @@ -252,8 +250,7 @@ public class FileMonitorConfiguration implements SmartLifecycle, ResourceLoaderA } else if (event.kind() == StandardWatchEventKinds.OVERFLOW) { if (log.isDebugEnabled()) { - log.debug("Watch Event: " + event.kind() + ": context: " - + event.context()); + log.debug("Watch Event: " + event.kind() + ": context: " + event.context()); } if (event.context() != null && event.context() instanceof Path) { files.addAll(walkDirectory((Path) event.context())); @@ -266,8 +263,7 @@ public class FileMonitorConfiguration implements SmartLifecycle, ResourceLoaderA } else { if (log.isDebugEnabled()) { - log.debug("Watch Event: " + event.kind() + ": context: " - + event.context()); + log.debug("Watch Event: " + event.kind() + ": context: " + event.context()); } } } @@ -284,8 +280,7 @@ public class FileMonitorConfiguration implements SmartLifecycle, ResourceLoaderA Files.walkFileTree(directory, new SimpleFileVisitor() { @Override - public FileVisitResult preVisitDirectory(Path dir, - BasicFileAttributes attrs) throws IOException { + public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { FileVisitResult fileVisitResult = super.preVisitDirectory(dir, attrs); // No need to monitor the git metadata if (dir.toFile().getPath().contains(".git")) { @@ -296,8 +291,7 @@ public class FileMonitorConfiguration implements SmartLifecycle, ResourceLoaderA } @Override - public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) - throws IOException { + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { FileVisitResult fileVisitResult = super.visitFile(file, attrs); walkedFiles.add(file.toFile()); return fileVisitResult; @@ -316,8 +310,7 @@ public class FileMonitorConfiguration implements SmartLifecycle, ResourceLoaderA log.debug("registering: " + dir + " for file creation events"); } try { - dir.register(this.watcher, StandardWatchEventKinds.ENTRY_CREATE, - StandardWatchEventKinds.ENTRY_MODIFY); + dir.register(this.watcher, StandardWatchEventKinds.ENTRY_CREATE, StandardWatchEventKinds.ENTRY_MODIFY); } catch (IOException e) { throw e; diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GiteaPropertyPathNotificationExtractor.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GiteaPropertyPathNotificationExtractor.java index 832a4ea5..64046951 100755 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GiteaPropertyPathNotificationExtractor.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GiteaPropertyPathNotificationExtractor.java @@ -29,8 +29,7 @@ import org.springframework.util.MultiValueMap; * */ @Order(Ordered.LOWEST_PRECEDENCE - 100) -public class GiteaPropertyPathNotificationExtractor - extends BasePropertyPathNotificationExtractor { +public class GiteaPropertyPathNotificationExtractor extends BasePropertyPathNotificationExtractor { private static final String HEADERS_KEY = "X-Gitea-Event"; @@ -47,8 +46,7 @@ public class GiteaPropertyPathNotificationExtractor } @Override - protected boolean requestBelongsToGitRepoManager( - MultiValueMap headers) { + protected boolean requestBelongsToGitRepoManager(MultiValueMap headers) { return HEADERS_VALUE.equals(headers.getFirst(HEADERS_KEY)); } diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GiteePropertyPathNotificationExtractor.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GiteePropertyPathNotificationExtractor.java index 7ac8b3d6..cf4bfdaf 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GiteePropertyPathNotificationExtractor.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GiteePropertyPathNotificationExtractor.java @@ -25,16 +25,14 @@ import org.springframework.util.MultiValueMap; * */ @Order(Ordered.LOWEST_PRECEDENCE - 100) -public class GiteePropertyPathNotificationExtractor - extends BasePropertyPathNotificationExtractor { +public class GiteePropertyPathNotificationExtractor extends BasePropertyPathNotificationExtractor { private static final String HEADERS_KEY = "x-git-oschina-event"; private static final String HEADERS_VALUE = "Push Hook"; @Override - protected boolean requestBelongsToGitRepoManager( - MultiValueMap headers) { + protected boolean requestBelongsToGitRepoManager(MultiValueMap headers) { return HEADERS_VALUE.equals(headers.getFirst(HEADERS_KEY)); } diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GithubPropertyPathNotificationExtractor.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GithubPropertyPathNotificationExtractor.java index 4e73a96b..7fae9b0a 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GithubPropertyPathNotificationExtractor.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GithubPropertyPathNotificationExtractor.java @@ -25,12 +25,10 @@ import org.springframework.util.MultiValueMap; * */ @Order(Ordered.LOWEST_PRECEDENCE - 300) -public class GithubPropertyPathNotificationExtractor - extends BasePropertyPathNotificationExtractor { +public class GithubPropertyPathNotificationExtractor extends BasePropertyPathNotificationExtractor { @Override - protected boolean requestBelongsToGitRepoManager( - MultiValueMap headers) { + protected boolean requestBelongsToGitRepoManager(MultiValueMap headers) { return "push".equals(headers.getFirst("X-Github-Event")); } diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GitlabPropertyPathNotificationExtractor.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GitlabPropertyPathNotificationExtractor.java index b1d94b24..4d67c9ce 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GitlabPropertyPathNotificationExtractor.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GitlabPropertyPathNotificationExtractor.java @@ -25,12 +25,10 @@ import org.springframework.util.MultiValueMap; * */ @Order(Ordered.LOWEST_PRECEDENCE - 100) -public class GitlabPropertyPathNotificationExtractor - extends BasePropertyPathNotificationExtractor { +public class GitlabPropertyPathNotificationExtractor extends BasePropertyPathNotificationExtractor { @Override - protected boolean requestBelongsToGitRepoManager( - MultiValueMap headers) { + protected boolean requestBelongsToGitRepoManager(MultiValueMap headers) { return "Push Hook".equals(headers.getFirst("X-Gitlab-Event")); } diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GogsPropertyPathNotificationExtractor.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GogsPropertyPathNotificationExtractor.java index 318ac718..dce918ec 100755 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GogsPropertyPathNotificationExtractor.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/GogsPropertyPathNotificationExtractor.java @@ -25,16 +25,14 @@ import org.springframework.util.MultiValueMap; * */ @Order(Ordered.LOWEST_PRECEDENCE - 100) -public class GogsPropertyPathNotificationExtractor - extends BasePropertyPathNotificationExtractor { +public class GogsPropertyPathNotificationExtractor extends BasePropertyPathNotificationExtractor { private static final String HEADERS_KEY = "X-Gogs-Event"; private static final String HEADERS_VALUE = "push"; @Override - protected boolean requestBelongsToGitRepoManager( - MultiValueMap headers) { + protected boolean requestBelongsToGitRepoManager(MultiValueMap headers) { return HEADERS_VALUE.equals(headers.getFirst(HEADERS_KEY)); } diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathEndpoint.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathEndpoint.java index c7e6151b..f8446eca 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathEndpoint.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathEndpoint.java @@ -57,8 +57,7 @@ public class PropertyPathEndpoint implements ApplicationEventPublisherAware { private String busId; - public PropertyPathEndpoint(PropertyPathNotificationExtractor extractor, - String busId) { + public PropertyPathEndpoint(PropertyPathNotificationExtractor extractor, String busId) { this.extractor = extractor; this.busId = busId; } @@ -68,14 +67,12 @@ public class PropertyPathEndpoint implements ApplicationEventPublisherAware { } @Override - public void setApplicationEventPublisher( - ApplicationEventPublisher applicationEventPublisher) { + public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) { this.applicationEventPublisher = applicationEventPublisher; } @RequestMapping(method = RequestMethod.POST) - public Set notifyByPath(@RequestHeader HttpHeaders headers, - @RequestBody Map request) { + public Set notifyByPath(@RequestHeader HttpHeaders headers, @RequestBody Map request) { PropertyPathNotification notification = this.extractor.extract(headers, request); if (notification != null) { @@ -87,8 +84,8 @@ public class PropertyPathEndpoint implements ApplicationEventPublisherAware { if (this.applicationEventPublisher != null) { for (String service : services) { log.info("Refresh for: " + service); - this.applicationEventPublisher.publishEvent( - new RefreshRemoteApplicationEvent(this, this.busId, service)); + this.applicationEventPublisher + .publishEvent(new RefreshRemoteApplicationEvent(this, this.busId, service)); } return services; } @@ -97,10 +94,8 @@ public class PropertyPathEndpoint implements ApplicationEventPublisherAware { return Collections.emptySet(); } - @RequestMapping(method = RequestMethod.POST, - consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) - public Set notifyByForm(@RequestHeader HttpHeaders headers, - @RequestParam("path") List request) { + @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) + public Set notifyByForm(@RequestHeader HttpHeaders headers, @RequestParam("path") List request) { Map map = new HashMap<>(); String key = "path"; map.put(key, request); @@ -110,8 +105,7 @@ public class PropertyPathEndpoint implements ApplicationEventPublisherAware { private Set guessServiceName(String path) { Set services = new LinkedHashSet<>(); if (path != null) { - String stem = StringUtils.stripFilenameExtension( - StringUtils.getFilename(StringUtils.cleanPath(path))); + String stem = StringUtils.stripFilenameExtension(StringUtils.getFilename(StringUtils.cleanPath(path))); // TODO: correlate with service registry int index = stem.indexOf("-"); while (index >= 0) { diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathNotification.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathNotification.java index fa8daa41..3dbfe584 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathNotification.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathNotification.java @@ -70,8 +70,7 @@ public class PropertyPathNotification { } public String toString() { - return "PropertyPathNotification(paths=" - + java.util.Arrays.deepToString(this.getPaths()) + ")"; + return "PropertyPathNotification(paths=" + java.util.Arrays.deepToString(this.getPaths()) + ")"; } } diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathNotificationExtractor.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathNotificationExtractor.java index 698cfcb8..0152967e 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathNotificationExtractor.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathNotificationExtractor.java @@ -30,7 +30,6 @@ import org.springframework.util.MultiValueMap; */ public interface PropertyPathNotificationExtractor { - PropertyPathNotification extract(MultiValueMap headers, - Map payload); + PropertyPathNotification extract(MultiValueMap headers, Map payload); } diff --git a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/BitbucketPropertyPathNotificationExtractorTests.java b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/BitbucketPropertyPathNotificationExtractorTests.java index c548eb42..48e1193c 100644 --- a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/BitbucketPropertyPathNotificationExtractorTests.java +++ b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/BitbucketPropertyPathNotificationExtractorTests.java @@ -104,8 +104,7 @@ public class BitbucketPropertyPathNotificationExtractorTests { assertThat(extracted).isNull(); } - private void assertNotExtracted(String path, String eventKey) - throws java.io.IOException { + private void assertNotExtracted(String path, String eventKey) throws java.io.IOException { Map value = readPayload(path); setHeaders(eventKey); PropertyPathNotification extracted = this.extractor.extract(this.headers, value); @@ -125,8 +124,7 @@ public class BitbucketPropertyPathNotificationExtractorTests { @Test public void bitbucketServerSamplePullRequest() throws Exception { // https://confluence.atlassian.com/bitbucketserver/event-payload-938025882.html - Map value = readPayload( - "pathsamples/bitbucketserver-prmerged.json"); + Map value = readPayload("pathsamples/bitbucketserver-prmerged.json"); setServerHeaders("pr:merged"); PropertyPathNotification extracted = this.extractor.extract(this.headers, value); assertThat(extracted).isNotNull(); @@ -140,8 +138,7 @@ public class BitbucketPropertyPathNotificationExtractorTests { @Test public void notAPushOrPullRequestServer() throws Exception { - assertNotExtractedServer("pathsamples/bitbucketserver.json", - "repo:comment:added"); + assertNotExtractedServer("pathsamples/bitbucketserver.json", "repo:comment:added"); } @Test @@ -156,15 +153,13 @@ public class BitbucketPropertyPathNotificationExtractorTests { @Test public void missingChangesServer() throws Exception { // https://confluence.atlassian.com/bitbucketserver/event-payload-938025882.html - Map value = readPayload( - "pathsamples/bitbucketserver-invalid.json"); + Map value = readPayload("pathsamples/bitbucketserver-invalid.json"); setServerHeaders("repo:refs_changed"); PropertyPathNotification extracted = this.extractor.extract(this.headers, value); assertThat(extracted).isNull(); } - private void assertNotExtractedServer(String path, String eventKey) - throws java.io.IOException { + private void assertNotExtractedServer(String path, String eventKey) throws java.io.IOException { Map value = readPayload(path); setServerHeaders(eventKey); PropertyPathNotification extracted = this.extractor.extract(this.headers, value); diff --git a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/CompositePropertyPathNotificationExtractorTests.java b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/CompositePropertyPathNotificationExtractorTests.java index 83ff0c90..c889d616 100644 --- a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/CompositePropertyPathNotificationExtractorTests.java +++ b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/CompositePropertyPathNotificationExtractorTests.java @@ -35,9 +35,8 @@ import static org.assertj.core.api.Assertions.assertThat; */ public class CompositePropertyPathNotificationExtractorTests { - private CompositePropertyPathNotificationExtractor extractor = new CompositePropertyPathNotificationExtractor( - Arrays.asList(new GitlabPropertyPathNotificationExtractor(), - new GithubPropertyPathNotificationExtractor())); + private CompositePropertyPathNotificationExtractor extractor = new CompositePropertyPathNotificationExtractor(Arrays + .asList(new GitlabPropertyPathNotificationExtractor(), new GithubPropertyPathNotificationExtractor())); private HttpHeaders headers = new HttpHeaders(); @@ -64,14 +63,12 @@ public class CompositePropertyPathNotificationExtractorTests { PropertyPathNotification extracted = this.extractor.extract(this.headers, value); assertThat(extracted).isNotNull(); String[] paths = extracted.getPaths(); - assertThat(paths).as("paths was wrong").contains("oldapp.yml", - "newapp.properties", "application.yml"); + assertThat(paths).as("paths was wrong").contains("oldapp.yml", "newapp.properties", "application.yml"); } @Test public void fallback() throws Exception { - Map value = Collections.singletonMap("path", - "foo"); + Map value = Collections.singletonMap("path", "foo"); PropertyPathNotification extracted = this.extractor.extract(this.headers, value); assertThat(extracted).isNotNull(); assertThat(extracted.getPaths()[0]).isEqualTo("foo"); diff --git a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfigurationTests.java b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfigurationTests.java index 60e8bee8..6fefe54b 100644 --- a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfigurationTests.java +++ b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfigurationTests.java @@ -40,30 +40,24 @@ public class EnvironmentMonitorAutoConfigurationTests { @Test public void testExtractorsCount() { - ConfigurableApplicationContext context = new SpringApplicationBuilder( - BusConfig.class, EnvironmentMonitorAutoConfiguration.class, - ServletWebServerFactoryAutoConfiguration.class, ServerProperties.class, - PropertyPlaceholderAutoConfiguration.class).properties("server.port=-1") - .run(); + ConfigurableApplicationContext context = new SpringApplicationBuilder(BusConfig.class, + EnvironmentMonitorAutoConfiguration.class, ServletWebServerFactoryAutoConfiguration.class, + ServerProperties.class, PropertyPlaceholderAutoConfiguration.class).properties("server.port=-1").run(); PropertyPathEndpoint endpoint = context.getBean(PropertyPathEndpoint.class); - assertThat(((Collection) ReflectionTestUtils.getField( - ReflectionTestUtils.getField(endpoint, "extractor"), "extractors")) - .size()).isEqualTo(7); + assertThat(((Collection) ReflectionTestUtils.getField(ReflectionTestUtils.getField(endpoint, "extractor"), + "extractors")).size()).isEqualTo(7); context.close(); } @Test public void testCanAddCustomPropertyPathNotificationExtractor() { - ConfigurableApplicationContext context = new SpringApplicationBuilder( - BusConfig.class, CustomPropertyPathNotificationExtractorConfig.class, - EnvironmentMonitorAutoConfiguration.class, + ConfigurableApplicationContext context = new SpringApplicationBuilder(BusConfig.class, + CustomPropertyPathNotificationExtractorConfig.class, EnvironmentMonitorAutoConfiguration.class, ServletWebServerFactoryAutoConfiguration.class, ServerProperties.class, - PropertyPlaceholderAutoConfiguration.class).properties("server.port=-1") - .run(); + PropertyPlaceholderAutoConfiguration.class).properties("server.port=-1").run(); PropertyPathEndpoint endpoint = context.getBean(PropertyPathEndpoint.class); - assertThat(((Collection) ReflectionTestUtils.getField( - ReflectionTestUtils.getField(endpoint, "extractor"), "extractors")) - .size()).isEqualTo(8); + assertThat(((Collection) ReflectionTestUtils.getField(ReflectionTestUtils.getField(endpoint, "extractor"), + "extractors")).size()).isEqualTo(8); context.close(); } diff --git a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/FileMonitorConfigurationTest.java b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/FileMonitorConfigurationTest.java index 5672413d..86531a02 100644 --- a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/FileMonitorConfigurationTest.java +++ b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/FileMonitorConfigurationTest.java @@ -79,8 +79,7 @@ public class FileMonitorConfigurationTest { public void testStart_withNativeEnvironmentRepository() { // given NativeEnvironmentRepository repository = createNativeEnvironmentRepository(); - ReflectionTestUtils.setField(fileMonitorConfiguration, - "nativeEnvironmentRepository", repository); + ReflectionTestUtils.setField(fileMonitorConfiguration, "nativeEnvironmentRepository", repository); // when fileMonitorConfiguration.start(); @@ -92,8 +91,7 @@ public class FileMonitorConfigurationTest { @Test public void testStart_withOneScmRepository() { // given - AbstractScmEnvironmentRepository repository = createScmEnvironmentRepository( - SAMPLE_PATH); + AbstractScmEnvironmentRepository repository = createScmEnvironmentRepository(SAMPLE_PATH); addScmRepository(repository); // when @@ -106,10 +104,8 @@ public class FileMonitorConfigurationTest { @Test public void testStart_withTwoScmRepositories() { // given - AbstractScmEnvironmentRepository repository = createScmEnvironmentRepository( - SAMPLE_PATH); - AbstractScmEnvironmentRepository secondRepository = createScmEnvironmentRepository( - "anotherPath"); + AbstractScmEnvironmentRepository repository = createScmEnvironmentRepository(SAMPLE_PATH); + AbstractScmEnvironmentRepository secondRepository = createScmEnvironmentRepository("anotherPath"); addScmRepository(repository); addScmRepository(secondRepository); @@ -123,8 +119,7 @@ public class FileMonitorConfigurationTest { @Test public void testStart_withOneFileUrlScmRepository() { // given - AbstractScmEnvironmentRepository repository = createScmEnvironmentRepository( - SAMPLE_FILE_URL); + AbstractScmEnvironmentRepository repository = createScmEnvironmentRepository(SAMPLE_FILE_URL); addScmRepository(repository); // when @@ -137,10 +132,8 @@ public class FileMonitorConfigurationTest { @Test public void testStart_withTwoMixedPathAndFileUrlScmRepositories() { // given - AbstractScmEnvironmentRepository repository = createScmEnvironmentRepository( - SAMPLE_PATH); - AbstractScmEnvironmentRepository secondRepository = createScmEnvironmentRepository( - SAMPLE_FILE_URL); + AbstractScmEnvironmentRepository repository = createScmEnvironmentRepository(SAMPLE_PATH); + AbstractScmEnvironmentRepository secondRepository = createScmEnvironmentRepository(SAMPLE_FILE_URL); addScmRepository(repository); addScmRepository(secondRepository); @@ -153,8 +146,7 @@ public class FileMonitorConfigurationTest { private void addScmRepository(AbstractScmEnvironmentRepository... repository) { repositories.addAll(Arrays.asList(repository)); - ReflectionTestUtils.setField(fileMonitorConfiguration, "scmRepositories", - repositories); + ReflectionTestUtils.setField(fileMonitorConfiguration, "scmRepositories", repositories); } private NativeEnvironmentRepository createNativeEnvironmentRepository() { @@ -183,8 +175,7 @@ public class FileMonitorConfigurationTest { @SuppressWarnings("unchecked") private Set getDirectory() { - return (Set) ReflectionTestUtils.getField(fileMonitorConfiguration, - "directory"); + return (Set) ReflectionTestUtils.getField(fileMonitorConfiguration, "directory"); } } diff --git a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/GitlabPropertyPathNotificationExtractorTests.java b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/GitlabPropertyPathNotificationExtractorTests.java index c833631d..bfdb74f8 100644 --- a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/GitlabPropertyPathNotificationExtractorTests.java +++ b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/GitlabPropertyPathNotificationExtractorTests.java @@ -48,8 +48,7 @@ public class GitlabPropertyPathNotificationExtractorTests { PropertyPathNotification extracted = this.extractor.extract(this.headers, value); assertThat(extracted).isNotNull(); String[] paths = extracted.getPaths(); - assertThat(paths).as("paths was wrong").contains("oldapp.yml", - "newapp.properties", "application.yml"); + assertThat(paths).as("paths was wrong").contains("oldapp.yml", "newapp.properties", "application.yml"); } @Test diff --git a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/PropertyPathEndpointTests.java b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/PropertyPathEndpointTests.java index 9aeef1e7..b69151a7 100644 --- a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/PropertyPathEndpointTests.java +++ b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/PropertyPathEndpointTests.java @@ -35,8 +35,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class PropertyPathEndpointTests { private PropertyPathEndpoint endpoint = new PropertyPathEndpoint( - new CompositePropertyPathNotificationExtractor(Collections.emptyList()), - "abc1"); + new CompositePropertyPathNotificationExtractor(Collections.emptyList()), "abc1"); @Before public void init() { @@ -52,9 +51,7 @@ public class PropertyPathEndpointTests { @Test public void testNotifyByForm() { - assertThat( - this.endpoint.notifyByForm(new HttpHeaders(), new ArrayList<>()).size()) - .isEqualTo(0); + assertThat(this.endpoint.notifyByForm(new HttpHeaders(), new ArrayList<>()).size()).isEqualTo(0); } @Test @@ -62,59 +59,46 @@ public class PropertyPathEndpointTests { List request = new ArrayList<>(); request.add("/foo/bar.properties"); request.add("/application.properties"); - assertThat(this.endpoint.notifyByForm(new HttpHeaders(), request).toString()) - .isEqualTo("[bar, *]"); + assertThat(this.endpoint.notifyByForm(new HttpHeaders(), request).toString()).isEqualTo("[bar, *]"); } @Test public void testNotifyAll() { - assertThat( - this.endpoint - .notifyByPath(new HttpHeaders(), - Collections.singletonMap("path", "application.yml")) - .toString()).isEqualTo("[*]"); + assertThat(this.endpoint.notifyByPath(new HttpHeaders(), Collections.singletonMap("path", "application.yml")) + .toString()).isEqualTo("[*]"); } @Test public void testNotifyAllWithProfile() { assertThat(this.endpoint - .notifyByPath(new HttpHeaders(), - Collections.singletonMap("path", "application-local.yml")) - .toString()).isEqualTo("[*:local]"); + .notifyByPath(new HttpHeaders(), Collections.singletonMap("path", "application-local.yml")).toString()) + .isEqualTo("[*:local]"); } @Test public void testNotifyOne() { - assertThat(this.endpoint.notifyByPath(new HttpHeaders(), - Collections.singletonMap("path", "foo.yml")).toString()) + assertThat( + this.endpoint.notifyByPath(new HttpHeaders(), Collections.singletonMap("path", "foo.yml")).toString()) .isEqualTo("[foo]"); } @Test public void testNotifyOneWithWindowsPath() { assertThat(this.endpoint - .notifyByPath(new HttpHeaders(), - Collections.singletonMap("path", "C:\\config\\foo.yml")) - .toString()).isEqualTo("[foo]"); + .notifyByPath(new HttpHeaders(), Collections.singletonMap("path", "C:\\config\\foo.yml")).toString()) + .isEqualTo("[foo]"); } @Test public void testNotifyOneWithProfile() { - assertThat( - this.endpoint - .notifyByPath(new HttpHeaders(), - Collections.singletonMap("path", "foo-local.yml")) - .toString()).isEqualTo("[foo:local, foo-local]"); + assertThat(this.endpoint.notifyByPath(new HttpHeaders(), Collections.singletonMap("path", "foo-local.yml")) + .toString()).isEqualTo("[foo:local, foo-local]"); } @Test public void testNotifyMultiDash() { - assertThat( - this.endpoint - .notifyByPath(new HttpHeaders(), - Collections.singletonMap("path", "foo-local-dev.yml")) - .toString()).isEqualTo( - "[foo:local-dev, foo-local:dev, foo-local-dev]"); + assertThat(this.endpoint.notifyByPath(new HttpHeaders(), Collections.singletonMap("path", "foo-local-dev.yml")) + .toString()).isEqualTo("[foo:local-dev, foo-local:dev, foo-local-dev]"); } } diff --git a/spring-cloud-config-sample/src/test/java/sample/ApplicationBootstrapTests.java b/spring-cloud-config-sample/src/test/java/sample/ApplicationBootstrapTests.java index 968789f8..27acb21a 100644 --- a/spring-cloud-config-sample/src/test/java/sample/ApplicationBootstrapTests.java +++ b/spring-cloud-config-sample/src/test/java/sample/ApplicationBootstrapTests.java @@ -51,10 +51,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen // Normally spring.cloud.config.enabled:true is the default but since we have the // config // server on the classpath we need to set it explicitly - properties = { "spring.cloud.config.enabled:true", "", - "spring.config.use-legacy-processing=true", - "management.security.enabled=false", - "management.endpoints.web.exposure.include=*" }, + properties = { "spring.cloud.config.enabled:true", "", "spring.config.use-legacy-processing=true", + "management.security.enabled=false", "management.endpoints.web.exposure.include=*" }, webEnvironment = RANDOM_PORT) public class ApplicationBootstrapTests { @@ -70,17 +68,13 @@ public class ApplicationBootstrapTests { @BeforeClass public static void startConfigServer() throws IOException { System.setProperty("spring.cloud.bootstrap.name", "bootstrapservercomposite"); - String baseDir = ConfigServerTestUtils - .getBaseDirectory("spring-cloud-config-sample"); - String repo = ConfigServerTestUtils.prepareLocalRepo(baseDir, "target/repos", - "config-repo", "target/config"); + String baseDir = ConfigServerTestUtils.getBaseDirectory("spring-cloud-config-sample"); + String repo = ConfigServerTestUtils.prepareLocalRepo(baseDir, "target/repos", "config-repo", "target/config"); System.setProperty("repo1", repo); - server = SpringApplication.run( - org.springframework.cloud.config.server.ConfigServerApplication.class, + server = SpringApplication.run(org.springframework.cloud.config.server.ConfigServerApplication.class, // FIXME: configdata why is use legacy needed here and above? - "--spring.config.use-legacy-processing=true", - "--server.port=" + configPort, "--spring.config.name=compositeserver", - "--repo1=" + repo); + "--spring.config.use-legacy-processing=true", "--server.port=" + configPort, + "--spring.config.name=compositeserver", "--repo1=" + repo); System.setProperty("config.port", "" + configPort); } @@ -103,8 +97,8 @@ public class ApplicationBootstrapTests { @Test @SuppressWarnings("unchecked") public void contextLoads() { - Map res = new TestRestTemplate().getForObject( - "http://localhost:" + this.port + BASE_PATH + "/env/info.foo", Map.class); + Map res = new TestRestTemplate().getForObject("http://localhost:" + this.port + BASE_PATH + "/env/info.foo", + Map.class); assertThat(res).containsKey("propertySources"); Map property = (Map) res.get("property"); assertThat(property).containsEntry("value", "bar"); diff --git a/spring-cloud-config-sample/src/test/java/sample/ApplicationFailFastTests.java b/spring-cloud-config-sample/src/test/java/sample/ApplicationFailFastTests.java index 2446fe92..caf5ef03 100644 --- a/spring-cloud-config-sample/src/test/java/sample/ApplicationFailFastTests.java +++ b/spring-cloud-config-sample/src/test/java/sample/ApplicationFailFastTests.java @@ -29,16 +29,13 @@ public class ApplicationFailFastTests { @Test public void contextFails() { try { - new SpringApplicationBuilder().sources(Application.class).run( - "--spring.config.use-legacy-processing=true", "--server.port=0", - "--spring.cloud.config.enabled=true", - "--spring.cloud.config.fail-fast=true", + new SpringApplicationBuilder().sources(Application.class).run("--spring.config.use-legacy-processing=true", + "--server.port=0", "--spring.cloud.config.enabled=true", "--spring.cloud.config.fail-fast=true", "--spring.cloud.config.uri=http://serverhostdoesnotexist:1234"); fail("failFast option did not produce an exception"); } catch (Exception e) { - assertThat(e.getMessage().contains("fail fast")) - .as("Exception not caused by fail fast").isTrue(); + assertThat(e.getMessage().contains("fail fast")).as("Exception not caused by fail fast").isTrue(); } } diff --git a/spring-cloud-config-sample/src/test/java/sample/ApplicationTests.java b/spring-cloud-config-sample/src/test/java/sample/ApplicationTests.java index 9b52f484..d4477092 100644 --- a/spring-cloud-config-sample/src/test/java/sample/ApplicationTests.java +++ b/spring-cloud-config-sample/src/test/java/sample/ApplicationTests.java @@ -44,8 +44,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen // server on the classpath we need to set it explicitly properties = { "spring.cloud.config.enabled:true", // FIXME: configdata why is this needed here? - "spring.config.use-legacy-processing=true", - "management.security.enabled=false", + "spring.config.use-legacy-processing=true", "management.security.enabled=false", "management.endpoints.web.exposure.include=*" }, webEnvironment = RANDOM_PORT) public class ApplicationTests { @@ -61,12 +60,9 @@ public class ApplicationTests { @BeforeClass public static void startConfigServer() throws IOException { - String baseDir = ConfigServerTestUtils - .getBaseDirectory("spring-cloud-config-sample"); - String repo = ConfigServerTestUtils.prepareLocalRepo(baseDir, "target/repos", - "config-repo", "target/config"); - server = SpringApplication.run( - org.springframework.cloud.config.server.ConfigServerApplication.class, + String baseDir = ConfigServerTestUtils.getBaseDirectory("spring-cloud-config-sample"); + String repo = ConfigServerTestUtils.prepareLocalRepo(baseDir, "target/repos", "config-repo", "target/config"); + server = SpringApplication.run(org.springframework.cloud.config.server.ConfigServerApplication.class, "--server.port=" + configPort, "--spring.config.name=server", "--spring.cloud.config.server.git.uri=" + repo); /* @@ -93,8 +89,8 @@ public class ApplicationTests { @Test @SuppressWarnings("unchecked") public void contextLoads() { - Map res = new TestRestTemplate().getForObject( - "http://localhost:" + this.port + BASE_PATH + "/env/info.foo", Map.class); + Map res = new TestRestTemplate().getForObject("http://localhost:" + this.port + BASE_PATH + "/env/info.foo", + Map.class); assertThat(res).containsKey("propertySources"); Map property = (Map) res.get("property"); assertThat(property).containsEntry("value", "bar"); diff --git a/spring-cloud-config-sample/src/test/java/sample/ServerNativeApplicationTests.java b/spring-cloud-config-sample/src/test/java/sample/ServerNativeApplicationTests.java index 2f36808f..d2f22ac4 100644 --- a/spring-cloud-config-sample/src/test/java/sample/ServerNativeApplicationTests.java +++ b/spring-cloud-config-sample/src/test/java/sample/ServerNativeApplicationTests.java @@ -36,8 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; @RunWith(SpringRunner.class) -@SpringBootTest(classes = Application.class, properties = "spring.application.name:bad", - webEnvironment = RANDOM_PORT) +@SpringBootTest(classes = Application.class, properties = "spring.application.name:bad", webEnvironment = RANDOM_PORT) public class ServerNativeApplicationTests { private static int configPort = 0; @@ -53,11 +52,9 @@ public class ServerNativeApplicationTests { @BeforeClass public static void startConfigServer() throws IOException { String repo = ConfigServerTestUtils.prepareLocalRepo(); - server = SpringApplication.run( - org.springframework.cloud.config.server.ConfigServerApplication.class, + server = SpringApplication.run(org.springframework.cloud.config.server.ConfigServerApplication.class, "--server.port=" + configPort, "--spring.config.name=server", - "--spring.cloud.config.server.git.uri=" + repo, - "--spring.profiles.active=native"); + "--spring.cloud.config.server.git.uri=" + repo, "--spring.profiles.active=native"); /* * FIXME configPort = ((EmbeddedWebApplicationContext) server) * .getEmbeddedServletContainer().getPort(); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerApplication.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerApplication.java index 3b3e23e9..7bab622b 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerApplication.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerApplication.java @@ -31,8 +31,8 @@ import org.springframework.context.annotation.Configuration; public class ConfigServerApplication { public static void main(String[] args) { - new SpringApplicationBuilder(ConfigServerApplication.class) - .properties("spring.config.name=configserver").run(args); + new SpringApplicationBuilder(ConfigServerApplication.class).properties("spring.config.name=configserver") + .run(args); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapApplicationListener.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapApplicationListener.java index 11569e9a..06e9ad5b 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapApplicationListener.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapApplicationListener.java @@ -56,8 +56,7 @@ public class ConfigServerBootstrapApplicationListener private int order = DEFAULT_ORDER; private PropertySource propertySource = new MapPropertySource("configServerClient", - Collections.singletonMap("spring.cloud.config.enabled", - "false")); + Collections.singletonMap("spring.cloud.config.enabled", "false")); @Override public int getOrder() { @@ -71,10 +70,8 @@ public class ConfigServerBootstrapApplicationListener @Override public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) { ConfigurableEnvironment environment = event.getEnvironment(); - if (!environment.resolvePlaceholders("${spring.cloud.config.enabled:false}") - .equalsIgnoreCase("true")) { - if (!environment.getPropertySources() - .contains(this.propertySource.getName())) { + if (!environment.resolvePlaceholders("${spring.cloud.config.enabled:false}").equalsIgnoreCase("true")) { + if (!environment.getPropertySources().contains(this.propertySource.getName())) { environment.getPropertySources().addLast(this.propertySource); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapConfiguration.java index 4e5b1290..f8243eef 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapConfiguration.java @@ -58,8 +58,8 @@ public class ConfigServerBootstrapConfiguration { @Bean public EnvironmentRepositoryPropertySourceLocator environmentRepositoryPropertySourceLocator() { - return new EnvironmentRepositoryPropertySourceLocator(this.repository, - this.client.getName(), this.client.getProfile(), getDefaultLabel()); + return new EnvironmentRepositoryPropertySourceLocator(this.repository, this.client.getName(), + this.client.getProfile(), getDefaultLabel()); } private String getDefaultLabel() { diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/CompositeEnvironmentBeanFactoryPostProcessor.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/CompositeEnvironmentBeanFactoryPostProcessor.java index 0cf497af..09c90908 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/CompositeEnvironmentBeanFactoryPostProcessor.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/CompositeEnvironmentBeanFactoryPostProcessor.java @@ -37,8 +37,7 @@ import org.springframework.core.env.Environment; * * @author Dylan Roberts */ -public class CompositeEnvironmentBeanFactoryPostProcessor - implements BeanFactoryPostProcessor { +public class CompositeEnvironmentBeanFactoryPostProcessor implements BeanFactoryPostProcessor { private Environment environment; @@ -47,24 +46,19 @@ public class CompositeEnvironmentBeanFactoryPostProcessor } @Override - public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) - throws BeansException { - List typePropertyList = CompositeUtils - .getCompositeTypeList(this.environment); + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + List typePropertyList = CompositeUtils.getCompositeTypeList(this.environment); for (int i = 0; i < typePropertyList.size(); i++) { String type = typePropertyList.get(i); String factoryName = CompositeUtils.getFactoryName(type, beanFactory); - Type[] factoryTypes = CompositeUtils - .getEnvironmentRepositoryFactoryTypeParams(beanFactory, factoryName); + Type[] factoryTypes = CompositeUtils.getEnvironmentRepositoryFactoryTypeParams(beanFactory, factoryName); Class propertiesClass; propertiesClass = (Class) factoryTypes[1]; - EnvironmentRepositoryProperties properties = bindProperties(i, - propertiesClass, this.environment); + EnvironmentRepositoryProperties properties = bindProperties(i, propertiesClass, this.environment); AbstractBeanDefinition beanDefinition = BeanDefinitionBuilder - .genericBeanDefinition(EnvironmentRepository.class) - .setFactoryMethodOnBean("build", factoryName) + .genericBeanDefinition(EnvironmentRepository.class).setFactoryMethodOnBean("build", factoryName) .addConstructorArgValue(properties).getBeanDefinition(); String beanName = String.format("%s-env-repo%d", type, i); BeanDefinitionRegistry registry = (BeanDefinitionRegistry) beanFactory; @@ -72,13 +66,11 @@ public class CompositeEnvironmentBeanFactoryPostProcessor } } - private

P bindProperties(int index, - Class

propertiesClass, Environment environment) { + private

P bindProperties(int index, Class

propertiesClass, + Environment environment) { Binder binder = Binder.get(environment); - String environmentConfigurationPropertyName = String - .format("spring.cloud.config.server.composite[%d]", index); - P properties = binder.bindOrCreate(environmentConfigurationPropertyName, - propertiesClass); + String environmentConfigurationPropertyName = String.format("spring.cloud.config.server.composite[%d]", index); + P properties = binder.bindOrCreate(environmentConfigurationPropertyName, propertiesClass); properties.setOrder(index + 1); return properties; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/CompositeUtils.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/CompositeUtils.java index 6bcec5c9..dcc9a266 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/CompositeUtils.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/CompositeUtils.java @@ -48,10 +48,8 @@ public final class CompositeUtils { * @return list of matching types */ public static List getCompositeTypeList(Environment environment) { - return Binder.get(environment) - .bind("spring.cloud.config.server", CompositeConfig.class).get() - .getComposite().stream().map(map -> (String) map.get("type")) - .collect(Collectors.toList()); + return Binder.get(environment).bind("spring.cloud.config.server", CompositeConfig.class).get().getComposite() + .stream().map(map -> (String) map.get("type")).collect(Collectors.toList()); } /** @@ -61,12 +59,10 @@ public final class CompositeUtils { * @param beanFactory Spring Bean Factory * @return name of the factory bean */ - public static String getFactoryName(String type, - ConfigurableListableBeanFactory beanFactory) { - String[] factoryNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors( - beanFactory, EnvironmentRepositoryFactory.class, true, false); - return Arrays.stream(factoryNames).filter(n -> n.startsWith(type)).findFirst() - .orElse(null); + public static String getFactoryName(String type, ConfigurableListableBeanFactory beanFactory) { + String[] factoryNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(beanFactory, + EnvironmentRepositoryFactory.class, true, false); + return Arrays.stream(factoryNames).filter(n -> n.startsWith(type)).findFirst().orElse(null); } /** @@ -76,10 +72,9 @@ public final class CompositeUtils { * @param factoryName name of the factory * @return generic type params of the factory */ - public static Type[] getEnvironmentRepositoryFactoryTypeParams( - ConfigurableListableBeanFactory beanFactory, String factoryName) { - MethodMetadata methodMetadata = (MethodMetadata) beanFactory - .getBeanDefinition(factoryName).getSource(); + public static Type[] getEnvironmentRepositoryFactoryTypeParams(ConfigurableListableBeanFactory beanFactory, + String factoryName) { + MethodMetadata methodMetadata = (MethodMetadata) beanFactory.getBeanDefinition(factoryName).getSource(); Class factoryClass = null; try { factoryClass = Class.forName(methodMetadata.getReturnTypeName()); @@ -87,11 +82,10 @@ public final class CompositeUtils { catch (ClassNotFoundException e) { throw new IllegalStateException(e); } - Optional annotatedFactoryType = Arrays - .stream(factoryClass.getAnnotatedInterfaces()).filter(i -> { + Optional annotatedFactoryType = Arrays.stream(factoryClass.getAnnotatedInterfaces()) + .filter(i -> { ParameterizedType parameterizedType = (ParameterizedType) i.getType(); - return parameterizedType.getRawType() - .equals(EnvironmentRepositoryFactory.class); + return parameterizedType.getRawType().equals(EnvironmentRepositoryFactory.class); }).findFirst(); ParameterizedType factoryParameterizedType = (ParameterizedType) annotatedFactoryType .orElse(factoryClass.getAnnotatedSuperclass()).getType(); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/OnSearchPathLocatorPresent.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/OnSearchPathLocatorPresent.java index 0b539c83..6aa6f805 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/OnSearchPathLocatorPresent.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/composite/OnSearchPathLocatorPresent.java @@ -35,35 +35,29 @@ import org.springframework.core.type.AnnotatedTypeMetadata; public class OnSearchPathLocatorPresent extends SpringBootCondition { @Override - public ConditionOutcome getMatchOutcome(ConditionContext context, - AnnotatedTypeMetadata metadata) { + public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) { ConfigurableListableBeanFactory beanFactory = context.getBeanFactory(); - List types = CompositeUtils - .getCompositeTypeList(context.getEnvironment()); + List types = CompositeUtils.getCompositeTypeList(context.getEnvironment()); // get EnvironmentRepository types from registered factories List> repositoryTypes = new ArrayList<>(); for (String type : types) { String factoryName = CompositeUtils.getFactoryName(type, beanFactory); - Type[] actualTypeArguments = CompositeUtils - .getEnvironmentRepositoryFactoryTypeParams(beanFactory, factoryName); + Type[] actualTypeArguments = CompositeUtils.getEnvironmentRepositoryFactoryTypeParams(beanFactory, + factoryName); Class repositoryType; repositoryType = (Class) actualTypeArguments[0]; repositoryTypes.add(repositoryType); } - boolean required = metadata - .isAnnotated(ConditionalOnSearchPathLocator.class.getName()); - boolean foundSearchPathLocator = repositoryTypes.stream() - .anyMatch(SearchPathLocator.class::isAssignableFrom); + boolean required = metadata.isAnnotated(ConditionalOnSearchPathLocator.class.getName()); + boolean foundSearchPathLocator = repositoryTypes.stream().anyMatch(SearchPathLocator.class::isAssignableFrom); if (required && !foundSearchPathLocator) { - return ConditionOutcome.noMatch( - ConditionMessage.forCondition(ConditionalOnSearchPathLocator.class) - .notAvailable(SearchPathLocator.class.getTypeName())); + return ConditionOutcome.noMatch(ConditionMessage.forCondition(ConditionalOnSearchPathLocator.class) + .notAvailable(SearchPathLocator.class.getTypeName())); } if (!required && foundSearchPathLocator) { - return ConditionOutcome.noMatch(ConditionMessage - .forCondition(ConditionalOnMissingSearchPathLocator.class) + return ConditionOutcome.noMatch(ConditionMessage.forCondition(ConditionalOnMissingSearchPathLocator.class) .available(SearchPathLocator.class.getTypeName())); } return ConditionOutcome.match(); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerAutoConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerAutoConfiguration.java index 281c2d59..878d6478 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerAutoConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerAutoConfiguration.java @@ -27,9 +27,9 @@ import org.springframework.context.annotation.Import; @Configuration(proxyBeanMethods = false) @ConditionalOnBean(ConfigServerConfiguration.Marker.class) @EnableConfigurationProperties(ConfigServerProperties.class) -@Import({ EnvironmentRepositoryConfiguration.class, CompositeConfiguration.class, - ResourceRepositoryConfiguration.class, ConfigServerEncryptionConfiguration.class, - ConfigServerMvcConfiguration.class, ResourceEncryptorConfiguration.class }) +@Import({ EnvironmentRepositoryConfiguration.class, CompositeConfiguration.class, ResourceRepositoryConfiguration.class, + ConfigServerEncryptionConfiguration.class, ConfigServerMvcConfiguration.class, + ResourceEncryptorConfiguration.class }) public class ConfigServerAutoConfiguration { } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicator.java index 6440309a..707c5335 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicator.java @@ -65,19 +65,17 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { List> details = new ArrayList<>(); for (String name : this.repositories.keySet()) { Repository repository = this.repositories.get(name); - String application = (repository.getName() == null) ? name - : repository.getName(); + String application = (repository.getName() == null) ? name : repository.getName(); String profiles = repository.getProfiles(); try { - Environment environment = this.environmentRepository.findOne(application, - profiles, repository.getLabel(), false); + Environment environment = this.environmentRepository.findOne(application, profiles, + repository.getLabel(), false); HashMap detail = new HashMap<>(); detail.put("name", environment.getName()); detail.put("label", environment.getLabel()); - if (environment.getProfiles() != null - && environment.getProfiles().length > 0) { + if (environment.getProfiles() != null && environment.getProfiles().length > 0) { detail.put("profiles", Arrays.asList(environment.getProfiles())); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java index df6dc78e..ce76dc28 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java @@ -65,10 +65,10 @@ public class ConfigServerMvcConfiguration implements WebMvcConfigurer { @Bean @RefreshScope - public EnvironmentController environmentController( - EnvironmentRepository envRepository, ConfigServerProperties server) { - EnvironmentController controller = new EnvironmentController( - encrypted(envRepository, server), this.objectMapper); + public EnvironmentController environmentController(EnvironmentRepository envRepository, + ConfigServerProperties server) { + EnvironmentController controller = new EnvironmentController(encrypted(envRepository, server), + this.objectMapper); controller.setStripDocumentFromYaml(server.isStripDocumentFromYaml()); controller.setAcceptEmpty(server.isAcceptEmpty()); return controller; @@ -76,17 +76,16 @@ public class ConfigServerMvcConfiguration implements WebMvcConfigurer { @Bean @ConditionalOnBean(ResourceRepository.class) - public ResourceController resourceController(ResourceRepository repository, - EnvironmentRepository envRepository, ConfigServerProperties server) { - ResourceController controller = new ResourceController(repository, - encrypted(envRepository, server), this.resourceEncryptorMap); + public ResourceController resourceController(ResourceRepository repository, EnvironmentRepository envRepository, + ConfigServerProperties server) { + ResourceController controller = new ResourceController(repository, encrypted(envRepository, server), + this.resourceEncryptorMap); controller.setEncryptEnabled(server.getEncrypt().isEnabled()); controller.setPlainTextEncryptEnabled(server.getEncrypt().isPlainTextEncrypt()); return controller; } - private EnvironmentRepository encrypted(EnvironmentRepository envRepository, - ConfigServerProperties server) { + private EnvironmentRepository encrypted(EnvironmentRepository envRepository, ConfigServerProperties server) { EnvironmentEncryptorEnvironmentRepository encrypted = new EnvironmentEncryptorEnvironmentRepository( envRepository, environmentEncryptor); encrypted.setOverrides(server.getOverrides()); 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 9113ef9f..342cec5f 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 @@ -54,13 +54,11 @@ import org.springframework.util.StringUtils; */ @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties(KeyProperties.class) -@Import({ SingleTextEncryptorConfiguration.class, - DefaultTextEncryptorConfiguration.class }) +@Import({ SingleTextEncryptorConfiguration.class, DefaultTextEncryptorConfiguration.class }) public class EncryptionAutoConfiguration { @Configuration(proxyBeanMethods = false) - @ConditionalOnProperty(value = "spring.cloud.config.server.encrypt.enabled", - matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.config.server.encrypt.enabled", matchIfMissing = true) protected static class EncryptorConfiguration { @Autowired(required = false) @@ -83,8 +81,7 @@ public class EncryptionAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(RsaSecretEncryptor.class) - @ConditionalOnProperty(prefix = "encrypt.key-store", value = "location", - matchIfMissing = false) + @ConditionalOnProperty(prefix = "encrypt.key-store", value = "location", matchIfMissing = false) protected static class KeyStoreConfiguration { @Autowired @@ -98,8 +95,7 @@ public class EncryptionAutoConfiguration { public TextEncryptorLocator textEncryptorLocator() { KeyStore keyStore = this.key.getKeyStore(); KeyStoreTextEncryptorLocator locator = new KeyStoreTextEncryptorLocator( - new KeyStoreKeyFactory(keyStore.getLocation(), - keyStore.getPassword().toCharArray(), + new KeyStoreKeyFactory(keyStore.getLocation(), keyStore.getPassword().toCharArray(), key.getKeyStore().getType()), keyStore.getSecret(), keyStore.getAlias()); RsaAlgorithm algorithm = this.rsaProperties.getAlgorithm(); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java index b70209bf..e3f0d70e 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java @@ -97,24 +97,19 @@ import org.springframework.vault.core.VaultTemplate; * @author Scott Frederick */ @Configuration(proxyBeanMethods = false) -@EnableConfigurationProperties({ SvnKitEnvironmentProperties.class, - CredhubEnvironmentProperties.class, JdbcEnvironmentProperties.class, - NativeEnvironmentProperties.class, VaultEnvironmentProperties.class, +@EnableConfigurationProperties({ SvnKitEnvironmentProperties.class, CredhubEnvironmentProperties.class, + JdbcEnvironmentProperties.class, NativeEnvironmentProperties.class, VaultEnvironmentProperties.class, RedisEnvironmentProperties.class, AwsS3EnvironmentProperties.class }) -@Import({ CompositeRepositoryConfiguration.class, JdbcRepositoryConfiguration.class, - VaultConfiguration.class, VaultRepositoryConfiguration.class, - SpringVaultRepositoryConfiguration.class, CredhubConfiguration.class, - CredhubRepositoryConfiguration.class, SvnRepositoryConfiguration.class, - NativeRepositoryConfiguration.class, GitRepositoryConfiguration.class, - RedisRepositoryConfiguration.class, GoogleCloudSourceConfiguration.class, +@Import({ CompositeRepositoryConfiguration.class, JdbcRepositoryConfiguration.class, VaultConfiguration.class, + VaultRepositoryConfiguration.class, SpringVaultRepositoryConfiguration.class, CredhubConfiguration.class, + CredhubRepositoryConfiguration.class, SvnRepositoryConfiguration.class, NativeRepositoryConfiguration.class, + GitRepositoryConfiguration.class, RedisRepositoryConfiguration.class, GoogleCloudSourceConfiguration.class, AwsS3RepositoryConfiguration.class, DefaultRepositoryConfiguration.class }) public class EnvironmentRepositoryConfiguration { @Bean - @ConditionalOnProperty(value = "spring.cloud.config.server.health.enabled", - matchIfMissing = true) - public ConfigServerHealthIndicator configServerHealthIndicator( - EnvironmentRepository repository) { + @ConditionalOnProperty(value = "spring.cloud.config.server.health.enabled", matchIfMissing = true) + public ConfigServerHealthIndicator configServerHealthIndicator(EnvironmentRepository repository) { return new ConfigServerHealthIndicator(repository); } @@ -126,8 +121,7 @@ public class EnvironmentRepositoryConfiguration { @Bean @ConditionalOnMissingBean(ConfigTokenProvider.class) - public ConfigTokenProvider defaultConfigTokenProvider( - ObjectProvider httpRequest) { + public ConfigTokenProvider defaultConfigTokenProvider(ObjectProvider httpRequest) { return new HttpRequestConfigTokenProvider(httpRequest); } @@ -164,10 +158,9 @@ public class EnvironmentRepositoryConfiguration { Optional customTransportConfigCallback, Optional googleCloudSourceSupport) { final TransportConfigCallbackFactory transportConfigCallbackFactory = new TransportConfigCallbackFactory( - customTransportConfigCallback.orElse(null), - googleCloudSourceSupport.orElse(null)); - return new MultipleJGitEnvironmentRepositoryFactory(environment, server, - jgitHttpConnectionFactory, transportConfigCallbackFactory); + customTransportConfigCallback.orElse(null), googleCloudSourceSupport.orElse(null)); + return new MultipleJGitEnvironmentRepositoryFactory(environment, server, jgitHttpConnectionFactory, + transportConfigCallbackFactory); } } @@ -188,8 +181,7 @@ public class EnvironmentRepositoryConfiguration { static class AwsS3FactoryConfig { @Bean - public AwsS3EnvironmentRepositoryFactory awsS3EnvironmentRepositoryFactory( - ConfigServerProperties server) { + public AwsS3EnvironmentRepositoryFactory awsS3EnvironmentRepositoryFactory(ConfigServerProperties server) { return new AwsS3EnvironmentRepositoryFactory(server); } @@ -200,8 +192,8 @@ public class EnvironmentRepositoryConfiguration { static class SvnFactoryConfig { @Bean - public SvnEnvironmentRepositoryFactory svnEnvironmentRepositoryFactory( - ConfigurableEnvironment environment, ConfigServerProperties server) { + public SvnEnvironmentRepositoryFactory svnEnvironmentRepositoryFactory(ConfigurableEnvironment environment, + ConfigServerProperties server) { return new SvnEnvironmentRepositoryFactory(environment, server); } @@ -217,8 +209,7 @@ public class EnvironmentRepositoryConfiguration { ObjectProvider request, EnvironmentWatch watch, Optional vaultRestTemplateFactory, ConfigTokenProvider tokenProvider) { - return new VaultEnvironmentRepositoryFactory(request, watch, - vaultRestTemplateFactory, tokenProvider); + return new VaultEnvironmentRepositoryFactory(request, watch, vaultRestTemplateFactory, tokenProvider); } } @@ -245,22 +236,19 @@ public class EnvironmentRepositoryConfiguration { public SpringVaultEnvironmentRepositoryFactory vaultEnvironmentRepositoryFactory( ObjectProvider request, EnvironmentWatch watch, SpringVaultClientConfiguration vaultClientConfiguration) { - return new SpringVaultEnvironmentRepositoryFactory(request, watch, - vaultClientConfiguration); + return new SpringVaultEnvironmentRepositoryFactory(request, watch, vaultClientConfiguration); } } @Configuration(proxyBeanMethods = false) @ConditionalOnClass(JdbcTemplate.class) - @ConditionalOnProperty(value = "spring.cloud.config.server.jdbc.enabled", - matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.config.server.jdbc.enabled", matchIfMissing = true) static class JdbcFactoryConfig { @Bean @ConditionalOnBean(JdbcTemplate.class) - public JdbcEnvironmentRepositoryFactory jdbcEnvironmentRepositoryFactory( - JdbcTemplate jdbc) { + public JdbcEnvironmentRepositoryFactory jdbcEnvironmentRepositoryFactory(JdbcTemplate jdbc) { return new JdbcEnvironmentRepositoryFactory(jdbc); } @@ -272,8 +260,7 @@ public class EnvironmentRepositoryConfiguration { @Bean @ConditionalOnBean(StringRedisTemplate.class) - public RedisEnvironmentRepositoryFactory redisEnvironmentRepositoryFactory( - StringRedisTemplate redis) { + public RedisEnvironmentRepositoryFactory redisEnvironmentRepositoryFactory(StringRedisTemplate redis) { return new RedisEnvironmentRepositoryFactory(redis); } @@ -286,8 +273,7 @@ public class EnvironmentRepositoryConfiguration { @Bean public CredhubEnvironmentRepositoryFactory credhubEnvironmentRepositoryFactory( Optional credHubOperations) { - return new CredhubEnvironmentRepositoryFactory( - credHubOperations.orElse(null)); + return new CredhubEnvironmentRepositoryFactory(credHubOperations.orElse(null)); } } @@ -306,8 +292,7 @@ public class EnvironmentRepositoryConfiguration { } @Configuration(proxyBeanMethods = false) -@ConditionalOnMissingBean(value = EnvironmentRepository.class, - search = SearchStrategy.CURRENT) +@ConditionalOnMissingBean(value = EnvironmentRepository.class, search = SearchStrategy.CURRENT) class DefaultRepositoryConfiguration { @Bean @@ -324,8 +309,7 @@ class DefaultRepositoryConfiguration { class NativeRepositoryConfiguration { @Bean - public NativeEnvironmentRepository nativeEnvironmentRepository( - NativeEnvironmentRepositoryFactory factory, + public NativeEnvironmentRepository nativeEnvironmentRepository(NativeEnvironmentRepositoryFactory factory, NativeEnvironmentProperties environmentProperties) { return factory.build(environmentProperties); } @@ -344,8 +328,7 @@ class AwsS3RepositoryConfiguration { @Bean @ConditionalOnMissingBean(AwsS3EnvironmentRepository.class) - public AwsS3EnvironmentRepository awsS3EnvironmentRepository( - AwsS3EnvironmentRepositoryFactory factory, + public AwsS3EnvironmentRepository awsS3EnvironmentRepository(AwsS3EnvironmentRepositoryFactory factory, AwsS3EnvironmentProperties environmentProperties) { return factory.build(environmentProperties); } @@ -357,8 +340,7 @@ class AwsS3RepositoryConfiguration { class SvnRepositoryConfiguration { @Bean - public SvnKitEnvironmentRepository svnKitEnvironmentRepository( - SvnEnvironmentRepositoryFactory factory, + public SvnKitEnvironmentRepository svnKitEnvironmentRepository(SvnEnvironmentRepositoryFactory factory, SvnKitEnvironmentProperties environmentProperties) { return factory.build(environmentProperties); } @@ -372,8 +354,7 @@ class SvnRepositoryConfiguration { class VaultRepositoryConfiguration { @Bean - public VaultEnvironmentRepository vaultEnvironmentRepository( - VaultEnvironmentRepositoryFactory factory, + public VaultEnvironmentRepository vaultEnvironmentRepository(VaultEnvironmentRepositoryFactory factory, VaultEnvironmentProperties environmentProperties) throws Exception { return factory.build(environmentProperties); } @@ -386,8 +367,7 @@ class VaultRepositoryConfiguration { class SpringVaultRepositoryConfiguration { @Bean - public SpringVaultEnvironmentRepository vaultEnvironmentRepository( - SpringVaultEnvironmentRepositoryFactory factory, + public SpringVaultEnvironmentRepository vaultEnvironmentRepository(SpringVaultEnvironmentRepositoryFactory factory, VaultEnvironmentProperties environmentProperties) { return factory.build(environmentProperties); } @@ -399,8 +379,7 @@ class SpringVaultRepositoryConfiguration { class CredhubRepositoryConfiguration { @Bean - public CredhubEnvironmentRepository credhubEnvironmentRepository( - CredhubEnvironmentRepositoryFactory factory, + public CredhubEnvironmentRepository credhubEnvironmentRepository(CredhubEnvironmentRepositoryFactory factory, CredhubEnvironmentProperties environmentProperties) { return factory.build(environmentProperties); } @@ -410,14 +389,12 @@ class CredhubRepositoryConfiguration { @Configuration(proxyBeanMethods = false) @Profile("jdbc") @ConditionalOnClass(JdbcTemplate.class) -@ConditionalOnProperty(value = "spring.cloud.config.server.jdbc.enabled", - matchIfMissing = true) +@ConditionalOnProperty(value = "spring.cloud.config.server.jdbc.enabled", matchIfMissing = true) class JdbcRepositoryConfiguration { @Bean @ConditionalOnBean(JdbcTemplate.class) - public JdbcEnvironmentRepository jdbcEnvironmentRepository( - JdbcEnvironmentRepositoryFactory factory, + public JdbcEnvironmentRepository jdbcEnvironmentRepository(JdbcEnvironmentRepositoryFactory factory, JdbcEnvironmentProperties environmentProperties) { return factory.build(environmentProperties); } @@ -431,8 +408,7 @@ class RedisRepositoryConfiguration { @Bean @ConditionalOnBean(StringRedisTemplate.class) - public RedisEnvironmentRepository redisEnvironmentRepository( - RedisEnvironmentRepositoryFactory factory, + public RedisEnvironmentRepository redisEnvironmentRepository(RedisEnvironmentRepositoryFactory factory, RedisEnvironmentProperties environmentProperties) { return factory.build(environmentProperties); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ResourceEncryptorConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ResourceEncryptorConfiguration.java index 7ae92bcc..8a59b5e6 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ResourceEncryptorConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ResourceEncryptorConfiguration.java @@ -50,17 +50,13 @@ public class ResourceEncryptorConfiguration { @Bean Map resourceEncryptors() { Map resourceEncryptorMap = new HashMap<>(); - addSupportedExtensionsToMap(resourceEncryptorMap, - new CipherResourceJsonEncryptor(encryptor)); - addSupportedExtensionsToMap(resourceEncryptorMap, - new CipherResourcePropertiesEncryptor(encryptor)); - addSupportedExtensionsToMap(resourceEncryptorMap, - new CipherResourceYamlEncryptor(encryptor)); + addSupportedExtensionsToMap(resourceEncryptorMap, new CipherResourceJsonEncryptor(encryptor)); + addSupportedExtensionsToMap(resourceEncryptorMap, new CipherResourcePropertiesEncryptor(encryptor)); + addSupportedExtensionsToMap(resourceEncryptorMap, new CipherResourceYamlEncryptor(encryptor)); return resourceEncryptorMap; } - private void addSupportedExtensionsToMap( - Map resourceEncryptorMap, + private void addSupportedExtensionsToMap(Map resourceEncryptorMap, ResourceEncryptor resourceEncryptor) { for (String ext : resourceEncryptor.getSupportedExtensions()) { resourceEncryptorMap.put(ext, resourceEncryptor); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/diagnostics/GitUriFailureAnalyzer.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/diagnostics/GitUriFailureAnalyzer.java index bf6eaa2f..0b076a05 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/diagnostics/GitUriFailureAnalyzer.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/diagnostics/GitUriFailureAnalyzer.java @@ -23,8 +23,7 @@ import org.springframework.cloud.config.server.environment.JGitEnvironmentReposi /** * @author Ryan Baxter */ -public class GitUriFailureAnalyzer - extends AbstractFailureAnalyzer { +public class GitUriFailureAnalyzer extends AbstractFailureAnalyzer { /** * Description of the failure. @@ -39,8 +38,7 @@ public class GitUriFailureAnalyzer + "you need to use a composite configuration."; @Override - protected FailureAnalysis analyze(Throwable rootFailure, - IllegalStateException cause) { + protected FailureAnalysis analyze(Throwable rootFailure, IllegalStateException cause) { if (JGitEnvironmentRepository.MESSAGE.equalsIgnoreCase(cause.getMessage())) { return new FailureAnalysis(DESCRIPTION, ACTION, cause); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/AbstractCipherResourceEncryptor.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/AbstractCipherResourceEncryptor.java index 7847d312..d1eca924 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/AbstractCipherResourceEncryptor.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/AbstractCipherResourceEncryptor.java @@ -51,25 +51,22 @@ abstract class AbstractCipherResourceEncryptor implements ResourceEncryptor { public abstract List getSupportedExtensions(); @Override - public abstract String decrypt(String text, Environment environment) - throws IOException; + public abstract String decrypt(String text, Environment environment) throws IOException; - protected String decryptWithJacksonParser(String text, String name, String[] profiles, - JsonFactory factory) throws IOException { + protected String decryptWithJacksonParser(String text, String name, String[] profiles, JsonFactory factory) + throws IOException { Set valsToDecrpyt = new HashSet(); JsonParser parser = factory.createParser(text); JsonToken token; while ((token = parser.nextToken()) != null) { - if (token.equals(JsonToken.VALUE_STRING) - && parser.getValueAsString().startsWith(CIPHER_MARKER)) { + if (token.equals(JsonToken.VALUE_STRING) && parser.getValueAsString().startsWith(CIPHER_MARKER)) { valsToDecrpyt.add(parser.getValueAsString().trim()); } } for (String value : valsToDecrpyt) { - String decryptedValue = decryptValue(value.replace(CIPHER_MARKER, ""), name, - profiles); + String decryptedValue = decryptValue(value.replace(CIPHER_MARKER, ""), name, profiles); text = text.replace(value, decryptedValue); } @@ -78,8 +75,7 @@ abstract class AbstractCipherResourceEncryptor implements ResourceEncryptor { protected String decryptValue(String value, String name, String[] profiles) { return encryptor - .locate(this.helper.getEncryptorKeys(name, - StringUtils.arrayToCommaDelimitedString(profiles), value)) + .locate(this.helper.getEncryptorKeys(name, StringUtils.arrayToCommaDelimitedString(profiles), value)) .decrypt(this.helper.stripPrefix(value)); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherEnvironmentEncryptor.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherEnvironmentEncryptor.java index a4209e0e..15af51d3 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherEnvironmentEncryptor.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherEnvironmentEncryptor.java @@ -53,36 +53,31 @@ public class CipherEnvironmentEncryptor implements EnvironmentEncryptor { @Override public Environment decrypt(Environment environment) { - return this.encryptor != null ? decrypt(environment, this.encryptor) - : environment; + return this.encryptor != null ? decrypt(environment, this.encryptor) : environment; } private Environment decrypt(Environment environment, TextEncryptorLocator encryptor) { Environment result = new Environment(environment); for (PropertySource source : environment.getPropertySources()) { - Map map = new LinkedHashMap( - source.getSource()); + Map map = new LinkedHashMap(source.getSource()); for (Map.Entry entry : new LinkedHashSet<>(map.entrySet())) { Object key = entry.getKey(); String name = key.toString(); - if (entry.getValue() != null - && entry.getValue().toString().startsWith("{cipher}")) { + if (entry.getValue() != null && entry.getValue().toString().startsWith("{cipher}")) { String value = entry.getValue().toString(); map.remove(key); try { value = value.substring("{cipher}".length()); value = encryptor .locate(this.helper.getEncryptorKeys(name, - StringUtils.arrayToCommaDelimitedString( - environment.getProfiles()), - value)) + StringUtils.arrayToCommaDelimitedString(environment.getProfiles()), value)) .decrypt(this.helper.stripPrefix(value)); } catch (Exception e) { value = ""; name = "invalid." + name; - String message = "Cannot decrypt key: " + key + " (" - + e.getClass() + ": " + e.getMessage() + ")"; + String message = "Cannot decrypt key: " + key + " (" + e.getClass() + ": " + e.getMessage() + + ")"; if (logger.isDebugEnabled()) { logger.debug(message, e); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourceJsonEncryptor.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourceJsonEncryptor.java index cca1b4d3..6635c677 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourceJsonEncryptor.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourceJsonEncryptor.java @@ -33,8 +33,7 @@ import org.springframework.stereotype.Component; * @author Sean Stiglitz */ @Component -public class CipherResourceJsonEncryptor extends AbstractCipherResourceEncryptor - implements ResourceEncryptor { +public class CipherResourceJsonEncryptor extends AbstractCipherResourceEncryptor implements ResourceEncryptor { private static final List SUPPORTED_EXTENSIONS = Arrays.asList("json"); @@ -52,8 +51,7 @@ public class CipherResourceJsonEncryptor extends AbstractCipherResourceEncryptor @Override public String decrypt(String text, Environment environment) throws IOException { - return decryptWithJacksonParser(text, environment.getName(), - environment.getProfiles(), factory); + return decryptWithJacksonParser(text, environment.getName(), environment.getProfiles(), factory); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourcePropertiesEncryptor.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourcePropertiesEncryptor.java index b7487e6f..b341c9d6 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourcePropertiesEncryptor.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourcePropertiesEncryptor.java @@ -35,8 +35,7 @@ import org.springframework.stereotype.Component; * @author Sean Stiglitz */ @Component -public class CipherResourcePropertiesEncryptor extends AbstractCipherResourceEncryptor - implements ResourceEncryptor { +public class CipherResourcePropertiesEncryptor extends AbstractCipherResourceEncryptor implements ResourceEncryptor { private static final List SUPPORTED_EXTENSIONS = Arrays.asList("properties"); @@ -64,8 +63,8 @@ public class CipherResourcePropertiesEncryptor extends AbstractCipherResourceEnc } for (String value : valsToDecrpyt) { - String decryptedValue = decryptValue(value.replace(CIPHER_MARKER, ""), - environment.getName(), environment.getProfiles()); + String decryptedValue = decryptValue(value.replace(CIPHER_MARKER, ""), environment.getName(), + environment.getProfiles()); text = text.replace(value, decryptedValue); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourceYamlEncryptor.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourceYamlEncryptor.java index dda984e5..a670fd49 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourceYamlEncryptor.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/CipherResourceYamlEncryptor.java @@ -33,8 +33,7 @@ import org.springframework.stereotype.Component; * @author Sean Stiglitz */ @Component -public class CipherResourceYamlEncryptor extends AbstractCipherResourceEncryptor - implements ResourceEncryptor { +public class CipherResourceYamlEncryptor extends AbstractCipherResourceEncryptor implements ResourceEncryptor { private static final List SUPPORTED_EXTENSIONS = Arrays.asList("yml", "yaml"); @@ -52,8 +51,7 @@ public class CipherResourceYamlEncryptor extends AbstractCipherResourceEncryptor @Override public String decrypt(String text, Environment environment) throws IOException { - return decryptWithJacksonParser(text, environment.getName(), - environment.getProfiles(), factory); + return decryptWithJacksonParser(text, environment.getName(), environment.getProfiles(), factory); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EncryptionController.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EncryptionController.java index 212d37d6..4fe88f8d 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EncryptionController.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EncryptionController.java @@ -89,41 +89,37 @@ public class EncryptionController { @RequestMapping(value = "encrypt/status", method = RequestMethod.GET) public Map status() { - TextEncryptor encryptor = getEncryptor(defaultApplicationName, defaultProfile, - ""); + TextEncryptor encryptor = getEncryptor(defaultApplicationName, defaultProfile, ""); validateEncryptionWeakness(encryptor); return Collections.singletonMap("status", "OK"); } @RequestMapping(value = "encrypt", method = RequestMethod.POST) - public String encrypt(@RequestBody String data, - @RequestHeader("Content-Type") MediaType type) { + public String encrypt(@RequestBody String data, @RequestHeader("Content-Type") MediaType type) { return encrypt(defaultApplicationName, defaultProfile, data, type); } @RequestMapping(value = "/encrypt/{name}/{profiles}", method = RequestMethod.POST) - public String encrypt(@PathVariable String name, @PathVariable String profiles, - @RequestBody String data, @RequestHeader("Content-Type") MediaType type) { + public String encrypt(@PathVariable String name, @PathVariable String profiles, @RequestBody String data, + @RequestHeader("Content-Type") MediaType type) { TextEncryptor encryptor = getEncryptor(name, profiles, ""); validateEncryptionWeakness(encryptor); String input = stripFormData(data, type, false); Map keys = helper.getEncryptorKeys(name, profiles, input); String textToEncrypt = helper.stripPrefix(input); - String encrypted = helper.addPrefix(keys, - encryptorLocator.locate(keys).encrypt(textToEncrypt)); + String encrypted = helper.addPrefix(keys, encryptorLocator.locate(keys).encrypt(textToEncrypt)); logger.info("Encrypted data"); return encrypted; } @RequestMapping(value = "decrypt", method = RequestMethod.POST) - public String decrypt(@RequestBody String data, - @RequestHeader("Content-Type") MediaType type) { + public String decrypt(@RequestBody String data, @RequestHeader("Content-Type") MediaType type) { return decrypt(defaultApplicationName, defaultProfile, data, type); } @RequestMapping(value = "/decrypt/{name}/{profiles}", method = RequestMethod.POST) - public String decrypt(@PathVariable String name, @PathVariable String profiles, - @RequestBody String data, @RequestHeader("Content-Type") MediaType type) { + public String decrypt(@PathVariable String name, @PathVariable String profiles, @RequestBody String data, + @RequestHeader("Content-Type") MediaType type) { TextEncryptor encryptor = getEncryptor(name, profiles, ""); checkDecryptionPossible(encryptor); validateEncryptionWeakness(encryptor); @@ -144,8 +140,7 @@ public class EncryptionController { if (encryptorLocator == null) { throw new KeyNotInstalledException(); } - TextEncryptor encryptor = encryptorLocator - .locate(helper.getEncryptorKeys(name, profiles, data)); + TextEncryptor encryptor = encryptorLocator.locate(helper.getEncryptorKeys(name, profiles, data)); if (encryptor == null) { throw new KeyNotInstalledException(); } @@ -159,8 +154,7 @@ public class EncryptionController { } private void checkDecryptionPossible(TextEncryptor textEncryptor) { - if (textEncryptor instanceof RsaSecretEncryptor - && !((RsaSecretEncryptor) textEncryptor).canDecrypt()) { + if (textEncryptor instanceof RsaSecretEncryptor && !((RsaSecretEncryptor) textEncryptor).canDecrypt()) { throw new DecryptionNotSupportedException(); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EnvironmentPrefixHelper.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EnvironmentPrefixHelper.java index 4d6ba133..611ddeba 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EnvironmentPrefixHelper.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EnvironmentPrefixHelper.java @@ -62,8 +62,7 @@ class EnvironmentPrefixHelper { * @param text text to cipher * @return encryptor keys */ - public Map getEncryptorKeys(String name, String profiles, - String text) { + public Map getEncryptorKeys(String name, String profiles, String text) { Map keys = new LinkedHashMap(); @@ -129,8 +128,7 @@ class EnvironmentPrefixHelper { } private String removeEnvironmentPrefix(String input) { - return input.replaceFirst("\\{name:.*\\}", "").replaceFirst("\\{profiles:.*\\}", - ""); + return input.replaceFirst("\\{name:.*\\}", "").replaceFirst("\\{profiles:.*\\}", ""); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/KeyStoreTextEncryptorLocator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/KeyStoreTextEncryptorLocator.java index bd6517d3..64ced4ac 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/KeyStoreTextEncryptorLocator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/KeyStoreTextEncryptorLocator.java @@ -55,8 +55,7 @@ public class KeyStoreTextEncryptorLocator implements TextEncryptorLocator { private String salt = "deadbeef"; - public KeyStoreTextEncryptorLocator(KeyStoreKeyFactory keys, String defaultSecret, - String defaultAlias) { + public KeyStoreTextEncryptorLocator(KeyStoreKeyFactory keys, String defaultSecret, String defaultAlias) { this.keys = keys; this.defaultAlias = defaultAlias; this.defaultSecret = defaultSecret; @@ -97,9 +96,8 @@ public class KeyStoreTextEncryptorLocator implements TextEncryptorLocator { } private RsaSecretEncryptor rsaSecretEncryptor(String alias, String secret) { - return new RsaSecretEncryptor( - this.keys.getKeyPair(alias, this.secretLocator.locate(secret)), - this.rsaAlgorithm, this.salt, this.strong); + return new RsaSecretEncryptor(this.keys.getKeyPair(alias, this.secretLocator.locate(secret)), this.rsaAlgorithm, + this.salt, this.strong); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/LocatorTextEncryptor.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/LocatorTextEncryptor.java index 874cb717..01f7485e 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/LocatorTextEncryptor.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/LocatorTextEncryptor.java @@ -36,8 +36,7 @@ public class LocatorTextEncryptor implements TextEncryptor { @Override public String encrypt(String text) { - Map keys = this.helper.getEncryptorKeys("configserver", "default", - text); + Map keys = this.helper.getEncryptorKeys("configserver", "default", text); return getLocator().locate(keys).encrypt(this.helper.stripPrefix(text)); } @@ -47,8 +46,7 @@ public class LocatorTextEncryptor implements TextEncryptor { @Override public String decrypt(String encryptedText) { - Map keys = this.helper.getEncryptorKeys("configserver", "default", - encryptedText); + Map keys = this.helper.getEncryptorKeys("configserver", "default", encryptedText); return getLocator().locate(keys).decrypt(this.helper.stripPrefix(encryptedText)); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AbstractScmEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AbstractScmEnvironmentRepository.java index df9a8602..1125f6c8 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AbstractScmEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AbstractScmEnvironmentRepository.java @@ -44,23 +44,20 @@ public abstract class AbstractScmEnvironmentRepository extends AbstractScmAccess } @Override - public synchronized Environment findOne(String application, String profile, - String label) { + public synchronized Environment findOne(String application, String profile, String label) { return findOne(application, profile, label, false); } @Override - public synchronized Environment findOne(String application, String profile, - String label, boolean includeOrigin) { - NativeEnvironmentRepository delegate = new NativeEnvironmentRepository( - getEnvironment(), new NativeEnvironmentProperties()); + public synchronized Environment findOne(String application, String profile, String label, boolean includeOrigin) { + NativeEnvironmentRepository delegate = new NativeEnvironmentRepository(getEnvironment(), + new NativeEnvironmentProperties()); Locations locations = getLocations(application, profile, label); delegate.setSearchLocations(locations.getLocations()); Environment result = delegate.findOne(application, profile, "", includeOrigin); result.setVersion(locations.getVersion()); result.setLabel(label); - return this.cleaner.clean(result, getWorkingDirectory().toURI().toString(), - getUri()); + return this.cleaner.clean(result, getWorkingDirectory().toURI().toString(), getUri()); } @Override diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AbstractVaultEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AbstractVaultEnvironmentRepository.java index e57a0354..3f4e4a30 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AbstractVaultEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AbstractVaultEnvironmentRepository.java @@ -42,8 +42,7 @@ import static org.springframework.cloud.config.client.ConfigClientProperties.STA * @author Haytham Mohamed * @author Scott Frederick */ -public abstract class AbstractVaultEnvironmentRepository - implements EnvironmentRepository, Ordered { +public abstract class AbstractVaultEnvironmentRepository implements EnvironmentRepository, Ordered { // TODO: move to watchState:String on findOne? protected final ObjectProvider request; @@ -64,8 +63,8 @@ public abstract class AbstractVaultEnvironmentRepository protected int order; - public AbstractVaultEnvironmentRepository(ObjectProvider request, - EnvironmentWatch watch, VaultEnvironmentProperties properties) { + public AbstractVaultEnvironmentRepository(ObjectProvider request, EnvironmentWatch watch, + VaultEnvironmentProperties properties) { this.defaultKey = properties.getDefaultKey(); this.profileSeparator = properties.getProfileSeparator(); this.order = properties.getOrder(); @@ -80,8 +79,7 @@ public abstract class AbstractVaultEnvironmentRepository List keys = findKeys(application, scrubbedProfiles); - Environment environment = new Environment(application, profiles, label, null, - getWatchState()); + Environment environment = new Environment(application, profiles, label, null, getWatchState()); for (String key : keys) { // read raw 'data' key from vault @@ -115,8 +113,7 @@ public abstract class AbstractVaultEnvironmentRepository private List findKeys(String application, List profiles) { List keys = new ArrayList<>(); - if (StringUtils.hasText(this.defaultKey) - && !this.defaultKey.equals(application)) { + if (StringUtils.hasText(this.defaultKey) && !this.defaultKey.equals(application)) { keys.add(this.defaultKey); addProfiles(keys, this.defaultKey, profiles); } @@ -138,8 +135,7 @@ public abstract class AbstractVaultEnvironmentRepository return scrubbedProfiles; } - private void addProfiles(List contexts, String baseContext, - List profiles) { + private void addProfiles(List contexts, String baseContext, List profiles) { for (String profile : profiles) { contexts.add(baseContext + this.profileSeparator + profile); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepository.java index 360147da..cc3c7a7d 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepository.java @@ -37,8 +37,7 @@ import org.springframework.util.StringUtils; * @author Clay McCoy * @author Scott Frederick */ -public class AwsS3EnvironmentRepository - implements EnvironmentRepository, Ordered, SearchPathLocator { +public class AwsS3EnvironmentRepository implements EnvironmentRepository, Ordered, SearchPathLocator { private static final String AWS_S3_RESOURCE_SCHEME = "s3://"; @@ -52,8 +51,7 @@ public class AwsS3EnvironmentRepository protected int order = Ordered.LOWEST_PRECEDENCE; - public AwsS3EnvironmentRepository(AmazonS3 s3Client, String bucketName, - ConfigServerProperties server) { + public AwsS3EnvironmentRepository(AmazonS3 s3Client, String bucketName, ConfigServerProperties server) { this.s3Client = s3Client; this.bucketName = bucketName; this.serverProperties = server; @@ -69,14 +67,12 @@ public class AwsS3EnvironmentRepository } @Override - public Environment findOne(String specifiedApplication, String specifiedProfiles, - String specifiedLabel) { + public Environment findOne(String specifiedApplication, String specifiedProfiles, String specifiedLabel) { final String application = StringUtils.isEmpty(specifiedApplication) ? serverProperties.getDefaultApplicationName() : specifiedApplication; - final String profiles = StringUtils.isEmpty(specifiedProfiles) - ? serverProperties.getDefaultProfile() : specifiedProfiles; - final String label = StringUtils.isEmpty(specifiedLabel) - ? serverProperties.getDefaultLabel() : specifiedLabel; + final String profiles = StringUtils.isEmpty(specifiedProfiles) ? serverProperties.getDefaultProfile() + : specifiedProfiles; + final String label = StringUtils.isEmpty(specifiedLabel) ? serverProperties.getDefaultLabel() : specifiedLabel; String[] profileArray = parseProfiles(profiles); @@ -90,13 +86,11 @@ public class AwsS3EnvironmentRepository final Properties config = s3ConfigFile.read(); config.putAll(serverProperties.getOverrides()); - StringBuilder propertySourceName = new StringBuilder().append("s3:") - .append(application); + StringBuilder propertySourceName = new StringBuilder().append("s3:").append(application); if (profile != null) { propertySourceName.append("-").append(profile); } - environment - .add(new PropertySource(propertySourceName.toString(), config)); + environment.add(new PropertySource(propertySourceName.toString(), config)); } } @@ -110,18 +104,15 @@ public class AwsS3EnvironmentRepository return StringUtils.commaDelimitedListToStringArray(profiles); } - private S3ConfigFile getS3ConfigFile(String application, String profile, - String label) { + private S3ConfigFile getS3ConfigFile(String application, String profile, String label) { String objectKeyPrefix = buildObjectKeyPrefix(application, profile, label); - final S3ObjectIdBuilder s3ObjectIdBuilder = new S3ObjectIdBuilder() - .withBucket(bucketName); + final S3ObjectIdBuilder s3ObjectIdBuilder = new S3ObjectIdBuilder().withBucket(bucketName); return getS3ConfigFile(s3ObjectIdBuilder, objectKeyPrefix); } - private String buildObjectKeyPrefix(String application, String profile, - String label) { + private String buildObjectKeyPrefix(String application, String profile, String label) { StringBuilder objectKeyPrefix = new StringBuilder(); if (!StringUtils.isEmpty(label)) { objectKeyPrefix.append(label).append(PATH_SEPARATOR); @@ -133,27 +124,24 @@ public class AwsS3EnvironmentRepository return objectKeyPrefix.toString(); } - private S3ConfigFile getS3ConfigFile(S3ObjectIdBuilder s3ObjectIdBuilder, - String keyPrefix) { + private S3ConfigFile getS3ConfigFile(S3ObjectIdBuilder s3ObjectIdBuilder, String keyPrefix) { try { - final S3Object properties = s3Client.getObject(new GetObjectRequest( - s3ObjectIdBuilder.withKey(keyPrefix + ".properties").build())); + final S3Object properties = s3Client + .getObject(new GetObjectRequest(s3ObjectIdBuilder.withKey(keyPrefix + ".properties").build())); return new PropertyS3ConfigFile(properties.getObjectMetadata().getVersionId(), properties.getObjectContent()); } catch (Exception eProperties) { try { - final S3Object yaml = s3Client.getObject(new GetObjectRequest( - s3ObjectIdBuilder.withKey(keyPrefix + ".yml").build())); - return new YamlS3ConfigFile(yaml.getObjectMetadata().getVersionId(), - yaml.getObjectContent()); + final S3Object yaml = s3Client + .getObject(new GetObjectRequest(s3ObjectIdBuilder.withKey(keyPrefix + ".yml").build())); + return new YamlS3ConfigFile(yaml.getObjectMetadata().getVersionId(), yaml.getObjectContent()); } catch (Exception eYaml) { try { - final S3Object json = s3Client.getObject(new GetObjectRequest( - s3ObjectIdBuilder.withKey(keyPrefix + ".json").build())); - return new JsonS3ConfigFile(json.getObjectMetadata().getVersionId(), - json.getObjectContent()); + final S3Object json = s3Client + .getObject(new GetObjectRequest(s3ObjectIdBuilder.withKey(keyPrefix + ".json").build())); + return new JsonS3ConfigFile(json.getObjectMetadata().getVersionId(), json.getObjectContent()); } catch (Exception eJson) { return null; @@ -164,11 +152,9 @@ public class AwsS3EnvironmentRepository @Override public Locations getLocations(String application, String profiles, String label) { - String baseLocation = AWS_S3_RESOURCE_SCHEME + bucketName + PATH_SEPARATOR - + application; + String baseLocation = AWS_S3_RESOURCE_SCHEME + bucketName + PATH_SEPARATOR + application; - return new Locations(application, profiles, label, null, - new String[] { baseLocation }); + return new Locations(application, profiles, label, null, new String[] { baseLocation }); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryFactory.java index 5e14831e..d6f10f60 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryFactory.java @@ -21,8 +21,8 @@ import com.amazonaws.services.s3.AmazonS3ClientBuilder; import org.springframework.cloud.config.server.config.ConfigServerProperties; -public class AwsS3EnvironmentRepositoryFactory implements - EnvironmentRepositoryFactory { +public class AwsS3EnvironmentRepositoryFactory + implements EnvironmentRepositoryFactory { final private ConfigServerProperties server; @@ -31,8 +31,7 @@ public class AwsS3EnvironmentRepositoryFactory implements } @Override - public AwsS3EnvironmentRepository build( - AwsS3EnvironmentProperties environmentProperties) { + public AwsS3EnvironmentRepository build(AwsS3EnvironmentProperties environmentProperties) { final AmazonS3ClientBuilder clientBuilder = AmazonS3ClientBuilder.standard(); if (environmentProperties.getRegion() != null) { clientBuilder.withRegion(environmentProperties.getRegion()); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CompositeEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CompositeEnvironmentRepository.java index 8bdfc8dd..1fb0b62d 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CompositeEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CompositeEnvironmentRepository.java @@ -37,8 +37,7 @@ public class CompositeEnvironmentRepository implements EnvironmentRepository { * @param environmentRepositories The list of {@link EnvironmentRepository}s to create * the composite from. */ - public CompositeEnvironmentRepository( - List environmentRepositories) { + public CompositeEnvironmentRepository(List environmentRepositories) { // Sort the environment repositories by the priority Collections.sort(environmentRepositories, OrderComparator.INSTANCE); this.environmentRepositories = environmentRepositories; @@ -50,21 +49,18 @@ public class CompositeEnvironmentRepository implements EnvironmentRepository { } @Override - public Environment findOne(String application, String profile, String label, - boolean includeOrigin) { - Environment env = new Environment(application, new String[] { profile }, label, - null, null); + public Environment findOne(String application, String profile, String label, boolean includeOrigin) { + Environment env = new Environment(application, new String[] { profile }, label, null, null); if (this.environmentRepositories.size() == 1) { - Environment envRepo = this.environmentRepositories.get(0).findOne(application, - profile, label, includeOrigin); + Environment envRepo = this.environmentRepositories.get(0).findOne(application, profile, label, + includeOrigin); env.addAll(envRepo.getPropertySources()); env.setVersion(envRepo.getVersion()); env.setState(envRepo.getState()); } else { for (EnvironmentRepository repo : environmentRepositories) { - env.addAll(repo.findOne(application, profile, label, includeOrigin) - .getPropertySources()); + env.addAll(repo.findOne(application, profile, label, includeOrigin).getPropertySources()); } } return env; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/ConfigurableHttpConnectionFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/ConfigurableHttpConnectionFactory.java index 6c137b98..66a3c732 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/ConfigurableHttpConnectionFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/ConfigurableHttpConnectionFactory.java @@ -23,7 +23,6 @@ import org.eclipse.jgit.transport.http.HttpConnectionFactory; */ public interface ConfigurableHttpConnectionFactory extends HttpConnectionFactory { - void addConfiguration(MultipleJGitEnvironmentProperties environmentProperties) - throws Exception; + void addConfiguration(MultipleJGitEnvironmentProperties environmentProperties) throws Exception; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/ConsulEnvironmentWatch.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/ConsulEnvironmentWatch.java index d8a48f0b..390ac1a7 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/ConsulEnvironmentWatch.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/ConsulEnvironmentWatch.java @@ -102,8 +102,8 @@ public class ConsulEnvironmentWatch implements EnvironmentWatch { headers.add(CONSUL_TOKEN, this.token); } HttpEntity request = new HttpEntity<>(headers); - ResponseEntity> response = this.restTemplate.exchange(WATCH_URL, - HttpMethod.GET, request, RESPONSE_TYPE, params.toArray()); + ResponseEntity> response = this.restTemplate.exchange(WATCH_URL, HttpMethod.GET, request, + RESPONSE_TYPE, params.toArray()); if (response.getStatusCode().is2xxSuccessful()) { String consulIndex = response.getHeaders().getFirst(CONSUL_INDEX); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepository.java index e5746b73..c560c773 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepository.java @@ -57,15 +57,12 @@ public class CredhubEnvironmentRepository implements EnvironmentRepository { String[] profiles = StringUtils.commaDelimitedListToStringArray(profilesList); - Environment environment = new Environment(application, profiles, label, null, - null); + Environment environment = new Environment(application, profiles, label, null, null); for (String profile : profiles) { - environment.add(new PropertySource( - "credhub-" + application + "-" + profile + "-" + label, + environment.add(new PropertySource("credhub-" + application + "-" + profile + "-" + label, findProperties(application, profile, label))); if (!DEFAULT_APPLICATION.equals(application)) { - addDefaultPropertySource(environment, DEFAULT_APPLICATION, profile, - label); + addDefaultPropertySource(environment, DEFAULT_APPLICATION, profile, label); } } @@ -73,35 +70,30 @@ public class CredhubEnvironmentRepository implements EnvironmentRepository { addDefaultPropertySource(environment, application, DEFAULT_PROFILE, label); } - if (!Arrays.asList(profiles).contains(DEFAULT_PROFILE) - && !DEFAULT_APPLICATION.equals(application)) { - addDefaultPropertySource(environment, DEFAULT_APPLICATION, DEFAULT_PROFILE, - label); + if (!Arrays.asList(profiles).contains(DEFAULT_PROFILE) && !DEFAULT_APPLICATION.equals(application)) { + addDefaultPropertySource(environment, DEFAULT_APPLICATION, DEFAULT_PROFILE, label); } return environment; } - private void addDefaultPropertySource(Environment environment, String application, - String profile, String label) { + private void addDefaultPropertySource(Environment environment, String application, String profile, String label) { Map properties = findProperties(application, profile, label); if (!properties.isEmpty()) { - PropertySource propertySource = new PropertySource( - "credhub-" + application + "-" + profile + "-" + label, properties); + PropertySource propertySource = new PropertySource("credhub-" + application + "-" + profile + "-" + label, + properties); environment.add(propertySource); } } - private Map findProperties(String application, String profile, - String label) { + private Map findProperties(String application, String profile, String label) { String path = "/" + application + "/" + profile + "/" + label; return this.credHubOperations.credentials().findByPath(path).stream() .map(credentialSummary -> credentialSummary.getName().getName()) - .map(name -> this.credHubOperations.credentials() - .getByName(new SimpleCredentialName(name), JsonCredential.class)) - .map(CredentialDetails::getValue) - .flatMap(jsonCredential -> jsonCredential.entrySet().stream()) + .map(name -> this.credHubOperations.credentials().getByName(new SimpleCredentialName(name), + JsonCredential.class)) + .map(CredentialDetails::getValue).flatMap(jsonCredential -> jsonCredential.entrySet().stream()) .collect(toMap(Map.Entry::getKey, Map.Entry::getValue, (a, b) -> b)); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepositoryFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepositoryFactory.java index 46c6ee36..f6efcc37 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepositoryFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepositoryFactory.java @@ -21,8 +21,8 @@ import org.springframework.credhub.core.CredHubOperations; /** * @author Alberto C. Ríos */ -public class CredhubEnvironmentRepositoryFactory implements - EnvironmentRepositoryFactory { +public class CredhubEnvironmentRepositoryFactory + implements EnvironmentRepositoryFactory { private CredHubOperations credhubOperations; @@ -31,8 +31,7 @@ public class CredhubEnvironmentRepositoryFactory implements } @Override - public CredhubEnvironmentRepository build( - CredhubEnvironmentProperties environmentProperties) { + public CredhubEnvironmentRepository build(CredhubEnvironmentProperties environmentProperties) { return new CredhubEnvironmentRepository(this.credhubOperations); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentCleaner.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentCleaner.java index 1f22b3a7..adbdfda3 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentCleaner.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentCleaner.java @@ -42,8 +42,7 @@ public class EnvironmentCleaner { protected Map clean(Map source, String uri) { for (Map.Entry entry : source.entrySet()) { if (entry.getValue() instanceof PropertyValueDescriptor) { - PropertyValueDescriptor descriptor = (PropertyValueDescriptor) entry - .getValue(); + PropertyValueDescriptor descriptor = (PropertyValueDescriptor) entry.getValue(); if (!uri.endsWith("/")) { uri = uri + "/"; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentController.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentController.java index 9a5e5310..25e9b9fd 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentController.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentController.java @@ -62,8 +62,7 @@ import static org.springframework.cloud.config.server.support.EnvironmentPropert * */ @RestController -@RequestMapping(method = RequestMethod.GET, - path = "${spring.cloud.config.server.prefix:}") +@RequestMapping(method = RequestMethod.GET, path = "${spring.cloud.config.server.prefix:}") public class EnvironmentController { private EnvironmentRepository repository; @@ -78,8 +77,7 @@ public class EnvironmentController { this(repository, new ObjectMapper()); } - public EnvironmentController(EnvironmentRepository repository, - ObjectMapper objectMapper) { + public EnvironmentController(EnvironmentRepository repository, ObjectMapper objectMapper) { this.repository = repository; this.objectMapper = objectMapper; } @@ -101,42 +99,32 @@ public class EnvironmentController { this.acceptEmpty = acceptEmpty; } - @RequestMapping(path = "/{name}/{profiles:.*[^-].*}", - produces = MediaType.APPLICATION_JSON_VALUE) - public Environment defaultLabel(@PathVariable String name, - @PathVariable String profiles) { + @RequestMapping(path = "/{name}/{profiles:.*[^-].*}", produces = MediaType.APPLICATION_JSON_VALUE) + public Environment defaultLabel(@PathVariable String name, @PathVariable String profiles) { return getEnvironment(name, profiles, null, false); } - @RequestMapping(path = "/{name}/{profiles:.*[^-].*}", - produces = EnvironmentMediaType.V2_JSON) - public Environment defaultLabelIncludeOrigin(@PathVariable String name, - @PathVariable String profiles) { + @RequestMapping(path = "/{name}/{profiles:.*[^-].*}", produces = EnvironmentMediaType.V2_JSON) + public Environment defaultLabelIncludeOrigin(@PathVariable String name, @PathVariable String profiles) { return getEnvironment(name, profiles, null, true); } - @RequestMapping(path = "/{name}/{profiles}/{label:.*}", - produces = MediaType.APPLICATION_JSON_VALUE) - public Environment labelled(@PathVariable String name, @PathVariable String profiles, - @PathVariable String label) { + @RequestMapping(path = "/{name}/{profiles}/{label:.*}", produces = MediaType.APPLICATION_JSON_VALUE) + public Environment labelled(@PathVariable String name, @PathVariable String profiles, @PathVariable String label) { return getEnvironment(name, profiles, label, false); } - @RequestMapping(path = "/{name}/{profiles}/{label:.*}", - produces = EnvironmentMediaType.V2_JSON) - public Environment labelledIncludeOrigin(@PathVariable String name, - @PathVariable String profiles, @PathVariable String label) { + @RequestMapping(path = "/{name}/{profiles}/{label:.*}", produces = EnvironmentMediaType.V2_JSON) + public Environment labelledIncludeOrigin(@PathVariable String name, @PathVariable String profiles, + @PathVariable String label) { return getEnvironment(name, profiles, label, true); } - public Environment getEnvironment(String name, String profiles, String label, - boolean includeOrigin) { + public Environment getEnvironment(String name, String profiles, String label, boolean includeOrigin) { name = normalize(name); label = normalize(label); - Environment environment = this.repository.findOne(name, profiles, label, - includeOrigin); - if (!this.acceptEmpty - && (environment == null || environment.getPropertySources().isEmpty())) { + Environment environment = this.repository.findOne(name, profiles, label, includeOrigin); + if (!this.acceptEmpty && (environment == null || environment.getPropertySources().isEmpty())) { throw new EnvironmentNotFoundException("Profile Not found"); } return environment; @@ -150,41 +138,34 @@ public class EnvironmentController { } @RequestMapping("/{name}-{profiles}.properties") - public ResponseEntity properties(@PathVariable String name, - @PathVariable String profiles, - @RequestParam(defaultValue = "true") boolean resolvePlaceholders) - throws IOException { + public ResponseEntity properties(@PathVariable String name, @PathVariable String profiles, + @RequestParam(defaultValue = "true") boolean resolvePlaceholders) throws IOException { return labelledProperties(name, profiles, null, resolvePlaceholders); } @RequestMapping("/{label}/{name}-{profiles}.properties") - public ResponseEntity labelledProperties(@PathVariable String name, - @PathVariable String profiles, @PathVariable String label, - @RequestParam(defaultValue = "true") boolean resolvePlaceholders) + public ResponseEntity labelledProperties(@PathVariable String name, @PathVariable String profiles, + @PathVariable String label, @RequestParam(defaultValue = "true") boolean resolvePlaceholders) throws IOException { validateProfiles(profiles); Environment environment = labelled(name, profiles, label); Map properties = convertToProperties(environment); String propertiesString = getPropertiesString(properties); if (resolvePlaceholders) { - propertiesString = resolvePlaceholders(prepareEnvironment(environment), - propertiesString); + propertiesString = resolvePlaceholders(prepareEnvironment(environment), propertiesString); } return getSuccess(propertiesString); } @RequestMapping("{name}-{profiles}.json") - public ResponseEntity jsonProperties(@PathVariable String name, - @PathVariable String profiles, - @RequestParam(defaultValue = "true") boolean resolvePlaceholders) - throws Exception { + public ResponseEntity jsonProperties(@PathVariable String name, @PathVariable String profiles, + @RequestParam(defaultValue = "true") boolean resolvePlaceholders) throws Exception { return labelledJsonProperties(name, profiles, null, resolvePlaceholders); } @RequestMapping("/{label}/{name}-{profiles}.json") - public ResponseEntity labelledJsonProperties(@PathVariable String name, - @PathVariable String profiles, @PathVariable String label, - @RequestParam(defaultValue = "true") boolean resolvePlaceholders) + public ResponseEntity labelledJsonProperties(@PathVariable String name, @PathVariable String profiles, + @PathVariable String label, @RequestParam(defaultValue = "true") boolean resolvePlaceholders) throws Exception { validateProfiles(profiles); Environment environment = labelled(name, profiles, label); @@ -208,24 +189,19 @@ public class EnvironmentController { } @RequestMapping({ "/{name}-{profiles}.yml", "/{name}-{profiles}.yaml" }) - public ResponseEntity yaml(@PathVariable String name, - @PathVariable String profiles, - @RequestParam(defaultValue = "true") boolean resolvePlaceholders) - throws Exception { + public ResponseEntity yaml(@PathVariable String name, @PathVariable String profiles, + @RequestParam(defaultValue = "true") boolean resolvePlaceholders) throws Exception { return labelledYaml(name, profiles, null, resolvePlaceholders); } - @RequestMapping({ "/{label}/{name}-{profiles}.yml", - "/{label}/{name}-{profiles}.yaml" }) - public ResponseEntity labelledYaml(@PathVariable String name, - @PathVariable String profiles, @PathVariable String label, - @RequestParam(defaultValue = "true") boolean resolvePlaceholders) + @RequestMapping({ "/{label}/{name}-{profiles}.yml", "/{label}/{name}-{profiles}.yaml" }) + public ResponseEntity labelledYaml(@PathVariable String name, @PathVariable String profiles, + @PathVariable String label, @RequestParam(defaultValue = "true") boolean resolvePlaceholders) throws Exception { validateProfiles(profiles); Environment environment = labelled(name, profiles, label); Map result = convertToMap(environment); - if (this.stripDocument && result.size() == 1 - && result.keySet().iterator().next().equals("document")) { + if (this.stripDocument && result.size() == 1 && result.keySet().iterator().next().equals("document")) { Object value = result.get("document"); if (value instanceof Collection) { return getSuccess(new Yaml().dumpAs(value, Tag.SEQ, FlowStyle.BLOCK)); @@ -276,8 +252,7 @@ public class EnvironmentController { } @ExceptionHandler(EnvironmentException.class) - public void environmentException(HttpServletResponse response, EnvironmentException e) - throws IOException { + public void environmentException(HttpServletResponse response, EnvironmentException e) throws IOException { response.sendError(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage()); } @@ -295,8 +270,7 @@ public class EnvironmentController { } private ResponseEntity getSuccess(String body) { - return new ResponseEntity<>(body, getHttpHeaders(MediaType.TEXT_PLAIN), - HttpStatus.OK); + return new ResponseEntity<>(body, getHttpHeaders(MediaType.TEXT_PLAIN), HttpStatus.OK); } private ResponseEntity getSuccess(String body, MediaType mediaType) { @@ -461,8 +435,7 @@ public class EnvironmentController { break; } else if (!Character.isDigit(c)) { - throw new IllegalArgumentException( - "Invalid key: " + this.propertyKey); + throw new IllegalArgumentException("Invalid key: " + this.propertyKey); } } // If no closing ] or if '[]' @@ -470,8 +443,7 @@ public class EnvironmentController { throw new IllegalArgumentException("Invalid key: " + this.propertyKey); } else { - int index = Integer - .parseInt(this.propertyKey.substring(start, this.currentPos)); + int index = Integer.parseInt(this.propertyKey.substring(start, this.currentPos)); // Skip the closing ] this.currentPos++; if (this.currentPos == this.propertyKey.length()) { @@ -486,8 +458,7 @@ public class EnvironmentController { this.valueType = NodeType.ARRAY; break; default: - throw new IllegalArgumentException( - "Invalid key: " + this.propertyKey); + throw new IllegalArgumentException("Invalid key: " + this.propertyKey); } } return index; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepository.java index 447f71e3..e32d4ef5 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepository.java @@ -56,16 +56,13 @@ public class EnvironmentEncryptorEnvironmentRepository implements EnvironmentRep } @Override - public Environment findOne(String name, String profiles, String label, - boolean includeOrigin) { - Environment environment = this.delegate.findOne(name, profiles, label, - includeOrigin); + public Environment findOne(String name, String profiles, String label, boolean includeOrigin) { + Environment environment = this.delegate.findOne(name, profiles, label, includeOrigin); if (this.environmentEncryptor != null) { environment = this.environmentEncryptor.decrypt(environment); } if (!this.overrides.isEmpty()) { - environment.addFirst( - new PropertySource("overrides", getOverridesMap(includeOrigin))); + environment.addFirst(new PropertySource("overrides", getOverridesMap(includeOrigin))); } return environment; } @@ -76,8 +73,7 @@ public class EnvironmentEncryptorEnvironmentRepository implements EnvironmentRep } Map map = new LinkedHashMap<>(); for (Map.Entry entry : this.overrides.entrySet()) { - map.put(entry.getKey(), new PropertyValueDescriptor(entry.getValue(), - "Config server overrides")); + map.put(entry.getKey(), new PropertyValueDescriptor(entry.getValue(), "Config server overrides")); } return map; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepository.java index cad3038a..f4811b36 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepository.java @@ -26,8 +26,7 @@ public interface EnvironmentRepository { Environment findOne(String application, String profile, String label); - default Environment findOne(String application, String profile, String label, - boolean includeOrigin) { + default Environment findOne(String application, String profile, String label, boolean includeOrigin) { return findOne(application, profile, label); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepositoryPropertySourceLocator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepositoryPropertySourceLocator.java index 241d4201..2274f7d2 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepositoryPropertySourceLocator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepositoryPropertySourceLocator.java @@ -39,8 +39,8 @@ public class EnvironmentRepositoryPropertySourceLocator implements PropertySourc private String label; - public EnvironmentRepositoryPropertySourceLocator(EnvironmentRepository repository, - String name, String profiles, String label) { + public EnvironmentRepositoryPropertySourceLocator(EnvironmentRepository repository, String name, String profiles, + String label) { this.repository = repository; this.name = name; this.profiles = profiles; @@ -48,11 +48,9 @@ public class EnvironmentRepositoryPropertySourceLocator implements PropertySourc } @Override - public org.springframework.core.env.PropertySource locate( - Environment environment) { + public org.springframework.core.env.PropertySource locate(Environment environment) { CompositePropertySource composite = new CompositePropertySource("configService"); - for (PropertySource source : this.repository - .findOne(this.name, this.profiles, this.label, false) + for (PropertySource source : this.repository.findOne(this.name, this.profiles, this.label, false) .getPropertySources()) { @SuppressWarnings("unchecked") Map map = (Map) source.getSource(); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpClientConfigurableHttpConnectionFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpClientConfigurableHttpConnectionFactory.java index 13687499..76d8ec0d 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpClientConfigurableHttpConnectionFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpClientConfigurableHttpConnectionFactory.java @@ -44,13 +44,11 @@ import static java.util.stream.Collectors.toMap; /** * @author Dylan Roberts */ -public class HttpClientConfigurableHttpConnectionFactory - implements ConfigurableHttpConnectionFactory { +public class HttpClientConfigurableHttpConnectionFactory implements ConfigurableHttpConnectionFactory { private static final String PLACEHOLDER_PATTERN_STRING = "\\{(\\w+)}"; - private static final Pattern PLACEHOLDER_PATTERN = Pattern - .compile(PLACEHOLDER_PATTERN_STRING); + private static final Pattern PLACEHOLDER_PATTERN = Pattern.compile(PLACEHOLDER_PATTERN_STRING); Log log = LogFactory.getLog(getClass()); @@ -72,36 +70,32 @@ public class HttpClientConfigurableHttpConnectionFactory @Override public HttpConnection create(URL url, Proxy proxy) throws IOException { - return new HttpClientConnection(url.toString(), null, - lookupHttpClientBuilder(url).build()); + return new HttpClientConnection(url.toString(), null, lookupHttpClientBuilder(url).build()); } - private void addHttpClient(JGitEnvironmentProperties properties) - throws GeneralSecurityException { + private void addHttpClient(JGitEnvironmentProperties properties) throws GeneralSecurityException { if (properties.getUri() != null && properties.getUri().startsWith("http")) { - this.httpClientBuildersByUri.put(properties.getUri(), - HttpClientSupport.builder(properties)); + this.httpClientBuildersByUri.put(properties.getUri(), HttpClientSupport.builder(properties)); } } private HttpClientBuilder lookupHttpClientBuilder(final URL url) { - Map builderMap = this.httpClientBuildersByUri - .entrySet().stream().filter(entry -> { - String key = entry.getKey(); - String spec = getUrlWithPlaceholders(url, key); - if (spec.equals(key)) { - return true; - } - int index = spec.lastIndexOf("/"); - while (index != -1) { - spec = spec.substring(0, index); - if (spec.equals(key)) { - return true; - } - index = spec.lastIndexOf("/"); - } - return false; - }).collect(toMap(Map.Entry::getKey, Map.Entry::getValue)); + Map builderMap = this.httpClientBuildersByUri.entrySet().stream().filter(entry -> { + String key = entry.getKey(); + String spec = getUrlWithPlaceholders(url, key); + if (spec.equals(key)) { + return true; + } + int index = spec.lastIndexOf("/"); + while (index != -1) { + spec = spec.substring(0, index); + if (spec.equals(key)) { + return true; + } + index = spec.lastIndexOf("/"); + } + return false; + }).collect(toMap(Map.Entry::getKey, Map.Entry::getValue)); if (builderMap.isEmpty()) { this.log.warn(String.format("No custom http config found for URL: %s", url)); @@ -114,8 +108,7 @@ public class HttpClientConfigurableHttpConnectionFactory * which have no placeholders. That is the one we want to use in the case * there are multiple matches. */ - List keys = builderMap.keySet().stream() - .filter(key -> !PLACEHOLDER_PATTERN.matcher(key).find()) + List keys = builderMap.keySet().stream().filter(key -> !PLACEHOLDER_PATTERN.matcher(key).find()) .collect(Collectors.toList()); if (keys.size() == 1) { @@ -140,8 +133,7 @@ public class HttpClientConfigurableHttpConnectionFactory List values = getValues(spec, tokens); if (placeholders.size() == values.size()) { for (int i = 0; i < values.size(); i++) { - spec = spec.replace(values.get(i), - String.format("{%s}", placeholders.get(i))); + spec = spec.replace(values.get(i), String.format("{%s}", placeholders.get(i))); } } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpClientVaultRestTemplateFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpClientVaultRestTemplateFactory.java index 3a8e820a..9811c66b 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpClientVaultRestTemplateFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpClientVaultRestTemplateFactory.java @@ -27,12 +27,10 @@ import org.springframework.web.client.RestTemplate; /** * @author Dylan Roberts */ -public class HttpClientVaultRestTemplateFactory - implements VaultEnvironmentRepositoryFactory.VaultRestTemplateFactory { +public class HttpClientVaultRestTemplateFactory implements VaultEnvironmentRepositoryFactory.VaultRestTemplateFactory { @Override - public RestTemplate build(VaultEnvironmentProperties environmentProperties) - throws GeneralSecurityException { + public RestTemplate build(VaultEnvironmentProperties environmentProperties) throws GeneralSecurityException { HttpClient httpClient = HttpClientSupport.builder(environmentProperties).build(); return new RestTemplate(new HttpComponentsClientHttpRequestFactory(httpClient)); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpRequestConfigTokenProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpRequestConfigTokenProvider.java index 76b424b3..bd700825 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpRequestConfigTokenProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/HttpRequestConfigTokenProvider.java @@ -29,8 +29,7 @@ public class HttpRequestConfigTokenProvider implements ConfigTokenProvider { private ObjectProvider httpRequest; - public HttpRequestConfigTokenProvider( - ObjectProvider httpRequest) { + public HttpRequestConfigTokenProvider(ObjectProvider httpRequest) { this.httpRequest = httpRequest; } @@ -44,8 +43,7 @@ public class HttpRequestConfigTokenProvider implements ConfigTokenProvider { String token = request.getHeader(ConfigClientProperties.TOKEN_HEADER); if (!StringUtils.hasLength(token)) { throw new IllegalArgumentException( - "Missing required header in HttpServletRequest: " - + ConfigClientProperties.TOKEN_HEADER); + "Missing required header in HttpServletRequest: " + ConfigClientProperties.TOKEN_HEADER); } return token; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentProperties.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentProperties.java index a1502d61..309c078b 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentProperties.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentProperties.java @@ -232,8 +232,7 @@ public class JGitEnvironmentProperties extends AbstractScmAccessorProperties return this.proxy; } - public void setProxy( - Map proxy) { + public void setProxy(Map proxy) { this.proxy = proxy; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java index 02d117e3..105fd75b 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java @@ -147,8 +147,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository */ private boolean skipSslValidation; - public JGitEnvironmentRepository(ConfigurableEnvironment environment, - JGitEnvironmentProperties properties) { + public JGitEnvironmentRepository(ConfigurableEnvironment environment, JGitEnvironmentProperties properties) { super(environment, properties); this.cloneOnStart = properties.isCloneOnStart(); this.defaultLabel = properties.getDefaultLabel(); @@ -187,8 +186,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository return this.transportConfigCallback; } - public void setTransportConfigCallback( - TransportConfigCallback transportConfigCallback) { + public void setTransportConfigCallback(TransportConfigCallback transportConfigCallback) { this.transportConfigCallback = transportConfigCallback; } @@ -200,8 +198,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository this.gitFactory = gitFactory; } - public void setGitCredentialsProviderFactory( - GitCredentialsProviderFactory gitCredentialsProviderFactory) { + public void setGitCredentialsProviderFactory(GitCredentialsProviderFactory gitCredentialsProviderFactory) { this.gitCredentialsProviderFactory = gitCredentialsProviderFactory; } @@ -238,8 +235,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository } @Override - public synchronized Locations getLocations(String application, String profile, - String label) { + public synchronized Locations getLocations(String application, String profile, String label) { if (label == null) { label = this.defaultLabel; } @@ -269,8 +265,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository if (shouldPull(git)) { FetchResult fetchStatus = fetch(git, label); if (this.deleteUntrackedBranches && fetchStatus != null) { - deleteUntrackedLocalBranches(fetchStatus.getTrackingRefUpdates(), - git); + deleteUntrackedLocalBranches(fetchStatus.getTrackingRefUpdates(), git); } // checkout after fetch so we can get any new branches, tags, ect. checkout(git, label); @@ -292,8 +287,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository throw new NoSuchRepositoryException("No such repository: " + getUri(), e); } catch (GitAPIException e) { - throw new NoSuchRepositoryException( - "Cannot clone or checkout repository: " + getUri(), e); + throw new NoSuchRepositoryException("Cannot clone or checkout repository: " + getUri(), e); } catch (Exception e) { throw new IllegalStateException("Cannot load environment", e); @@ -316,16 +310,14 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository // merge results from fetch merge(git, label); if (!isClean(git, label)) { - this.logger.warn( - "The local repository is dirty or ahead of origin. Resetting" - + " it to origin/" + label + "."); + this.logger.warn("The local repository is dirty or ahead of origin. Resetting" + " it to origin/" + + label + "."); resetHard(git, label, LOCAL_BRANCH_REF_PREFIX + label); } } } catch (GitAPIException e) { - throw new NoSuchRepositoryException( - "Cannot clone or checkout repository: " + getUri(), e); + throw new NoSuchRepositoryException("Cannot clone or checkout repository: " + getUri(), e); } } @@ -355,8 +347,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository * @param git git instance * @return list of deleted branches */ - private Collection deleteUntrackedLocalBranches( - Collection trackingRefUpdates, Git git) { + private Collection deleteUntrackedLocalBranches(Collection trackingRefUpdates, Git git) { if (CollectionUtils.isEmpty(trackingRefUpdates)) { return Collections.emptyList(); } @@ -366,10 +357,9 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository ReceiveCommand receiveCommand = trackingRefUpdate.asReceiveCommand(); if (receiveCommand.getType() == DELETE) { String localRefName = trackingRefUpdate.getLocalName(); - if (StringUtils.startsWithIgnoreCase(localRefName, - LOCAL_BRANCH_REF_PREFIX)) { - String localBranchName = localRefName.substring( - LOCAL_BRANCH_REF_PREFIX.length(), localRefName.length()); + if (StringUtils.startsWithIgnoreCase(localRefName, LOCAL_BRANCH_REF_PREFIX)) { + String localBranchName = localRefName.substring(LOCAL_BRANCH_REF_PREFIX.length(), + localRefName.length()); branchesToDelete.add(localBranchName); } } @@ -391,16 +381,14 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository } } - private List deleteBranches(Git git, Collection branchesToDelete) - throws GitAPIException { + private List deleteBranches(Git git, Collection branchesToDelete) throws GitAPIException { DeleteBranchCommand deleteBranchCommand = git.branchDelete() .setBranchNames(branchesToDelete.toArray(new String[0])) // local branch can contain data which is not merged to HEAD - force // delete it anyway, since local copy should be R/O .setForce(true); List resultList = deleteBranchCommand.call(); - this.logger.info(format("Deleted %s branches from %s branches to delete.", - resultList, branchesToDelete)); + this.logger.info(format("Deleted %s branches from %s branches to delete.", resultList, branchesToDelete)); return resultList; } @@ -419,15 +407,13 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository protected boolean shouldPull(Git git) throws GitAPIException { boolean shouldPull; - if (this.refreshRate > 0 && System.currentTimeMillis() - - this.lastRefresh < (this.refreshRate * 1000)) { + if (this.refreshRate > 0 && System.currentTimeMillis() - this.lastRefresh < (this.refreshRate * 1000)) { return false; } Status gitStatus = git.status().call(); boolean isWorkingTreeClean = gitStatus.isClean(); - String originUrl = git.getRepository().getConfig().getString("remote", "origin", - "url"); + String originUrl = git.getRepository().getConfig().getString("remote", "origin", "url"); if (this.forcePull && !isWorkingTreeClean) { shouldPull = true; @@ -437,17 +423,15 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository shouldPull = isWorkingTreeClean && originUrl != null; } if (!isWorkingTreeClean && !this.forcePull) { - this.logger.info("Cannot pull from remote " + originUrl - + ", the working tree is not clean."); + this.logger.info("Cannot pull from remote " + originUrl + ", the working tree is not clean."); } return shouldPull; } @SuppressWarnings("unchecked") private void logDirty(Status status) { - Set dirties = dirties(status.getAdded(), status.getChanged(), - status.getRemoved(), status.getMissing(), status.getModified(), - status.getConflicting(), status.getUntracked()); + Set dirties = dirties(status.getAdded(), status.getChanged(), status.getRemoved(), status.getMissing(), + status.getModified(), status.getConflicting(), status.getUntracked()); this.logger.warn(format("Dirty files found: %s", dirties)); } @@ -476,16 +460,15 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository configureCommand(fetch); try { FetchResult result = fetch.call(); - if (result.getTrackingRefUpdates() != null - && result.getTrackingRefUpdates().size() > 0) { - this.logger.info("Fetched for remote " + label + " and found " - + result.getTrackingRefUpdates().size() + " updates"); + if (result.getTrackingRefUpdates() != null && result.getTrackingRefUpdates().size() > 0) { + this.logger.info("Fetched for remote " + label + " and found " + result.getTrackingRefUpdates().size() + + " updates"); } return result; } catch (Exception ex) { - String message = "Could not fetch remote for " + label + " remote: " + git - .getRepository().getConfig().getString("remote", "origin", "url"); + String message = "Could not fetch remote for " + label + " remote: " + + git.getRepository().getConfig().getString("remote", "origin", "url"); warn(message, ex); return null; } @@ -497,14 +480,13 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository merge.include(git.getRepository().findRef("origin/" + label)); MergeResult result = merge.call(); if (!result.getMergeStatus().isSuccessful()) { - this.logger.warn("Merged from remote " + label + " with result " - + result.getMergeStatus()); + this.logger.warn("Merged from remote " + label + " with result " + result.getMergeStatus()); } return result; } catch (Exception ex) { - String message = "Could not merge remote for " + label + " remote: " + git - .getRepository().getConfig().getString("remote", "origin", "url"); + String message = "Could not merge remote for " + label + " remote: " + + git.getRepository().getConfig().getString("remote", "origin", "url"); warn(message, ex); return null; } @@ -517,15 +499,13 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository try { Ref resetRef = reset.call(); if (resetRef != null) { - this.logger.info( - "Reset label " + label + " to version " + resetRef.getObjectId()); + this.logger.info("Reset label " + label + " to version " + resetRef.getObjectId()); } return resetRef; } catch (Exception ex) { - String message = "Could not reset to remote for " + label + " (current ref=" - + ref + "), remote: " + git.getRepository().getConfig() - .getString("remote", "origin", "url"); + String message = "Could not reset to remote for " + label + " (current ref=" + ref + "), remote: " + + git.getRepository().getConfig().getString("remote", "origin", "url"); warn(message, ex); return null; } @@ -582,8 +562,8 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository } private Git cloneToBasedir() throws GitAPIException { - CloneCommand clone = this.gitFactory.getCloneCommandByCloneRepository() - .setURI(getUri()).setDirectory(getBasedir()); + CloneCommand clone = this.gitFactory.getCloneCommandByCloneRepository().setURI(getUri()) + .setDirectory(getBasedir()); configureCommand(clone); try { return clone.call(); @@ -602,8 +582,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository FileUtils.delete(file, FileUtils.RECURSIVE); } catch (IOException e) { - throw new IllegalStateException("Failed to initialize base directory", - e); + throw new IllegalStateException("Failed to initialize base directory", e); } } } @@ -614,8 +593,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository SshSessionFactory.setInstance(new JschConfigSessionFactory() { @Override protected void configure(Host hc, Session session) { - session.setConfig("StrictHostKeyChecking", - isStrictHostKeyChecking() ? "yes" : "no"); + session.setConfig("StrictHostKeyChecking", isStrictHostKeyChecking() ? "yes" : "no"); } }); this.initialized = true; @@ -634,17 +612,15 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository } private CredentialsProvider getCredentialsProvider() { - return this.gitCredentialsProviderFactory.createFor(this.getUri(), getUsername(), - getPassword(), getPassphrase(), isSkipSslValidation()); + return this.gitCredentialsProviderFactory.createFor(this.getUri(), getUsername(), getPassword(), + getPassphrase(), isSkipSslValidation()); } private boolean isClean(Git git, String label) { StatusCommand status = git.status(); try { - BranchTrackingStatus trackingStatus = BranchTrackingStatus - .of(git.getRepository(), label); - boolean isBranchAhead = trackingStatus != null - && trackingStatus.getAheadCount() > 0; + BranchTrackingStatus trackingStatus = BranchTrackingStatus.of(git.getRepository(), label); + boolean isBranchAhead = trackingStatus != null && trackingStatus.getAheadCount() > 0; return status.call().isClean() && !isBranchAhead; } catch (Exception e) { @@ -656,8 +632,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository } private void trackBranch(Git git, CheckoutCommand checkout, String label) { - checkout.setCreateBranch(true).setName(label) - .setUpstreamMode(SetupUpstreamMode.TRACK) + checkout.setCreateBranch(true).setName(label).setUpstreamMode(SetupUpstreamMode.TRACK) .setStartPoint("origin/" + label); } @@ -669,8 +644,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository return containsBranch(git, label, null); } - private boolean containsBranch(Git git, String label, ListMode listMode) - throws GitAPIException { + private boolean containsBranch(Git git, String label, ListMode listMode) throws GitAPIException { ListBranchCommand command = git.branchList(); if (listMode != null) { command.setListMode(listMode); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepository.java index 2f5bd313..061811c7 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepository.java @@ -58,8 +58,7 @@ public class JdbcEnvironmentRepository implements EnvironmentRepository, Ordered private String sql; - public JdbcEnvironmentRepository(JdbcTemplate jdbc, - JdbcEnvironmentProperties properties) { + public JdbcEnvironmentRepository(JdbcTemplate jdbc, JdbcEnvironmentProperties properties) { this.jdbc = jdbc; this.order = properties.getOrder(); this.sql = properties.getSql(); @@ -86,15 +85,13 @@ public class JdbcEnvironmentRepository implements EnvironmentRepository, Ordered profile = "default," + profile; } String[] profiles = StringUtils.commaDelimitedListToStringArray(profile); - Environment environment = new Environment(application, profiles, label, null, - null); + Environment environment = new Environment(application, profiles, label, null, null); if (!config.startsWith("application")) { config = "application," + config; } - List applications = new ArrayList(new LinkedHashSet<>( - Arrays.asList(StringUtils.commaDelimitedListToStringArray(config)))); - List envs = new ArrayList( - new LinkedHashSet<>(Arrays.asList(profiles))); + List applications = new ArrayList( + new LinkedHashSet<>(Arrays.asList(StringUtils.commaDelimitedListToStringArray(config)))); + List envs = new ArrayList(new LinkedHashSet<>(Arrays.asList(profiles))); Collections.reverse(applications); Collections.reverse(envs); for (String app : applications) { @@ -123,8 +120,7 @@ public class JdbcEnvironmentRepository implements EnvironmentRepository, Ordered class PropertiesResultSetExtractor implements ResultSetExtractor> { @Override - public Map extractData(ResultSet rs) - throws SQLException, DataAccessException { + public Map extractData(ResultSet rs) throws SQLException, DataAccessException { Map map = new LinkedHashMap<>(); while (rs.next()) { map.put(rs.getString(1), rs.getString(2)); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryFactory.java index d4eb6fbe..1d6a88d2 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryFactory.java @@ -21,8 +21,8 @@ import org.springframework.jdbc.core.JdbcTemplate; /** * @author Dylan Roberts */ -public class JdbcEnvironmentRepositoryFactory implements - EnvironmentRepositoryFactory { +public class JdbcEnvironmentRepositoryFactory + implements EnvironmentRepositoryFactory { private JdbcTemplate jdbc; @@ -31,8 +31,7 @@ public class JdbcEnvironmentRepositoryFactory implements } @Override - public JdbcEnvironmentRepository build( - JdbcEnvironmentProperties environmentProperties) { + public JdbcEnvironmentRepository build(JdbcEnvironmentProperties environmentProperties) { return new JdbcEnvironmentRepository(this.jdbc, environmentProperties); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentProperties.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentProperties.java index 61233796..fef57632 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentProperties.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentProperties.java @@ -53,8 +53,7 @@ public class MultipleJGitEnvironmentProperties extends JGitEnvironmentProperties /** * A {@link JGitEnvironmentProperties} that matches patterns. */ - public static class PatternMatchingJGitEnvironmentProperties - extends JGitEnvironmentProperties { + public static class PatternMatchingJGitEnvironmentProperties extends JGitEnvironmentProperties { /** * Pattern to match on application name and profiles. diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepository.java index 964fbbe3..4c492d55 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepository.java @@ -97,13 +97,11 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository repo.afterPropertiesSet(); } if (!getBasedir().exists() && !getBasedir().mkdirs()) { - throw new IllegalStateException( - "Basedir does not exist and can not be created: " + getBasedir()); + throw new IllegalStateException("Basedir does not exist and can not be created: " + getBasedir()); } if (!getBasedir().getParentFile().canWrite()) { throw new IllegalStateException( - "Cannot write parent of basedir (please configure a writable location): " - + getBasedir()); + "Cannot write parent of basedir (please configure a writable location): " + getBasedir()); } } @@ -119,29 +117,24 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository public Locations getLocations(String application, String profile, String label) { for (PatternMatchingJGitEnvironmentRepository repository : this.repos.values()) { if (repository.matches(application, profile, label)) { - for (JGitEnvironmentRepository candidate : getRepositories(repository, - application, profile, label)) { + for (JGitEnvironmentRepository candidate : getRepositories(repository, application, profile, label)) { try { - Environment source = candidate.findOne(application, profile, - label, false); + Environment source = candidate.findOne(application, profile, label, false); if (source != null) { return candidate.getLocations(application, profile, label); } } catch (Exception e) { if (this.logger.isDebugEnabled()) { - this.logger.debug("Cannot retrieve resource locations from " - + candidate.getUri() + ", cause: (" - + e.getClass().getSimpleName() + ") " - + e.getMessage(), e); + this.logger.debug("Cannot retrieve resource locations from " + candidate.getUri() + + ", cause: (" + e.getClass().getSimpleName() + ") " + e.getMessage(), e); } continue; } } } } - JGitEnvironmentRepository candidate = getRepository(this, application, profile, - label); + JGitEnvironmentRepository candidate = getRepository(this, application, profile, label); if (candidate == this) { return super.getLocations(application, profile, label); } @@ -149,37 +142,30 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository } @Override - public Environment findOne(String application, String profile, String label, - boolean includeOrigin) { + public Environment findOne(String application, String profile, String label, boolean includeOrigin) { for (PatternMatchingJGitEnvironmentRepository repository : this.repos.values()) { if (repository.matches(application, profile, label)) { - for (JGitEnvironmentRepository candidate : getRepositories(repository, - application, profile, label)) { + for (JGitEnvironmentRepository candidate : getRepositories(repository, application, profile, label)) { try { if (label == null) { label = candidate.getDefaultLabel(); } - Environment source = candidate.findOne(application, profile, - label, includeOrigin); + Environment source = candidate.findOne(application, profile, label, includeOrigin); if (source != null) { return source; } } catch (Exception e) { if (this.logger.isDebugEnabled()) { - this.logger.debug( - "Cannot load configuration from " + candidate.getUri() - + ", cause: (" + e.getClass().getSimpleName() - + ") " + e.getMessage(), - e); + this.logger.debug("Cannot load configuration from " + candidate.getUri() + ", cause: (" + + e.getClass().getSimpleName() + ") " + e.getMessage(), e); } continue; } } } } - JGitEnvironmentRepository candidate = getRepository(this, application, profile, - label); + JGitEnvironmentRepository candidate = getRepository(this, application, profile, label); if (label == null) { label = candidate.getDefaultLabel(); } @@ -189,9 +175,8 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository return candidate.findOne(application, profile, label, includeOrigin); } - private List getRepositories( - JGitEnvironmentRepository repository, String application, String profile, - String label) { + private List getRepositories(JGitEnvironmentRepository repository, String application, + String profile, String label) { List list = new ArrayList<>(); String[] profiles = profile == null ? new String[] { null } : StringUtils.commaDelimitedListToStringArray(profile); @@ -201,8 +186,8 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository return list; } - JGitEnvironmentRepository getRepository(JGitEnvironmentRepository repository, - String application, String profile, String label) { + JGitEnvironmentRepository getRepository(JGitEnvironmentRepository repository, String application, String profile, + String label) { if (!repository.getUri().contains("{")) { return repository; } @@ -228,10 +213,8 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository return this.placeholders.get(key); } - private JGitEnvironmentRepository getRepository(JGitEnvironmentRepository source, - String uri) { - JGitEnvironmentRepository repository = new JGitEnvironmentRepository(null, - new JGitEnvironmentProperties()); + private JGitEnvironmentRepository getRepository(JGitEnvironmentRepository source, String uri) { + JGitEnvironmentRepository repository = new JGitEnvironmentRepository(null, new JGitEnvironmentProperties()); File basedir = repository.getBasedir(); BeanUtils.copyProperties(source, repository); repository.setUri(uri); @@ -247,8 +230,7 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository /** * A {@link JGitEnvironmentProperties} that matches patterns. */ - public static class PatternMatchingJGitEnvironmentRepository - extends JGitEnvironmentRepository { + public static class PatternMatchingJGitEnvironmentRepository extends JGitEnvironmentRepository { /** * Pattern to match on application name and profiles. @@ -264,8 +246,7 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository super(null, new JGitEnvironmentProperties()); } - public PatternMatchingJGitEnvironmentRepository( - ConfigurableEnvironment environment, + public PatternMatchingJGitEnvironmentRepository(ConfigurableEnvironment environment, MultipleJGitEnvironmentProperties.PatternMatchingJGitEnvironmentProperties properties) { super(environment, properties); this.setPattern(properties.getPattern()); @@ -278,8 +259,7 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository } String[] profiles = StringUtils.commaDelimitedListToStringArray(profile); for (int i = profiles.length; i-- > 0;) { - if (PatternMatchUtils.simpleMatch(this.pattern, - application + "/" + profiles[i])) { + if (PatternMatchUtils.simpleMatch(this.pattern, application + "/" + profiles[i])) { return true; } } @@ -287,15 +267,13 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository } @Override - public Environment findOne(String application, String profile, String label, - boolean includeOrigin) { + public Environment findOne(String application, String profile, String label, boolean includeOrigin) { if (this.pattern == null || this.pattern.length == 0) { return null; } - if (PatternMatchUtils.simpleMatch(this.pattern, - application + "/" + profile)) { + if (PatternMatchUtils.simpleMatch(this.pattern, application + "/" + profile)) { return super.findOne(application, profile, label, includeOrigin); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryFactory.java index 5996e3c8..f63a8203 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryFactory.java @@ -27,8 +27,8 @@ import org.springframework.core.env.ConfigurableEnvironment; /** * @author Dylan Roberts */ -public class MultipleJGitEnvironmentRepositoryFactory implements - EnvironmentRepositoryFactory { +public class MultipleJGitEnvironmentRepositoryFactory + implements EnvironmentRepositoryFactory { private ConfigurableEnvironment environment; @@ -39,14 +39,12 @@ public class MultipleJGitEnvironmentRepositoryFactory implements private final TransportConfigCallbackFactory transportConfigCallbackFactory; @Deprecated - public MultipleJGitEnvironmentRepositoryFactory(ConfigurableEnvironment environment, - ConfigServerProperties server, + public MultipleJGitEnvironmentRepositoryFactory(ConfigurableEnvironment environment, ConfigServerProperties server, TransportConfigCallbackFactory transportConfigCallbackFactory) { this(environment, server, Optional.empty(), transportConfigCallbackFactory); } - public MultipleJGitEnvironmentRepositoryFactory(ConfigurableEnvironment environment, - ConfigServerProperties server, + public MultipleJGitEnvironmentRepositoryFactory(ConfigurableEnvironment environment, ConfigServerProperties server, Optional connectionFactory, TransportConfigCallbackFactory transportConfigCallbackFactory) { this.environment = environment; @@ -56,17 +54,16 @@ public class MultipleJGitEnvironmentRepositoryFactory implements } @Override - public MultipleJGitEnvironmentRepository build( - MultipleJGitEnvironmentProperties environmentProperties) throws Exception { + public MultipleJGitEnvironmentRepository build(MultipleJGitEnvironmentProperties environmentProperties) + throws Exception { if (this.connectionFactory.isPresent()) { HttpTransport.setConnectionFactory(this.connectionFactory.get()); this.connectionFactory.get().addConfiguration(environmentProperties); } - MultipleJGitEnvironmentRepository repository = new MultipleJGitEnvironmentRepository( - this.environment, environmentProperties); - repository.setTransportConfigCallback( - transportConfigCallbackFactory.build(environmentProperties)); + MultipleJGitEnvironmentRepository repository = new MultipleJGitEnvironmentRepository(this.environment, + environmentProperties); + repository.setTransportConfigCallback(transportConfigCallbackFactory.build(environmentProperties)); if (this.server.getDefaultLabel() != null) { repository.setDefaultLabel(this.server.getDefaultLabel()); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepository.java index fb828c1d..8f0bc5df 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepository.java @@ -49,11 +49,10 @@ import org.springframework.util.StringUtils; * @author Venil Noronha * @author Daniel Lavoie */ -public class NativeEnvironmentRepository - implements EnvironmentRepository, SearchPathLocator, Ordered { +public class NativeEnvironmentRepository implements EnvironmentRepository, SearchPathLocator, Ordered { - private static final String[] DEFAULT_LOCATIONS = new String[] { "classpath:/", - "classpath:/config/", "file:./", "file:./config/" }; + private static final String[] DEFAULT_LOCATIONS = new String[] { "classpath:/", "classpath:/config/", "file:./", + "file:./config/" }; private static final Pattern RESOURCE_PATTERN = Pattern .compile("Resource config '(.*?)' imported via location \".*\""); @@ -87,8 +86,7 @@ public class NativeEnvironmentRepository private int order; - public NativeEnvironmentRepository(ConfigurableEnvironment environment, - NativeEnvironmentProperties properties) { + public NativeEnvironmentRepository(ConfigurableEnvironment environment, NativeEnvironmentProperties properties) { this.environment = environment; this.addLabelLocations = properties.getAddLabelLocations(); this.defaultLabel = properties.getDefaultLabel(); @@ -128,8 +126,7 @@ public class NativeEnvironmentRepository } @Override - public Environment findOne(String config, String profile, String label, - boolean includeOrigin) { + public Environment findOne(String config, String profile, String label, boolean includeOrigin) { try { ConfigurableEnvironment environment = getEnvironment(config, profile, label); @@ -138,12 +135,10 @@ public class NativeEnvironmentRepository StringUtils.commaDelimitedListToStringArray(profile)); environment.getPropertySources().remove("config-data-setup"); - return clean(new PassthruEnvironmentRepository(environment).findOne(config, - profile, label, includeOrigin)); + return clean(new PassthruEnvironmentRepository(environment).findOne(config, profile, label, includeOrigin)); } catch (Exception e) { - String msg = String.format( - "Could not construct context for config=%s profile=%s label=%s includeOrigin=%b", + String msg = String.format("Could not construct context for config=%s profile=%s label=%s includeOrigin=%b", config, profile, label, includeOrigin); String completeMessage = NestedExceptionUtils.buildMessage(msg, NestedExceptionUtils.getMostSpecificCause(e)); @@ -202,12 +197,10 @@ public class NativeEnvironmentRepository } } } - return new Locations(application, profile, label, this.version, - output.toArray(new String[0])); + return new Locations(application, profile, label, this.version, output.toArray(new String[0])); } - private ConfigurableEnvironment getEnvironment(String application, String profile, - String label) { + private ConfigurableEnvironment getEnvironment(String application, String profile, String label) { ConfigurableEnvironment environment = new StandardEnvironment(); Map map = new HashMap<>(); map.put("spring.profiles.active", profile); @@ -217,18 +210,17 @@ public class NativeEnvironmentRepository } map.put("spring.config.name", config); // map.put("encrypt.failOnError=" + this.failOnError); - map.put("spring.config.location", StringUtils.arrayToCommaDelimitedString( - getLocations(application, profile, label).getLocations())); + map.put("spring.config.location", + StringUtils.arrayToCommaDelimitedString(getLocations(application, profile, label).getLocations())); // globally ignore config files that are not found map.put("spring.config.on-location-not-found", "ignore"); - environment.getPropertySources() - .addFirst(new MapPropertySource("config-data-setup", map)); + environment.getPropertySources().addFirst(new MapPropertySource("config-data-setup", map)); return environment; } protected Environment clean(Environment value) { - Environment result = new Environment(value.getName(), value.getProfiles(), - value.getLabel(), this.version, value.getState()); + Environment result = new Environment(value.getName(), value.getProfiles(), value.getLabel(), this.version, + value.getState()); for (PropertySource source : value.getPropertySources()) { String name = source.getName(); if (this.environment.getPropertySources().contains(name)) { @@ -245,29 +237,22 @@ public class NativeEnvironmentRepository boolean matches = false; String normal = name; if (normal.startsWith("file:")) { - normal = StringUtils - .cleanPath(new File(normal.substring("file:".length())) - .getAbsolutePath()); + normal = StringUtils.cleanPath(new File(normal.substring("file:".length())).getAbsolutePath()); } String profile = result.getProfiles() == null ? null : StringUtils.arrayToCommaDelimitedString(result.getProfiles()); - for (String pattern : getLocations(result.getName(), profile, - result.getLabel()).getLocations()) { + for (String pattern : getLocations(result.getName(), profile, result.getLabel()).getLocations()) { if (!pattern.contains(":")) { pattern = "file:" + pattern; } if (pattern.startsWith("file:")) { - pattern = StringUtils - .cleanPath(new File(pattern.substring("file:".length())) - .getAbsolutePath()) + pattern = StringUtils.cleanPath(new File(pattern.substring("file:".length())).getAbsolutePath()) + "/"; } if (logger.isTraceEnabled()) { - logger.trace("Testing pattern: " + pattern - + " with property source: " + name); + logger.trace("Testing pattern: " + pattern + " with property source: " + name); } - if (normal.startsWith(pattern) - && !normal.substring(pattern.length()).contains("/")) { + if (normal.startsWith(pattern) && !normal.substring(pattern.length()).contains("/")) { matches = true; break; } @@ -312,8 +297,8 @@ public class NativeEnvironmentRepository } private boolean isDirectory(String location) { - return !location.contains("{") && !location.endsWith(".properties") - && !location.endsWith(".yml") && !location.endsWith(".yaml"); + return !location.contains("{") && !location.endsWith(".properties") && !location.endsWith(".yml") + && !location.endsWith(".yaml"); } @Override diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryFactory.java index 5037c26a..ed3d8ea3 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryFactory.java @@ -22,24 +22,22 @@ import org.springframework.core.env.ConfigurableEnvironment; /** * @author Dylan Roberts */ -public class NativeEnvironmentRepositoryFactory implements - EnvironmentRepositoryFactory { +public class NativeEnvironmentRepositoryFactory + implements EnvironmentRepositoryFactory { private ConfigurableEnvironment environment; private ConfigServerProperties properties; - public NativeEnvironmentRepositoryFactory(ConfigurableEnvironment environment, - ConfigServerProperties properties) { + public NativeEnvironmentRepositoryFactory(ConfigurableEnvironment environment, ConfigServerProperties properties) { this.environment = environment; this.properties = properties; } @Override - public NativeEnvironmentRepository build( - NativeEnvironmentProperties environmentProperties) { - NativeEnvironmentRepository repository = new NativeEnvironmentRepository( - this.environment, environmentProperties); + public NativeEnvironmentRepository build(NativeEnvironmentProperties environmentProperties) { + NativeEnvironmentRepository repository = new NativeEnvironmentRepository(this.environment, + environmentProperties); if (this.properties.getDefaultLabel() != null) { repository.setDefaultLabel(this.properties.getDefaultLabel()); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/PassthruEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/PassthruEnvironmentRepository.java index a179e60c..2ab63e5f 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/PassthruEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/PassthruEnvironmentRepository.java @@ -45,12 +45,12 @@ public class PassthruEnvironmentRepository implements EnvironmentRepository { private static final String DEFAULT_LABEL = "master"; - private Set standardSources = new HashSet(Arrays.asList("vcap", - StandardEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME, - StandardEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME, - StandardServletEnvironment.JNDI_PROPERTY_SOURCE_NAME, - StandardServletEnvironment.SERVLET_CONFIG_PROPERTY_SOURCE_NAME, - StandardServletEnvironment.SERVLET_CONTEXT_PROPERTY_SOURCE_NAME)); + private Set standardSources = new HashSet( + Arrays.asList("vcap", StandardEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME, + StandardEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME, + StandardServletEnvironment.JNDI_PROPERTY_SOURCE_NAME, + StandardServletEnvironment.SERVLET_CONFIG_PROPERTY_SOURCE_NAME, + StandardServletEnvironment.SERVLET_CONTEXT_PROPERTY_SOURCE_NAME)); private ConfigurableEnvironment environment; @@ -68,15 +68,12 @@ public class PassthruEnvironmentRepository implements EnvironmentRepository { } @Override - public Environment findOne(String application, String profile, String label, - boolean includeOrigin) { - Environment result = new Environment(application, - StringUtils.commaDelimitedListToStringArray(profile), label, null, null); - for (org.springframework.core.env.PropertySource source : this.environment - .getPropertySources()) { + public Environment findOne(String application, String profile, String label, boolean includeOrigin) { + Environment result = new Environment(application, StringUtils.commaDelimitedListToStringArray(profile), label, + null, null); + for (org.springframework.core.env.PropertySource source : this.environment.getPropertySources()) { String name = source.getName(); - if (!this.standardSources.contains(name) - && source instanceof MapPropertySource) { + if (!this.standardSources.contains(name) && source instanceof MapPropertySource) { result.add(new PropertySource(name, getMap(source, includeOrigin))); } } @@ -84,8 +81,7 @@ public class PassthruEnvironmentRepository implements EnvironmentRepository { } - private Map getMap(org.springframework.core.env.PropertySource source, - boolean includeOrigin) { + private Map getMap(org.springframework.core.env.PropertySource source, boolean includeOrigin) { Map map = new LinkedHashMap<>(); Map input = (Map) source.getSource(); if (includeOrigin && source instanceof OriginLookup) { diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepository.java index a47e5987..4fade77e 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepository.java @@ -36,8 +36,7 @@ public class RedisEnvironmentRepository implements EnvironmentRepository { private final RedisEnvironmentProperties properties; - public RedisEnvironmentRepository(StringRedisTemplate redis, - RedisEnvironmentProperties properties) { + public RedisEnvironmentRepository(StringRedisTemplate redis, RedisEnvironmentProperties properties) { this.redis = redis; this.properties = properties; } @@ -45,8 +44,7 @@ public class RedisEnvironmentRepository implements EnvironmentRepository { @Override public Environment findOne(String application, String profile, String label) { String[] profiles = StringUtils.commaDelimitedListToStringArray(profile); - Environment environment = new Environment(application, profiles, label, null, - null); + Environment environment = new Environment(application, profiles, label, null, null); final List keys = addKeys(application, Arrays.asList(profiles)); keys.forEach(it -> { Map m = redis.opsForHash().entries(it); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepositoryFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepositoryFactory.java index 3d827910..e7c0bbe4 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepositoryFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepositoryFactory.java @@ -21,8 +21,8 @@ import org.springframework.data.redis.core.StringRedisTemplate; /** * @author Piotr Mińkowski */ -public class RedisEnvironmentRepositoryFactory implements - EnvironmentRepositoryFactory { +public class RedisEnvironmentRepositoryFactory + implements EnvironmentRepositoryFactory { private StringRedisTemplate redis; @@ -31,8 +31,7 @@ public class RedisEnvironmentRepositoryFactory implements } @Override - public RedisEnvironmentRepository build( - RedisEnvironmentProperties environmentProperties) { + public RedisEnvironmentRepository build(RedisEnvironmentProperties environmentProperties) { return new RedisEnvironmentRepository(this.redis, environmentProperties); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SearchPathCompositeEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SearchPathCompositeEnvironmentRepository.java index 2e17c9ec..84617686 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SearchPathCompositeEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SearchPathCompositeEnvironmentRepository.java @@ -25,16 +25,15 @@ import java.util.List; * * @author Ryan Baxter */ -public class SearchPathCompositeEnvironmentRepository - extends CompositeEnvironmentRepository implements SearchPathLocator { +public class SearchPathCompositeEnvironmentRepository extends CompositeEnvironmentRepository + implements SearchPathLocator { /** * Creates a new {@link SearchPathCompositeEnvironmentRepository}. * @param environmentRepositories The {@link EnvironmentRepository}s to create this * composite from. */ - public SearchPathCompositeEnvironmentRepository( - List environmentRepositories) { + public SearchPathCompositeEnvironmentRepository(List environmentRepositories) { super(environmentRepositories); } @@ -43,12 +42,11 @@ public class SearchPathCompositeEnvironmentRepository List locations = new ArrayList<>(); for (EnvironmentRepository repo : this.environmentRepositories) { if (repo instanceof SearchPathLocator) { - locations.addAll(Arrays.asList(((SearchPathLocator) repo) - .getLocations(application, profile, label).getLocations())); + locations.addAll(Arrays + .asList(((SearchPathLocator) repo).getLocations(application, profile, label).getLocations())); } } - return new Locations(application, profile, label, null, - locations.toArray(new String[locations.size()])); + return new Locations(application, profile, label, null, locations.toArray(new String[locations.size()])); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SearchPathLocator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SearchPathLocator.java index 6b8832d4..fe100201 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SearchPathLocator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SearchPathLocator.java @@ -44,8 +44,7 @@ public interface SearchPathLocator { private final String version; - public Locations(String application, String profile, String label, String version, - String[] locations) { + public Locations(String application, String profile, String label, String version, String[] locations) { this.application = application; this.profile = profile; this.label = label; @@ -75,9 +74,8 @@ public interface SearchPathLocator { @Override public String toString() { - return "Locations [application=" + this.application + ", profile=" - + this.profile + ", label=" + this.label + ", locations=" - + Arrays.toString(this.locations) + ", version=" + this.version + "]"; + return "Locations [application=" + this.application + ", profile=" + this.profile + ", label=" + this.label + + ", locations=" + Arrays.toString(this.locations) + ", version=" + this.version + "]"; } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnEnvironmentRepositoryFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnEnvironmentRepositoryFactory.java index 837fbc38..a69c840b 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnEnvironmentRepositoryFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnEnvironmentRepositoryFactory.java @@ -22,24 +22,22 @@ import org.springframework.core.env.ConfigurableEnvironment; /** * @author Dylan Roberts */ -public class SvnEnvironmentRepositoryFactory implements - EnvironmentRepositoryFactory { +public class SvnEnvironmentRepositoryFactory + implements EnvironmentRepositoryFactory { private ConfigurableEnvironment environment; private ConfigServerProperties server; - public SvnEnvironmentRepositoryFactory(ConfigurableEnvironment environment, - ConfigServerProperties server) { + public SvnEnvironmentRepositoryFactory(ConfigurableEnvironment environment, ConfigServerProperties server) { this.environment = environment; this.server = server; } @Override - public SvnKitEnvironmentRepository build( - SvnKitEnvironmentProperties environmentProperties) { - SvnKitEnvironmentRepository repository = new SvnKitEnvironmentRepository( - this.environment, environmentProperties); + public SvnKitEnvironmentRepository build(SvnKitEnvironmentProperties environmentProperties) { + SvnKitEnvironmentRepository repository = new SvnKitEnvironmentRepository(this.environment, + environmentProperties); if (this.server.getDefaultLabel() != null) { repository.setDefaultLabel(this.server.getDefaultLabel()); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnKitEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnKitEnvironmentRepository.java index 32dc0443..99454914 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnKitEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnKitEnvironmentRepository.java @@ -54,8 +54,7 @@ public class SvnKitEnvironmentRepository extends AbstractScmEnvironmentRepositor */ private String defaultLabel; - public SvnKitEnvironmentRepository(ConfigurableEnvironment environment, - SvnKitEnvironmentProperties properties) { + public SvnKitEnvironmentRepository(ConfigurableEnvironment environment, SvnKitEnvironmentProperties properties) { super(environment, properties); this.defaultLabel = properties.getDefaultLabel(); } @@ -69,16 +68,14 @@ public class SvnKitEnvironmentRepository extends AbstractScmEnvironmentRepositor } @Override - public synchronized Locations getLocations(String application, String profile, - String label) { + public synchronized Locations getLocations(String application, String profile, String label) { if (label == null) { label = this.defaultLabel; } SvnOperationFactory svnOperationFactory = new SvnOperationFactory(); if (hasText(getUsername())) { - svnOperationFactory - .setAuthenticationManager(new DefaultSVNAuthenticationManager(null, - false, getUsername(), getPassword())); + svnOperationFactory.setAuthenticationManager( + new DefaultSVNAuthenticationManager(null, false, getUsername(), getPassword())); } try { String version; @@ -88,8 +85,7 @@ public class SvnKitEnvironmentRepository extends AbstractScmEnvironmentRepositor else { version = checkout(svnOperationFactory); } - return new Locations(application, profile, label, version, - getPaths(application, profile, label)); + return new Locations(application, profile, label, version, getPaths(application, profile, label)); } catch (SVNException e) { throw new IllegalStateException("Cannot checkout repository", e); @@ -100,8 +96,7 @@ public class SvnKitEnvironmentRepository extends AbstractScmEnvironmentRepositor } private String[] getPaths(String application, String profile, String label) { - String[] locations = getSearchLocations(getSvnPath(getWorkingDirectory(), label), - application, profile, label); + String[] locations = getSearchLocations(getSvnPath(getWorkingDirectory(), label), application, profile, label); boolean exists = false; for (String location : locations) { location = StringUtils.cleanPath(location); @@ -118,8 +113,7 @@ public class SvnKitEnvironmentRepository extends AbstractScmEnvironmentRepositor } private String checkout(SvnOperationFactory svnOperationFactory) throws SVNException { - logger.debug("Checking out " + getUri() + " to: " - + getWorkingDirectory().getAbsolutePath()); + logger.debug("Checking out " + getUri() + " to: " + getWorkingDirectory().getAbsolutePath()); final SvnCheckout checkout = svnOperationFactory.createCheckout(); checkout.setSource(SvnTarget.fromURL(SVNURL.parseURIEncoded(getUri()))); checkout.setSingleTarget(SvnTarget.fromFile(getWorkingDirectory())); @@ -130,8 +124,7 @@ public class SvnKitEnvironmentRepository extends AbstractScmEnvironmentRepositor return id.toString(); } - private String update(SvnOperationFactory svnOperationFactory, String label) - throws SVNException { + private String update(SvnOperationFactory svnOperationFactory, String label) throws SVNException { logger.debug("Repo already checked out - updating instead."); try { @@ -149,8 +142,7 @@ public class SvnKitEnvironmentRepository extends AbstractScmEnvironmentRepositor } catch (Exception e) { String message = "Could not update remote for " + label + " (current local=" - + getWorkingDirectory().getPath() + "), remote: " + this.getUri() - + ")"; + + getWorkingDirectory().getPath() + "), remote: " + this.getUri() + ")"; if (logger.isDebugEnabled()) { logger.debug(message, e); } @@ -159,8 +151,8 @@ public class SvnKitEnvironmentRepository extends AbstractScmEnvironmentRepositor } } - final SVNStatus status = SVNClientManager.newInstance().getStatusClient() - .doStatus(getWorkingDirectory(), false); + final SVNStatus status = SVNClientManager.newInstance().getStatusClient().doStatus(getWorkingDirectory(), + false); return status != null ? status.getRevision().toString() : null; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentProperties.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentProperties.java index f82b58df..9f96640e 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentProperties.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentProperties.java @@ -173,8 +173,7 @@ public class VaultEnvironmentProperties implements HttpEnvironmentRepositoryProp return this.proxy; } - public void setProxy( - Map proxy) { + public void setProxy(Map proxy) { this.proxy = proxy; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepository.java index 43863cd8..f1745ce5 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepository.java @@ -75,16 +75,13 @@ public class VaultEnvironmentRepository extends AbstractVaultEnvironmentReposito private final ConfigTokenProvider tokenProvider; - public VaultEnvironmentRepository(ObjectProvider request, - EnvironmentWatch watch, RestTemplate rest, - VaultEnvironmentProperties properties) { - this(request, watch, rest, properties, - new HttpRequestConfigTokenProvider(request)); + public VaultEnvironmentRepository(ObjectProvider request, EnvironmentWatch watch, + RestTemplate rest, VaultEnvironmentProperties properties) { + this(request, watch, rest, properties, new HttpRequestConfigTokenProvider(request)); } - public VaultEnvironmentRepository(ObjectProvider request, - EnvironmentWatch watch, RestTemplate rest, - VaultEnvironmentProperties properties, ConfigTokenProvider tokenProvider) { + public VaultEnvironmentRepository(ObjectProvider request, EnvironmentWatch watch, + RestTemplate rest, VaultEnvironmentProperties properties, ConfigTokenProvider tokenProvider) { super(request, watch, properties); this.tokenProvider = tokenProvider; this.backend = properties.getBackend(); @@ -95,8 +92,7 @@ public class VaultEnvironmentRepository extends AbstractVaultEnvironmentReposito String baseUrl = String.format("%s://%s:%s", this.scheme, this.host, this.port); - this.accessStrategy = VaultKvAccessStrategyFactory.forVersion(rest, baseUrl, - properties.getKvVersion()); + this.accessStrategy = VaultKvAccessStrategyFactory.forVersion(rest, baseUrl, properties.getKvVersion()); } /* for testing */ void setAccessStrategy(VaultKvAccessStrategy accessStrategy) { @@ -117,8 +113,7 @@ public class VaultEnvironmentRepository extends AbstractVaultEnvironmentReposito private String getToken() { String token = tokenProvider.getToken(); if (!StringUtils.hasLength(token)) { - throw new IllegalArgumentException( - "A Vault token must be supplied by a token provider"); + throw new IllegalArgumentException("A Vault token must be supplied by a token provider"); } return token; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryFactory.java index ac94e5dd..c03e63c6 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryFactory.java @@ -32,8 +32,8 @@ import org.springframework.web.client.RestTemplate; * supports additional features including more authentication options, support for several * underlying HTTP client libraries, and better SSL configuration. */ -public class VaultEnvironmentRepositoryFactory implements - EnvironmentRepositoryFactory { +public class VaultEnvironmentRepositoryFactory + implements EnvironmentRepositoryFactory { private final ObjectProvider request; @@ -43,8 +43,7 @@ public class VaultEnvironmentRepositoryFactory implements private final ConfigTokenProvider tokenProvider; - public VaultEnvironmentRepositoryFactory(ObjectProvider request, - EnvironmentWatch watch, + public VaultEnvironmentRepositoryFactory(ObjectProvider request, EnvironmentWatch watch, Optional vaultRestTemplateFactory) { this.request = request; this.watch = watch; @@ -52,10 +51,8 @@ public class VaultEnvironmentRepositoryFactory implements this.tokenProvider = new HttpRequestConfigTokenProvider(request); } - public VaultEnvironmentRepositoryFactory(ObjectProvider request, - EnvironmentWatch watch, - Optional vaultRestTemplateFactory, - ConfigTokenProvider tokenProvider) { + public VaultEnvironmentRepositoryFactory(ObjectProvider request, EnvironmentWatch watch, + Optional vaultRestTemplateFactory, ConfigTokenProvider tokenProvider) { this.request = request; this.watch = watch; this.vaultRestTemplateFactory = vaultRestTemplateFactory; @@ -63,16 +60,14 @@ public class VaultEnvironmentRepositoryFactory implements } @Override - public VaultEnvironmentRepository build( - VaultEnvironmentProperties environmentProperties) throws Exception { + public VaultEnvironmentRepository build(VaultEnvironmentProperties environmentProperties) throws Exception { if (this.vaultRestTemplateFactory.isPresent()) { - RestTemplate restTemplate = this.vaultRestTemplateFactory.get() - .build(environmentProperties); - return new VaultEnvironmentRepository(this.request, this.watch, restTemplate, - environmentProperties, tokenProvider); + RestTemplate restTemplate = this.vaultRestTemplateFactory.get().build(environmentProperties); + return new VaultEnvironmentRepository(this.request, this.watch, restTemplate, environmentProperties, + tokenProvider); } - return new VaultEnvironmentRepository(this.request, this.watch, - new RestTemplate(), environmentProperties, tokenProvider); + return new VaultEnvironmentRepository(this.request, this.watch, new RestTemplate(), environmentProperties, + tokenProvider); } /** @@ -80,8 +75,7 @@ public class VaultEnvironmentRepositoryFactory implements */ public interface VaultRestTemplateFactory { - RestTemplate build(VaultEnvironmentProperties environmentProperties) - throws Exception; + RestTemplate build(VaultEnvironmentProperties environmentProperties) throws Exception; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategy.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategy.java index 99a11aa3..b8c7285d 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategy.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategy.java @@ -43,8 +43,7 @@ public interface VaultKvAccessStrategy { * @throws RestClientException in case of a transport/access failure. * @see com.fasterxml.jackson.annotation.JsonRawValue */ - String getData(HttpHeaders headers, String backend, String key) - throws RestClientException; + String getData(HttpHeaders headers, String backend, String key) throws RestClientException; /** * Vault response POJO. diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyFactory.java index a80c4984..77e32e3d 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyFactory.java @@ -41,8 +41,7 @@ public final class VaultKvAccessStrategyFactory { * @param version version of the Vault key-value backend. * @return the access strategy. */ - public static VaultKvAccessStrategy forVersion(RestOperations rest, String baseUrl, - int version) { + public static VaultKvAccessStrategy forVersion(RestOperations rest, String baseUrl, int version) { switch (version) { case 1: @@ -50,8 +49,7 @@ public final class VaultKvAccessStrategyFactory { case 2: return new V2VaultKvAccessStrategy(baseUrl, rest); default: - throw new IllegalArgumentException( - "No support for given Vault k/v backend version " + version); + throw new IllegalArgumentException("No support for given Vault k/v backend version " + version); } } @@ -92,8 +90,7 @@ public final class VaultKvAccessStrategyFactory { @Override public String extractDataFromBody(VaultResponse body) { - JsonNode nestedDataNode = body.getData() == null ? null - : ((JsonNode) body.getData()).get("data"); + JsonNode nestedDataNode = body.getData() == null ? null : ((JsonNode) body.getData()).get("data"); return nestedDataNode == null ? null : nestedDataNode.toString(); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategySupport.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategySupport.java index 0999b250..9ba68f35 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategySupport.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategySupport.java @@ -66,11 +66,10 @@ abstract class VaultKvAccessStrategySupport implements VaultKvAccessStrategy { public String getData(HttpHeaders headers, String backend, String key) { try { - String urlTemplate = String.format("%s/v1/%s/%s", this.baseUrl, backend, - getPath()); + String urlTemplate = String.format("%s/v1/%s/%s", this.baseUrl, backend, getPath()); - ResponseEntity response = this.rest.exchange(urlTemplate, - HttpMethod.GET, new HttpEntity<>(headers), VaultResponse.class, key); + ResponseEntity response = this.rest.exchange(urlTemplate, HttpMethod.GET, + new HttpEntity<>(headers), VaultResponse.class, key); HttpStatus status = response.getStatusCode(); if (status == HttpStatus.OK) { return extractDataFromBody(response.getBody()); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientAuthenticationProvider.java index 26e5af96..16812f02 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientAuthenticationProvider.java @@ -29,8 +29,7 @@ public abstract class SpringVaultClientAuthenticationProvider { protected final AuthenticationMethod supportedAuthenticationMethod; - protected SpringVaultClientAuthenticationProvider( - AuthenticationMethod supportedAuthenticationMethod) { + protected SpringVaultClientAuthenticationProvider(AuthenticationMethod supportedAuthenticationMethod) { this.supportedAuthenticationMethod = supportedAuthenticationMethod; } @@ -38,27 +37,22 @@ public abstract class SpringVaultClientAuthenticationProvider { return properties.getAuthentication().equals(this.supportedAuthenticationMethod); } - public abstract ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public abstract ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations); - protected String missingPropertyForAuthMethod(String propertyName, - AuthenticationMethod authenticationMethod) { - return "The '" + VAULT_PROPERTIES_PREFIX + propertyName - + "' property must be provided " + "when the " + authenticationMethod - + " authentication method is specified."; + protected String missingPropertyForAuthMethod(String propertyName, AuthenticationMethod authenticationMethod) { + return "The '" + VAULT_PROPERTIES_PREFIX + propertyName + "' property must be provided " + "when the " + + authenticationMethod + " authentication method is specified."; } protected String missingClassForAuthMethod(String className, String classArtifact, AuthenticationMethod authenticationMethod) { - return className + "(" + classArtifact + ")" - + " must be on the classpath when the " + authenticationMethod + return className + "(" + classArtifact + ")" + " must be on the classpath when the " + authenticationMethod + " authentication method is specified"; } protected void assertClassPresent(String className, String message) { - Assert.isTrue(ClassUtils.isPresent(className, getClass().getClassLoader()), - message); + Assert.isTrue(ClassUtils.isPresent(className, getClass().getClassLoader()), message); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfiguration.java index 5009583d..d9b4e983 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfiguration.java @@ -54,8 +54,7 @@ import org.springframework.web.util.UriComponentsBuilder; * @author Scott Frederick */ @Configuration -public class SpringVaultClientConfiguration extends AbstractVaultConfiguration - implements InitializingBean { +public class SpringVaultClientConfiguration extends AbstractVaultConfiguration implements InitializingBean { private static final String VAULT_PROPERTIES_PREFIX = "spring.cloud.config.server.vault."; @@ -70,8 +69,7 @@ public class SpringVaultClientConfiguration extends AbstractVaultConfiguration private final List authProviders; public SpringVaultClientConfiguration(VaultEnvironmentProperties vaultProperties, - ConfigTokenProvider configTokenProvider, - List authProviders) { + ConfigTokenProvider configTokenProvider, List authProviders) { this.vaultProperties = vaultProperties; this.configTokenProvider = configTokenProvider; @@ -80,27 +78,23 @@ public class SpringVaultClientConfiguration extends AbstractVaultConfiguration @Override public void afterPropertiesSet() { - this.externalRestOperations = new RestTemplate( - clientHttpRequestFactoryWrapper().getClientHttpRequestFactory()); + this.externalRestOperations = new RestTemplate(clientHttpRequestFactoryWrapper().getClientHttpRequestFactory()); } @Override public VaultEndpoint vaultEndpoint() { - URI baseUrl = UriComponentsBuilder.newInstance() - .scheme(vaultProperties.getScheme()).host(vaultProperties.getHost()) - .port(vaultProperties.getPort()).build().toUri(); + URI baseUrl = UriComponentsBuilder.newInstance().scheme(vaultProperties.getScheme()) + .host(vaultProperties.getHost()).port(vaultProperties.getPort()).build().toUri(); return VaultEndpoint.from(baseUrl); } @Override - protected RestTemplateBuilder restTemplateBuilder( - VaultEndpointProvider endpointProvider, + protected RestTemplateBuilder restTemplateBuilder(VaultEndpointProvider endpointProvider, ClientHttpRequestFactory requestFactory) { - RestTemplateBuilder restTemplateBuilder = super.restTemplateBuilder( - endpointProvider, requestFactory); + RestTemplateBuilder restTemplateBuilder = super.restTemplateBuilder(endpointProvider, requestFactory); if (vaultProperties.getNamespace() != null) { restTemplateBuilder.customizers(this::applyNamespaceInterceptor); @@ -113,19 +107,18 @@ public class SpringVaultClientConfiguration extends AbstractVaultConfiguration public SslConfiguration sslConfiguration() { if (vaultProperties.isSkipSslValidation()) { log.warn("The '" + VAULT_PROPERTIES_PREFIX + "skipSslValidation' property " - + "is not supported by this Vault environment repository implementation. " - + "Use the '" + VAULT_PROPERTIES_PREFIX - + "ssl` properties to provide " + + "is not supported by this Vault environment repository implementation. " + "Use the '" + + VAULT_PROPERTIES_PREFIX + "ssl` properties to provide " + "custom keyStore and trustStore material instead."); } VaultEnvironmentProperties.Ssl ssl = vaultProperties.getSsl(); - SslConfiguration.KeyStoreConfiguration keyStoreConfiguration = getKeyStoreConfiguration( - ssl.getKeyStore(), ssl.getKeyStorePassword()); + SslConfiguration.KeyStoreConfiguration keyStoreConfiguration = getKeyStoreConfiguration(ssl.getKeyStore(), + ssl.getKeyStorePassword()); - SslConfiguration.KeyStoreConfiguration trustStoreConfiguration = getKeyStoreConfiguration( - ssl.getTrustStore(), ssl.getTrustStorePassword()); + SslConfiguration.KeyStoreConfiguration trustStoreConfiguration = getKeyStoreConfiguration(ssl.getTrustStore(), + ssl.getTrustStorePassword()); return new SslConfiguration(keyStoreConfiguration, trustStoreConfiguration); } @@ -143,16 +136,15 @@ public class SpringVaultClientConfiguration extends AbstractVaultConfiguration clientHttpRequestFactoryWrapper().getClientHttpRequestFactory()).build(); } - private SslConfiguration.KeyStoreConfiguration getKeyStoreConfiguration( - Resource resourceProperty, String passwordProperty) { + private SslConfiguration.KeyStoreConfiguration getKeyStoreConfiguration(Resource resourceProperty, + String passwordProperty) { if (resourceProperty == null) { return SslConfiguration.KeyStoreConfiguration.unconfigured(); } if (StringUtils.hasText(passwordProperty)) { - return SslConfiguration.KeyStoreConfiguration.of(resourceProperty, - passwordProperty.toCharArray()); + return SslConfiguration.KeyStoreConfiguration.of(resourceProperty, passwordProperty.toCharArray()); } return SslConfiguration.KeyStoreConfiguration.of(resourceProperty); @@ -160,8 +152,7 @@ public class SpringVaultClientConfiguration extends AbstractVaultConfiguration private RestOperations applyNamespaceInterceptor(RestTemplate restTemplate) { if (vaultProperties.getNamespace() != null) { - restTemplate.getInterceptors().add(VaultClients - .createNamespaceInterceptor(vaultProperties.getNamespace())); + restTemplate.getInterceptors().add(VaultClients.createNamespaceInterceptor(vaultProperties.getNamespace())); } return restTemplate; @@ -179,14 +170,13 @@ public class SpringVaultClientConfiguration extends AbstractVaultConfiguration } if (this.authProviders == null || this.authProviders.isEmpty()) { - throw new UnsupportedOperationException( - "No Vault client authentication providers are configured"); + throw new UnsupportedOperationException("No Vault client authentication providers are configured"); } for (SpringVaultClientAuthenticationProvider authProvider : this.authProviders) { if (authProvider.supports(this.vaultProperties)) { - return authProvider.getClientAuthentication(this.vaultProperties, - restOperations(), this.externalRestOperations); + return authProvider.getClientAuthentication(this.vaultProperties, restOperations(), + this.externalRestOperations); } } @@ -206,8 +196,7 @@ public class SpringVaultClientConfiguration extends AbstractVaultConfiguration public VaultToken login() throws VaultException { String token = tokenProvider.getToken(); if (!StringUtils.hasLength(token)) { - throw new IllegalArgumentException( - "A Vault token must be supplied by a token provider"); + throw new IllegalArgumentException("A Vault token must be supplied by a token provider"); } return VaultToken.of(token); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepository.java index b6ec51c0..5a8b0c17 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepository.java @@ -39,9 +39,8 @@ public class SpringVaultEnvironmentRepository extends AbstractVaultEnvironmentRe private final ObjectMapper objectMapper; - public SpringVaultEnvironmentRepository(ObjectProvider request, - EnvironmentWatch watch, VaultEnvironmentProperties properties, - VaultKeyValueOperations keyValueTemplate) { + public SpringVaultEnvironmentRepository(ObjectProvider request, EnvironmentWatch watch, + VaultEnvironmentProperties properties, VaultKeyValueOperations keyValueTemplate) { super(request, watch, properties); this.keyValueTemplate = keyValueTemplate; this.objectMapper = new ObjectMapper(); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryFactory.java index 8aed15a6..90e0d45f 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryFactory.java @@ -30,8 +30,8 @@ import org.springframework.vault.core.VaultTemplate; * @author Dylan Roberts * @author Scott Frederick */ -public class SpringVaultEnvironmentRepositoryFactory implements - EnvironmentRepositoryFactory { +public class SpringVaultEnvironmentRepositoryFactory + implements EnvironmentRepositoryFactory { private final ObjectProvider request; @@ -39,8 +39,7 @@ public class SpringVaultEnvironmentRepositoryFactory implements private final SpringVaultClientConfiguration clientConfiguration; - public SpringVaultEnvironmentRepositoryFactory( - ObjectProvider request, EnvironmentWatch watch, + public SpringVaultEnvironmentRepositoryFactory(ObjectProvider request, EnvironmentWatch watch, SpringVaultClientConfiguration clientConfiguration) { this.request = request; this.watch = watch; @@ -48,32 +47,26 @@ public class SpringVaultEnvironmentRepositoryFactory implements } @Override - public SpringVaultEnvironmentRepository build( - VaultEnvironmentProperties vaultProperties) { + public SpringVaultEnvironmentRepository build(VaultEnvironmentProperties vaultProperties) { VaultTemplate vaultTemplate = clientConfiguration.vaultTemplate(); - VaultKeyValueOperations accessStrategy = buildVaultAccessStrategy(vaultProperties, - vaultTemplate); + VaultKeyValueOperations accessStrategy = buildVaultAccessStrategy(vaultProperties, vaultTemplate); - return new SpringVaultEnvironmentRepository(this.request, this.watch, - vaultProperties, accessStrategy); + return new SpringVaultEnvironmentRepository(this.request, this.watch, vaultProperties, accessStrategy); } - private VaultKeyValueOperations buildVaultAccessStrategy( - VaultEnvironmentProperties vaultProperties, VaultTemplate vaultTemplate) { + private VaultKeyValueOperations buildVaultAccessStrategy(VaultEnvironmentProperties vaultProperties, + VaultTemplate vaultTemplate) { String backend = vaultProperties.getBackend(); int version = vaultProperties.getKvVersion(); switch (version) { case 1: - return vaultTemplate.opsForKeyValue(backend, - VaultKeyValueOperationsSupport.KeyValueBackend.KV_1); + return vaultTemplate.opsForKeyValue(backend, VaultKeyValueOperationsSupport.KeyValueBackend.KV_1); case 2: - return vaultTemplate.opsForKeyValue(backend, - VaultKeyValueOperationsSupport.KeyValueBackend.KV_2); + return vaultTemplate.opsForKeyValue(backend, VaultKeyValueOperationsSupport.KeyValueBackend.KV_2); default: - throw new IllegalArgumentException( - "No support for given Vault k/v backend version " + version); + throw new IllegalArgumentException("No support for given Vault k/v backend version " + version); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AppRoleClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AppRoleClientAuthenticationProvider.java index 11144f77..17bf9717 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AppRoleClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AppRoleClientAuthenticationProvider.java @@ -26,29 +26,24 @@ import org.springframework.vault.authentication.ClientAuthentication; import org.springframework.vault.support.VaultToken; import org.springframework.web.client.RestOperations; -public class AppRoleClientAuthenticationProvider - extends SpringVaultClientAuthenticationProvider { +public class AppRoleClientAuthenticationProvider extends SpringVaultClientAuthenticationProvider { public AppRoleClientAuthenticationProvider() { super(AuthenticationMethod.APPROLE); } @Override - public ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations) { - AppRoleAuthenticationOptions options = getAppRoleAuthenticationOptions( - vaultProperties); + AppRoleAuthenticationOptions options = getAppRoleAuthenticationOptions(vaultProperties); return new AppRoleAuthentication(options, vaultRestOperations); } - static AppRoleAuthenticationOptions getAppRoleAuthenticationOptions( - VaultEnvironmentProperties vaultProperties) { + static AppRoleAuthenticationOptions getAppRoleAuthenticationOptions(VaultEnvironmentProperties vaultProperties) { - VaultEnvironmentProperties.AppRoleProperties appRole = vaultProperties - .getAppRole(); + VaultEnvironmentProperties.AppRoleProperties appRole = vaultProperties.getAppRole(); AppRoleAuthenticationOptions.AppRoleAuthenticationOptionsBuilder builder = AppRoleAuthenticationOptions .builder().path(appRole.getAppRolePath()); @@ -58,56 +53,46 @@ public class AppRoleClientAuthenticationProvider } AppRoleAuthenticationOptions.RoleId roleId = getRoleId(vaultProperties, appRole); - AppRoleAuthenticationOptions.SecretId secretId = getSecretId(vaultProperties, - appRole); + AppRoleAuthenticationOptions.SecretId secretId = getSecretId(vaultProperties, appRole); builder.roleId(roleId).secretId(secretId); return builder.build(); } - private static AppRoleAuthenticationOptions.RoleId getRoleId( - VaultEnvironmentProperties vaultProperties, + private static AppRoleAuthenticationOptions.RoleId getRoleId(VaultEnvironmentProperties vaultProperties, VaultEnvironmentProperties.AppRoleProperties appRole) { if (StringUtils.hasText(appRole.getRoleId())) { return AppRoleAuthenticationOptions.RoleId.provided(appRole.getRoleId()); } - if (StringUtils.hasText(vaultProperties.getToken()) - && StringUtils.hasText(appRole.getRole())) { - return AppRoleAuthenticationOptions.RoleId - .pull(VaultToken.of(vaultProperties.getToken())); + if (StringUtils.hasText(vaultProperties.getToken()) && StringUtils.hasText(appRole.getRole())) { + return AppRoleAuthenticationOptions.RoleId.pull(VaultToken.of(vaultProperties.getToken())); } if (StringUtils.hasText(vaultProperties.getToken())) { - return AppRoleAuthenticationOptions.RoleId - .wrapped(VaultToken.of(vaultProperties.getToken())); + return AppRoleAuthenticationOptions.RoleId.wrapped(VaultToken.of(vaultProperties.getToken())); } - throw new IllegalArgumentException("Any of '" + VAULT_PROPERTIES_PREFIX - + "app-role.role-id', '.token', " - + "or '.app-role.role' and '.token' must be provided if the " - + AuthenticationMethod.APPROLE + " authentication method is specified."); + throw new IllegalArgumentException("Any of '" + VAULT_PROPERTIES_PREFIX + "app-role.role-id', '.token', " + + "or '.app-role.role' and '.token' must be provided if the " + AuthenticationMethod.APPROLE + + " authentication method is specified."); } - private static AppRoleAuthenticationOptions.SecretId getSecretId( - VaultEnvironmentProperties vaultProperties, + private static AppRoleAuthenticationOptions.SecretId getSecretId(VaultEnvironmentProperties vaultProperties, VaultEnvironmentProperties.AppRoleProperties appRole) { if (StringUtils.hasText(appRole.getSecretId())) { return AppRoleAuthenticationOptions.SecretId.provided(appRole.getSecretId()); } - if (StringUtils.hasText(vaultProperties.getToken()) - && StringUtils.hasText(appRole.getRole())) { - return AppRoleAuthenticationOptions.SecretId - .pull(VaultToken.of(vaultProperties.getToken())); + if (StringUtils.hasText(vaultProperties.getToken()) && StringUtils.hasText(appRole.getRole())) { + return AppRoleAuthenticationOptions.SecretId.pull(VaultToken.of(vaultProperties.getToken())); } if (StringUtils.hasText(vaultProperties.getToken())) { - return AppRoleAuthenticationOptions.SecretId - .wrapped(VaultToken.of(vaultProperties.getToken())); + return AppRoleAuthenticationOptions.SecretId.wrapped(VaultToken.of(vaultProperties.getToken())); } return AppRoleAuthenticationOptions.SecretId.absent(); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AwsEc2ClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AwsEc2ClientAuthenticationProvider.java index 0f6fb604..ada2b6c1 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AwsEc2ClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AwsEc2ClientAuthenticationProvider.java @@ -27,34 +27,29 @@ import org.springframework.vault.authentication.AwsEc2AuthenticationOptions; import org.springframework.vault.authentication.ClientAuthentication; import org.springframework.web.client.RestOperations; -public class AwsEc2ClientAuthenticationProvider - extends SpringVaultClientAuthenticationProvider { +public class AwsEc2ClientAuthenticationProvider extends SpringVaultClientAuthenticationProvider { public AwsEc2ClientAuthenticationProvider() { super(AuthenticationMethod.AWS_EC2); } @Override - public ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations) { VaultEnvironmentProperties.AwsEc2Properties awsEc2 = vaultProperties.getAwsEc2(); AwsEc2AuthenticationOptions.Nonce nonce = StringUtils.hasText(awsEc2.getNonce()) - ? AwsEc2AuthenticationOptions.Nonce - .provided(awsEc2.getNonce().toCharArray()) + ? AwsEc2AuthenticationOptions.Nonce.provided(awsEc2.getNonce().toCharArray()) : AwsEc2AuthenticationOptions.Nonce.generated(); - AwsEc2AuthenticationOptions authenticationOptions = AwsEc2AuthenticationOptions - .builder().role(awsEc2.getRole()) // + AwsEc2AuthenticationOptions authenticationOptions = AwsEc2AuthenticationOptions.builder().role(awsEc2.getRole()) // .path(awsEc2.getAwsEc2Path()) // .nonce(nonce) // .identityDocumentUri(URI.create(awsEc2.getIdentityDocument())) // .build(); - return new AwsEc2Authentication(authenticationOptions, vaultRestOperations, - externalRestOperations); + return new AwsEc2Authentication(authenticationOptions, vaultRestOperations, externalRestOperations); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AwsIamClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AwsIamClientAuthenticationProvider.java index 22673389..7f9d987b 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AwsIamClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AwsIamClientAuthenticationProvider.java @@ -31,28 +31,24 @@ import org.springframework.vault.authentication.AwsIamAuthenticationOptions; import org.springframework.vault.authentication.ClientAuthentication; import org.springframework.web.client.RestOperations; -public class AwsIamClientAuthenticationProvider - extends SpringVaultClientAuthenticationProvider { +public class AwsIamClientAuthenticationProvider extends SpringVaultClientAuthenticationProvider { public AwsIamClientAuthenticationProvider() { super(AuthenticationMethod.AWS_IAM); } @Override - public ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations) { - assertClassPresent("com.amazonaws.auth.AWSCredentials", missingClassForAuthMethod( - "AWSCredentials", "aws-java-sdk-core", AuthenticationMethod.AWS_IAM)); + assertClassPresent("com.amazonaws.auth.AWSCredentials", + missingClassForAuthMethod("AWSCredentials", "aws-java-sdk-core", AuthenticationMethod.AWS_IAM)); VaultEnvironmentProperties.AwsIamProperties awsIam = vaultProperties.getAwsIam(); - AWSCredentialsProvider credentialsProvider = AwsCredentialProvider - .getAwsCredentialsProvider(); + AWSCredentialsProvider credentialsProvider = AwsCredentialProvider.getAwsCredentialsProvider(); - AwsIamAuthenticationOptions.AwsIamAuthenticationOptionsBuilder builder = AwsIamAuthenticationOptions - .builder(); + AwsIamAuthenticationOptions.AwsIamAuthenticationOptionsBuilder builder = AwsIamAuthenticationOptions.builder(); if (StringUtils.hasText(awsIam.getRole())) { builder.role(awsIam.getRole()); @@ -69,8 +65,7 @@ public class AwsIamClientAuthenticationProvider builder.path(awsIam.getAwsPath()) // .credentialsProvider(credentialsProvider); - AwsIamAuthenticationOptions options = builder - .credentialsProvider(credentialsProvider).build(); + AwsIamAuthenticationOptions options = builder.credentialsProvider(credentialsProvider).build(); return new AwsIamAuthentication(options, vaultRestOperations); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AzureMsiClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AzureMsiClientAuthenticationProvider.java index 901aaa1f..a4c6c041 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AzureMsiClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/AzureMsiClientAuthenticationProvider.java @@ -27,34 +27,30 @@ import org.springframework.vault.authentication.AzureMsiAuthenticationOptions; import org.springframework.vault.authentication.ClientAuthentication; import org.springframework.web.client.RestOperations; -public class AzureMsiClientAuthenticationProvider - extends SpringVaultClientAuthenticationProvider { +public class AzureMsiClientAuthenticationProvider extends SpringVaultClientAuthenticationProvider { public AzureMsiClientAuthenticationProvider() { super(AuthenticationMethod.AZURE_MSI); } @Override - public ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations) { - VaultEnvironmentProperties.AzureMsiProperties azureMsi = vaultProperties - .getAzureMsi(); + VaultEnvironmentProperties.AzureMsiProperties azureMsi = vaultProperties.getAzureMsi(); - Assert.hasText(azureMsi.getRole(), missingPropertyForAuthMethod("azure-msi.role", - AuthenticationMethod.AZURE_MSI)); + Assert.hasText(azureMsi.getRole(), + missingPropertyForAuthMethod("azure-msi.role", AuthenticationMethod.AZURE_MSI)); - AzureMsiAuthenticationOptions options = AzureMsiAuthenticationOptions.builder() - .role(azureMsi.getRole()).path(azureMsi.getAzurePath()) + AzureMsiAuthenticationOptions options = AzureMsiAuthenticationOptions.builder().role(azureMsi.getRole()) + .path(azureMsi.getAzurePath()) .instanceMetadataUri(getUri(azureMsi.getMetadataService(), AzureMsiAuthenticationOptions.DEFAULT_INSTANCE_METADATA_SERVICE_URI)) .identityTokenServiceUri(getUri(azureMsi.getIdentityTokenService(), AzureMsiAuthenticationOptions.DEFAULT_IDENTITY_TOKEN_SERVICE_URI)) .build(); - return new AzureMsiAuthentication(options, vaultRestOperations, - externalRestOperations); + return new AzureMsiAuthentication(options, vaultRestOperations, externalRestOperations); } private URI getUri(String uriString, URI defaultUri) { diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/CertificateClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/CertificateClientAuthenticationProvider.java index 13a0f8a7..83fb94ec 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/CertificateClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/CertificateClientAuthenticationProvider.java @@ -23,16 +23,14 @@ import org.springframework.vault.authentication.ClientAuthentication; import org.springframework.vault.authentication.ClientCertificateAuthentication; import org.springframework.web.client.RestOperations; -public class CertificateClientAuthenticationProvider - extends SpringVaultClientAuthenticationProvider { +public class CertificateClientAuthenticationProvider extends SpringVaultClientAuthenticationProvider { public CertificateClientAuthenticationProvider() { super(AuthenticationMethod.CERT); } @Override - public ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations) { return new ClientCertificateAuthentication(vaultRestOperations); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/CubbyholeClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/CubbyholeClientAuthenticationProvider.java index 0705f59f..f0402210 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/CubbyholeClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/CubbyholeClientAuthenticationProvider.java @@ -26,22 +26,19 @@ import org.springframework.vault.authentication.CubbyholeAuthenticationOptions; import org.springframework.vault.support.VaultToken; import org.springframework.web.client.RestOperations; -public class CubbyholeClientAuthenticationProvider - extends SpringVaultClientAuthenticationProvider { +public class CubbyholeClientAuthenticationProvider extends SpringVaultClientAuthenticationProvider { public CubbyholeClientAuthenticationProvider() { super(AuthenticationMethod.CUBBYHOLE); } @Override - public ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations) { String token = vaultProperties.getToken(); - Assert.hasText(token, - missingPropertyForAuthMethod("token", AuthenticationMethod.CUBBYHOLE)); + Assert.hasText(token, missingPropertyForAuthMethod("token", AuthenticationMethod.CUBBYHOLE)); CubbyholeAuthenticationOptions options = CubbyholeAuthenticationOptions.builder() // .wrapped() // diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/GcpGceClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/GcpGceClientAuthenticationProvider.java index 4e8a46ab..2377129f 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/GcpGceClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/GcpGceClientAuthenticationProvider.java @@ -26,22 +26,19 @@ import org.springframework.vault.authentication.GcpComputeAuthentication; import org.springframework.vault.authentication.GcpComputeAuthenticationOptions; import org.springframework.web.client.RestOperations; -public class GcpGceClientAuthenticationProvider - extends SpringVaultClientAuthenticationProvider { +public class GcpGceClientAuthenticationProvider extends SpringVaultClientAuthenticationProvider { public GcpGceClientAuthenticationProvider() { super(AuthenticationMethod.GCP_GCE); } @Override - public ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations) { VaultEnvironmentProperties.GcpGceProperties gcp = vaultProperties.getGcpGce(); - Assert.hasText(gcp.getRole(), missingPropertyForAuthMethod("gcp-iam.role", - AuthenticationMethod.GCP_GCE)); + Assert.hasText(gcp.getRole(), missingPropertyForAuthMethod("gcp-iam.role", AuthenticationMethod.GCP_GCE)); GcpComputeAuthenticationOptions.GcpComputeAuthenticationOptionsBuilder builder = GcpComputeAuthenticationOptions .builder().path(gcp.getGcpPath()).role(gcp.getRole()); @@ -50,8 +47,7 @@ public class GcpGceClientAuthenticationProvider builder.serviceAccount(gcp.getServiceAccount()); } - return new GcpComputeAuthentication(builder.build(), vaultRestOperations, - externalRestOperations); + return new GcpComputeAuthentication(builder.build(), vaultRestOperations, externalRestOperations); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/GcpIamClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/GcpIamClientAuthenticationProvider.java index 2f4aef12..84c5b3ba 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/GcpIamClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/GcpIamClientAuthenticationProvider.java @@ -32,31 +32,25 @@ import org.springframework.vault.authentication.GcpIamAuthentication; import org.springframework.vault.authentication.GcpIamAuthenticationOptions; import org.springframework.web.client.RestOperations; -public class GcpIamClientAuthenticationProvider - extends SpringVaultClientAuthenticationProvider { +public class GcpIamClientAuthenticationProvider extends SpringVaultClientAuthenticationProvider { public GcpIamClientAuthenticationProvider() { super(AuthenticationMethod.GCP_IAM); } @Override - public ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations) { - assertClassPresent( - "com.google.api.client.googleapis.auth.oauth2.GoogleCredential", - missingClassForAuthMethod("GoogleCredential", "google-api-client", - AuthenticationMethod.GCP_IAM)); + assertClassPresent("com.google.api.client.googleapis.auth.oauth2.GoogleCredential", + missingClassForAuthMethod("GoogleCredential", "google-api-client", AuthenticationMethod.GCP_IAM)); VaultEnvironmentProperties.GcpIamProperties gcp = vaultProperties.getGcpIam(); - Assert.hasText(gcp.getRole(), missingPropertyForAuthMethod("gcp-iam.role", - AuthenticationMethod.GCP_IAM)); + Assert.hasText(gcp.getRole(), missingPropertyForAuthMethod("gcp-iam.role", AuthenticationMethod.GCP_IAM)); - GcpIamAuthenticationOptions.GcpIamAuthenticationOptionsBuilder builder = GcpIamAuthenticationOptions - .builder().path(gcp.getGcpPath()).role(gcp.getRole()) - .jwtValidity(gcp.getJwtValidity()); + GcpIamAuthenticationOptions.GcpIamAuthenticationOptionsBuilder builder = GcpIamAuthenticationOptions.builder() + .path(gcp.getGcpPath()).role(gcp.getRole()).jwtValidity(gcp.getJwtValidity()); if (StringUtils.hasText(gcp.getProjectId())) { builder.projectId(gcp.getProjectId()); @@ -77,20 +71,17 @@ public class GcpIamClientAuthenticationProvider @SuppressWarnings("deprecation") private static class GcpCredentialProvider { - public static GcpCredentialSupplier getGoogleCredential( - VaultEnvironmentProperties.GcpIamProperties gcp) { + public static GcpCredentialSupplier getGoogleCredential(VaultEnvironmentProperties.GcpIamProperties gcp) { return () -> { - VaultEnvironmentProperties.GcpCredentials credentialProperties = gcp - .getCredentials(); + VaultEnvironmentProperties.GcpCredentials credentialProperties = gcp.getCredentials(); if (credentialProperties.getLocation() != null) { - return GoogleCredential.fromStream( - credentialProperties.getLocation().getInputStream()); + return GoogleCredential.fromStream(credentialProperties.getLocation().getInputStream()); } if (StringUtils.hasText(credentialProperties.getEncodedKey())) { - return GoogleCredential.fromStream(new ByteArrayInputStream(Base64 - .getDecoder().decode(credentialProperties.getEncodedKey()))); + return GoogleCredential.fromStream( + new ByteArrayInputStream(Base64.getDecoder().decode(credentialProperties.getEncodedKey()))); } return GoogleCredential.getApplicationDefault(); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/KubernetesClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/KubernetesClientAuthenticationProvider.java index f13e5851..3ff4c6d7 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/KubernetesClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/KubernetesClientAuthenticationProvider.java @@ -26,32 +26,26 @@ import org.springframework.vault.authentication.KubernetesAuthenticationOptions; import org.springframework.vault.authentication.KubernetesServiceAccountTokenFile; import org.springframework.web.client.RestOperations; -public class KubernetesClientAuthenticationProvider - extends SpringVaultClientAuthenticationProvider { +public class KubernetesClientAuthenticationProvider extends SpringVaultClientAuthenticationProvider { public KubernetesClientAuthenticationProvider() { super(AuthenticationMethod.KUBERNETES); } @Override - public ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations) { - VaultEnvironmentProperties.KubernetesProperties kubernetes = vaultProperties - .getKubernetes(); + VaultEnvironmentProperties.KubernetesProperties kubernetes = vaultProperties.getKubernetes(); - Assert.hasText(kubernetes.getRole(), missingPropertyForAuthMethod( - "kubernetes.role", AuthenticationMethod.KUBERNETES)); + Assert.hasText(kubernetes.getRole(), + missingPropertyForAuthMethod("kubernetes.role", AuthenticationMethod.KUBERNETES)); Assert.hasText(kubernetes.getServiceAccountTokenFile(), - missingPropertyForAuthMethod("kubernetes.service-account-token-file", - AuthenticationMethod.KUBERNETES)); + missingPropertyForAuthMethod("kubernetes.service-account-token-file", AuthenticationMethod.KUBERNETES)); - KubernetesAuthenticationOptions options = KubernetesAuthenticationOptions - .builder().path(kubernetes.getKubernetesPath()).role(kubernetes.getRole()) - .jwtSupplier(new KubernetesServiceAccountTokenFile( - kubernetes.getServiceAccountTokenFile())) - .build(); + KubernetesAuthenticationOptions options = KubernetesAuthenticationOptions.builder() + .path(kubernetes.getKubernetesPath()).role(kubernetes.getRole()) + .jwtSupplier(new KubernetesServiceAccountTokenFile(kubernetes.getServiceAccountTokenFile())).build(); return new KubernetesAuthentication(options, vaultRestOperations); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/PcfClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/PcfClientAuthenticationProvider.java index 1b7d0cd6..71777ac4 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/PcfClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/PcfClientAuthenticationProvider.java @@ -26,37 +26,31 @@ import org.springframework.vault.authentication.PcfAuthenticationOptions; import org.springframework.vault.authentication.ResourceCredentialSupplier; import org.springframework.web.client.RestOperations; -public class PcfClientAuthenticationProvider - extends SpringVaultClientAuthenticationProvider { +public class PcfClientAuthenticationProvider extends SpringVaultClientAuthenticationProvider { public PcfClientAuthenticationProvider() { super(AuthenticationMethod.PCF); } @Override - public ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations) { VaultEnvironmentProperties.PcfProperties pcfProperties = vaultProperties.getPcf(); assertClassPresent("org.bouncycastle.crypto.signers.PSSSigner", - missingClassForAuthMethod("BouncyCastle", "bcpkix-jdk15on", - AuthenticationMethod.PCF)); - Assert.hasText(pcfProperties.getRole(), - missingPropertyForAuthMethod("pcf.role", AuthenticationMethod.PCF)); + missingClassForAuthMethod("BouncyCastle", "bcpkix-jdk15on", AuthenticationMethod.PCF)); + Assert.hasText(pcfProperties.getRole(), missingPropertyForAuthMethod("pcf.role", AuthenticationMethod.PCF)); - PcfAuthenticationOptions.PcfAuthenticationOptionsBuilder builder = PcfAuthenticationOptions - .builder().role(pcfProperties.getRole()).path(pcfProperties.getPcfPath()); + PcfAuthenticationOptions.PcfAuthenticationOptionsBuilder builder = PcfAuthenticationOptions.builder() + .role(pcfProperties.getRole()).path(pcfProperties.getPcfPath()); if (pcfProperties.getInstanceCertificate() != null) { - builder.instanceCertificate(new ResourceCredentialSupplier( - pcfProperties.getInstanceCertificate())); + builder.instanceCertificate(new ResourceCredentialSupplier(pcfProperties.getInstanceCertificate())); } if (pcfProperties.getInstanceKey() != null) { - builder.instanceKey( - new ResourceCredentialSupplier(pcfProperties.getInstanceKey())); + builder.instanceKey(new ResourceCredentialSupplier(pcfProperties.getInstanceKey())); } return new PcfAuthentication(builder.build(), vaultRestOperations); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/TokenClientAuthenticationProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/TokenClientAuthenticationProvider.java index 4c620813..f7bac831 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/TokenClientAuthenticationProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/authentication/TokenClientAuthenticationProvider.java @@ -24,20 +24,17 @@ import org.springframework.vault.authentication.ClientAuthentication; import org.springframework.vault.authentication.TokenAuthentication; import org.springframework.web.client.RestOperations; -public class TokenClientAuthenticationProvider - extends SpringVaultClientAuthenticationProvider { +public class TokenClientAuthenticationProvider extends SpringVaultClientAuthenticationProvider { public TokenClientAuthenticationProvider() { super(AuthenticationMethod.TOKEN); } @Override - public ClientAuthentication getClientAuthentication( - VaultEnvironmentProperties vaultProperties, + public ClientAuthentication getClientAuthentication(VaultEnvironmentProperties vaultProperties, RestOperations vaultRestOperations, RestOperations externalRestOperations) { - Assert.hasText(vaultProperties.getToken(), - missingPropertyForAuthMethod("token", AuthenticationMethod.TOKEN)); + Assert.hasText(vaultProperties.getToken(), missingPropertyForAuthMethod("token", AuthenticationMethod.TOKEN)); return new TokenAuthentication(vaultProperties.getToken()); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/proxy/ProxyHostCredentialsProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/proxy/ProxyHostCredentialsProvider.java index 91aeb9cd..364e441b 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/proxy/ProxyHostCredentialsProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/proxy/ProxyHostCredentialsProvider.java @@ -29,11 +29,10 @@ public class ProxyHostCredentialsProvider extends BasicCredentialsProvider { for (ProxyHostProperties proxy : proxyHostProperties) { - if (proxy != null && proxy.getUsername() != null - && proxy.getPassword() != null) { + if (proxy != null && proxy.getUsername() != null && proxy.getPassword() != null) { AuthScope authscope = new AuthScope(proxy.getHost(), proxy.getPort()); - UsernamePasswordCredentials credentials = new UsernamePasswordCredentials( - proxy.getUsername(), proxy.getPassword()); + UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(proxy.getUsername(), + proxy.getPassword()); setCredentials(authscope, credentials); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/proxy/SchemeBasedRoutePlanner.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/proxy/SchemeBasedRoutePlanner.java index 9511bd02..be06b7ad 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/proxy/SchemeBasedRoutePlanner.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/proxy/SchemeBasedRoutePlanner.java @@ -30,16 +30,14 @@ public class SchemeBasedRoutePlanner extends DefaultRoutePlanner { private final ProxyHostProperties httpProxy; - public SchemeBasedRoutePlanner(ProxyHostProperties httpsProxy, - ProxyHostProperties httpProxy) { + public SchemeBasedRoutePlanner(ProxyHostProperties httpsProxy, ProxyHostProperties httpProxy) { super(null); this.httpsProxy = httpsProxy; this.httpProxy = httpProxy; } @Override - protected HttpHost determineProxy(HttpHost target, HttpRequest request, - HttpContext context) { + protected HttpHost determineProxy(HttpHost target, HttpRequest request, HttpContext context) { return "https".equals(target.getSchemeName()) ? determineProxy(this.httpsProxy) : determineProxy(this.httpProxy); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/GenericResourceRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/GenericResourceRepository.java index 667827fc..68462fd3 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/GenericResourceRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/GenericResourceRepository.java @@ -34,8 +34,7 @@ import org.springframework.util.StringUtils; * * @author Dave Syer */ -public class GenericResourceRepository - implements ResourceRepository, ResourceLoaderAware { +public class GenericResourceRepository implements ResourceRepository, ResourceLoaderAware { private ResourceLoader resourceLoader; @@ -51,12 +50,10 @@ public class GenericResourceRepository } @Override - public synchronized Resource findOne(String application, String profile, String label, - String path) { + public synchronized Resource findOne(String application, String profile, String label, String path) { if (StringUtils.hasText(path)) { - String[] locations = this.service.getLocations(application, profile, label) - .getLocations(); + String[] locations = this.service.getLocations(application, profile, label).getLocations(); ArrayList locationResources = new ArrayList<>(); for (int i = locations.length; i-- > 0;) { String location = locations[i]; @@ -68,11 +65,10 @@ public class GenericResourceRepository try { for (Resource location : locationResources) { for (String local : getProfilePaths(profile, path)) { - if (!PathUtils.isInvalidPath(local) - && !PathUtils.isInvalidEncodedPath(local)) { + if (!PathUtils.isInvalidPath(local) && !PathUtils.isInvalidEncodedPath(local)) { Resource file = location.createRelative(local); - if (file.exists() && file.isReadable() && PathUtils - .checkResource(file, location, locationResources)) { + if (file.exists() && file.isReadable() + && PathUtils.checkResource(file, location, locationResources)) { return file; } } @@ -80,8 +76,7 @@ public class GenericResourceRepository } } catch (IOException e) { - throw new NoSuchResourceException( - "Error : " + path + ". (" + e.getMessage() + ")"); + throw new NoSuchResourceException("Error : " + path + ". (" + e.getMessage() + ")"); } } throw new NoSuchResourceException("Not found: " + path); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java index 945dda27..72dd235e 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java @@ -59,8 +59,7 @@ import static org.springframework.cloud.config.server.support.EnvironmentPropert * */ @RestController -@RequestMapping(method = RequestMethod.GET, - path = "${spring.cloud.config.server.prefix:}") +@RequestMapping(method = RequestMethod.GET, path = "${spring.cloud.config.server.prefix:}") public class ResourceController { private static Log logger = LogFactory.getLog(ResourceController.class); @@ -77,8 +76,7 @@ public class ResourceController { private boolean plainTextEncryptEnabled = false; - public ResourceController(ResourceRepository resourceRepository, - EnvironmentRepository environmentRepository, + public ResourceController(ResourceRepository resourceRepository, EnvironmentRepository environmentRepository, Map resourceEncryptorMap) { this.resourceRepository = resourceRepository; this.environmentRepository = environmentRepository; @@ -86,8 +84,7 @@ public class ResourceController { this.helper.setAlwaysUseFullPath(true); } - public ResourceController(ResourceRepository resourceRepository, - EnvironmentRepository environmentRepository) { + public ResourceController(ResourceRepository resourceRepository, EnvironmentRepository environmentRepository) { this.resourceRepository = resourceRepository; this.environmentRepository = environmentRepository; this.helper.setAlwaysUseFullPath(true); @@ -102,25 +99,21 @@ public class ResourceController { } @RequestMapping("/{name}/{profile}/{label}/**") - public String retrieve(@PathVariable String name, @PathVariable String profile, - @PathVariable String label, ServletWebRequest request, - @RequestParam(defaultValue = "true") boolean resolvePlaceholders) + public String retrieve(@PathVariable String name, @PathVariable String profile, @PathVariable String label, + ServletWebRequest request, @RequestParam(defaultValue = "true") boolean resolvePlaceholders) throws IOException { String path = getFilePath(request, name, profile, label); return retrieve(request, name, profile, label, path, resolvePlaceholders); } @RequestMapping(value = "/{name}/{profile}/**", params = "useDefaultLabel") - public String retrieve(@PathVariable String name, @PathVariable String profile, - ServletWebRequest request, - @RequestParam(defaultValue = "true") boolean resolvePlaceholders) - throws IOException { + public String retrieve(@PathVariable String name, @PathVariable String profile, ServletWebRequest request, + @RequestParam(defaultValue = "true") boolean resolvePlaceholders) throws IOException { String path = getFilePath(request, name, profile, null); return retrieve(request, name, profile, null, path, resolvePlaceholders); } - private String getFilePath(ServletWebRequest request, String name, String profile, - String label) { + private String getFilePath(ServletWebRequest request, String name, String profile, String label) { String stem; if (label != null) { stem = String.format("/%s/%s/%s/", name, profile, label); @@ -133,8 +126,8 @@ public class ResourceController { return path; } - synchronized String retrieve(ServletWebRequest request, String name, String profile, - String label, String path, boolean resolvePlaceholders) throws IOException { + synchronized String retrieve(ServletWebRequest request, String name, String profile, String label, String path, + boolean resolvePlaceholders) throws IOException { name = Environment.normalize(name); label = Environment.normalize(label); Resource resource = this.resourceRepository.findOne(name, profile, label, path); @@ -149,8 +142,7 @@ public class ResourceController { if (ext != null) { ext = ext.toLowerCase(); } - Environment environment = this.environmentRepository.findOne(name, profile, - label, false); + Environment environment = this.environmentRepository.findOne(name, profile, label, false); if (resolvePlaceholders) { text = resolvePlaceholders(prepareEnvironment(environment), text); } @@ -170,23 +162,22 @@ public class ResourceController { /* * Used only for unit tests. */ - String retrieve(String name, String profile, String label, String path, - boolean resolvePlaceholders) throws IOException { + String retrieve(String name, String profile, String label, String path, boolean resolvePlaceholders) + throws IOException { return retrieve(null, name, profile, label, path, resolvePlaceholders); } - @RequestMapping(value = "/{name}/{profile}/{label}/**", - produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) - public byte[] binary(@PathVariable String name, @PathVariable String profile, - @PathVariable String label, ServletWebRequest request) throws IOException { + @RequestMapping(value = "/{name}/{profile}/{label}/**", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) + public byte[] binary(@PathVariable String name, @PathVariable String profile, @PathVariable String label, + ServletWebRequest request) throws IOException { String path = getFilePath(request, name, profile, label); return binary(request, name, profile, label, path); } @RequestMapping(value = "/{name}/{profile}/**", params = "useDefaultLabel", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) - public byte[] binary(@PathVariable String name, @PathVariable String profile, - ServletWebRequest request) throws IOException { + public byte[] binary(@PathVariable String name, @PathVariable String profile, ServletWebRequest request) + throws IOException { String path = getFilePath(request, name, profile, null); return binary(request, name, profile, null, path); } @@ -194,13 +185,12 @@ public class ResourceController { /* * Used only for unit tests. */ - byte[] binary(String name, String profile, String label, String path) - throws IOException { + byte[] binary(String name, String profile, String label, String path) throws IOException { return binary(null, name, profile, label, path); } - private synchronized byte[] binary(ServletWebRequest request, String name, - String profile, String label, String path) throws IOException { + private synchronized byte[] binary(ServletWebRequest request, String name, String profile, String label, + String path) throws IOException { name = Environment.normalize(name); label = Environment.normalize(label); Resource resource = this.resourceRepository.findOne(name, profile, label, path); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/FileBasedSshTransportConfigCallback.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/FileBasedSshTransportConfigCallback.java index bd1763f8..49c42500 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/FileBasedSshTransportConfigCallback.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/FileBasedSshTransportConfigCallback.java @@ -35,8 +35,7 @@ public class FileBasedSshTransportConfigCallback implements TransportConfigCallb private MultipleJGitEnvironmentProperties sshUriProperties; - public FileBasedSshTransportConfigCallback( - MultipleJGitEnvironmentProperties sshUriProperties) { + public FileBasedSshTransportConfigCallback(MultipleJGitEnvironmentProperties sshUriProperties) { this.sshUriProperties = sshUriProperties; } @@ -50,8 +49,8 @@ public class FileBasedSshTransportConfigCallback implements TransportConfigCallb @Override protected void configure(OpenSshConfig.Host hc, Session session) { session.setConfig("StrictHostKeyChecking", - FileBasedSshTransportConfigCallback.this.sshUriProperties - .isStrictHostKeyChecking() ? "yes" : "no"); + FileBasedSshTransportConfigCallback.this.sshUriProperties.isStrictHostKeyChecking() ? "yes" + : "no"); } }); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/HostKeyAlgoSupportedValidator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/HostKeyAlgoSupportedValidator.java index 3bf5f243..8103834b 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/HostKeyAlgoSupportedValidator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/HostKeyAlgoSupportedValidator.java @@ -43,14 +43,13 @@ import static org.springframework.util.StringUtils.hasText; * * @author Ollie Hughes */ -public class HostKeyAlgoSupportedValidator implements - ConstraintValidator { +public class HostKeyAlgoSupportedValidator + implements ConstraintValidator { private static final String GIT_PROPERTY_PREFIX = "spring.cloud.config.server.git."; private static final Set VALID_HOST_KEY_ALGORITHMS = new LinkedHashSet<>( - Arrays.asList("ssh-dss", "ssh-rsa", "ecdsa-sha2-nistp256", - "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521")); + Arrays.asList("ssh-dss", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521")); private final SshPropertyValidator sshPropertyValidator = new SshPropertyValidator(); @@ -60,33 +59,27 @@ public class HostKeyAlgoSupportedValidator implements } @Override - public boolean isValid(MultipleJGitEnvironmentProperties sshUriProperties, - ConstraintValidatorContext context) { + public boolean isValid(MultipleJGitEnvironmentProperties sshUriProperties, ConstraintValidatorContext context) { context.disableDefaultConstraintViolation(); Set validationResults = new HashSet<>(); List extractedProperties = this.sshPropertyValidator .extractRepoProperties(sshUriProperties); for (JGitEnvironmentProperties extractedProperty : extractedProperties) { - if (sshUriProperties.isIgnoreLocalSshSettings() - && isSshUri(extractedProperty.getUri())) { - validationResults.add( - isHostKeySpecifiedWhenAlgorithmSet(extractedProperty, context)); + if (sshUriProperties.isIgnoreLocalSshSettings() && isSshUri(extractedProperty.getUri())) { + validationResults.add(isHostKeySpecifiedWhenAlgorithmSet(extractedProperty, context)); } } return !validationResults.contains(false); } - private boolean isHostKeySpecifiedWhenAlgorithmSet( - JGitEnvironmentProperties sshUriProperties, + private boolean isHostKeySpecifiedWhenAlgorithmSet(JGitEnvironmentProperties sshUriProperties, ConstraintValidatorContext context) { - if (hasText(sshUriProperties.getHostKeyAlgorithm()) && !VALID_HOST_KEY_ALGORITHMS - .contains(sshUriProperties.getHostKeyAlgorithm())) { + if (hasText(sshUriProperties.getHostKeyAlgorithm()) + && !VALID_HOST_KEY_ALGORITHMS.contains(sshUriProperties.getHostKeyAlgorithm())) { - context.buildConstraintViolationWithTemplate( - format("Property '%shostKeyAlgorithm' must be one of %s", - GIT_PROPERTY_PREFIX, VALID_HOST_KEY_ALGORITHMS)) - .addConstraintViolation(); + context.buildConstraintViolationWithTemplate(format("Property '%shostKeyAlgorithm' must be one of %s", + GIT_PROPERTY_PREFIX, VALID_HOST_KEY_ALGORITHMS)).addConstraintViolation(); return false; } return true; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/HostKeyAndAlgoBothExistValidator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/HostKeyAndAlgoBothExistValidator.java index 6a756793..7e805f46 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/HostKeyAndAlgoBothExistValidator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/HostKeyAndAlgoBothExistValidator.java @@ -42,8 +42,8 @@ import static org.springframework.util.StringUtils.hasText; * * @author Ollie Hughes */ -public class HostKeyAndAlgoBothExistValidator implements - ConstraintValidator { +public class HostKeyAndAlgoBothExistValidator + implements ConstraintValidator { private static final String GIT_PROPERTY_PREFIX = "spring.cloud.config.server.git."; @@ -55,47 +55,41 @@ public class HostKeyAndAlgoBothExistValidator implements } @Override - public boolean isValid(MultipleJGitEnvironmentProperties sshUriProperties, - ConstraintValidatorContext context) { + public boolean isValid(MultipleJGitEnvironmentProperties sshUriProperties, ConstraintValidatorContext context) { Set validationResults = new HashSet<>(); List extractedProperties = this.sshPropertyValidator .extractRepoProperties(sshUriProperties); for (JGitEnvironmentProperties extractedProperty : extractedProperties) { - if (sshUriProperties.isIgnoreLocalSshSettings() - && isSshUri(extractedProperty.getUri())) { - validationResults.add( - isAlgorithmSpecifiedWhenHostKeySet(extractedProperty, context) - && isHostKeySpecifiedWhenAlgorithmSet(extractedProperty, - context)); + if (sshUriProperties.isIgnoreLocalSshSettings() && isSshUri(extractedProperty.getUri())) { + validationResults.add(isAlgorithmSpecifiedWhenHostKeySet(extractedProperty, context) + && isHostKeySpecifiedWhenAlgorithmSet(extractedProperty, context)); } } return !validationResults.contains(false); } - private boolean isHostKeySpecifiedWhenAlgorithmSet( - JGitEnvironmentProperties sshUriProperties, + private boolean isHostKeySpecifiedWhenAlgorithmSet(JGitEnvironmentProperties sshUriProperties, ConstraintValidatorContext context) { - if (hasText(sshUriProperties.getHostKeyAlgorithm()) - && !hasText(sshUriProperties.getHostKey())) { + if (hasText(sshUriProperties.getHostKeyAlgorithm()) && !hasText(sshUriProperties.getHostKey())) { context.disableDefaultConstraintViolation(); - context.buildConstraintViolationWithTemplate(format( - "Property '%shostKey' must be set when '%shostKeyAlgorithm' is specified", - GIT_PROPERTY_PREFIX, GIT_PROPERTY_PREFIX)).addConstraintViolation(); + context.buildConstraintViolationWithTemplate( + format("Property '%shostKey' must be set when '%shostKeyAlgorithm' is specified", + GIT_PROPERTY_PREFIX, GIT_PROPERTY_PREFIX)) + .addConstraintViolation(); return false; } return true; } - private boolean isAlgorithmSpecifiedWhenHostKeySet( - JGitEnvironmentProperties sshUriProperties, + private boolean isAlgorithmSpecifiedWhenHostKeySet(JGitEnvironmentProperties sshUriProperties, ConstraintValidatorContext context) { - if (hasText(sshUriProperties.getHostKey()) - && !hasText(sshUriProperties.getHostKeyAlgorithm())) { + if (hasText(sshUriProperties.getHostKey()) && !hasText(sshUriProperties.getHostKeyAlgorithm())) { context.disableDefaultConstraintViolation(); - context.buildConstraintViolationWithTemplate(format( - "Property '%shostKeyAlgorithm' must be set when '%shostKey' is specified", - GIT_PROPERTY_PREFIX, GIT_PROPERTY_PREFIX)).addConstraintViolation(); + context.buildConstraintViolationWithTemplate( + format("Property '%shostKeyAlgorithm' must be set when '%shostKey' is specified", + GIT_PROPERTY_PREFIX, GIT_PROPERTY_PREFIX)) + .addConstraintViolation(); return false; } return true; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/KnownHostsFileValidator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/KnownHostsFileValidator.java index 27203c42..04d12732 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/KnownHostsFileValidator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/KnownHostsFileValidator.java @@ -36,8 +36,8 @@ import static java.lang.String.format; * * @author Edgars Jasmans */ -public class KnownHostsFileValidator implements - ConstraintValidator { +public class KnownHostsFileValidator + implements ConstraintValidator { @Override public void initialize(KnownHostsFileIsValid knownHostsFileIsValid) { @@ -45,8 +45,7 @@ public class KnownHostsFileValidator implements } @Override - public boolean isValid(MultipleJGitEnvironmentProperties sshUriProperties, - ConstraintValidatorContext context) { + public boolean isValid(MultipleJGitEnvironmentProperties sshUriProperties, ConstraintValidatorContext context) { String knownHostsFile = sshUriProperties.getKnownHostsFile(); if (knownHostsFile != null && !new File(knownHostsFile).exists()) { context.disableDefaultConstraintViolation(); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PrivateKeyValidator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PrivateKeyValidator.java index 43f7a442..da26e4b0 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PrivateKeyValidator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PrivateKeyValidator.java @@ -45,8 +45,7 @@ import static org.springframework.util.StringUtils.hasText; * * @author Ollie Hughes */ -public class PrivateKeyValidator implements - ConstraintValidator { +public class PrivateKeyValidator implements ConstraintValidator { private static final String GIT_PROPERTY_PREFIX = "spring.cloud.config.server.git."; @@ -58,16 +57,14 @@ public class PrivateKeyValidator implements } @Override - public boolean isValid(MultipleJGitEnvironmentProperties sshUriProperties, - ConstraintValidatorContext context) { + public boolean isValid(MultipleJGitEnvironmentProperties sshUriProperties, ConstraintValidatorContext context) { context.disableDefaultConstraintViolation(); Set validationResults = new HashSet<>(); List extractedProperties = this.sshPropertyValidator .extractRepoProperties(sshUriProperties); for (JGitEnvironmentProperties extractedProperty : extractedProperties) { - if (extractedProperty.isIgnoreLocalSshSettings() - && isSshUri(extractedProperty.getUri())) { + if (extractedProperty.isIgnoreLocalSshSettings() && isSshUri(extractedProperty.getUri())) { validationResults.add(isPrivateKeyPresent(extractedProperty, context) && isPrivateKeyFormatCorrect(extractedProperty, context)); } @@ -79,9 +76,10 @@ public class PrivateKeyValidator implements private boolean isPrivateKeyPresent(JGitEnvironmentProperties sshUriProperties, ConstraintValidatorContext context) { if (!hasText(sshUriProperties.getPrivateKey())) { - context.buildConstraintViolationWithTemplate(format( - "Property '%sprivateKey' must be set when '%signoreLocalSshSettings' is specified", - GIT_PROPERTY_PREFIX, GIT_PROPERTY_PREFIX)).addConstraintViolation(); + context.buildConstraintViolationWithTemplate( + format("Property '%sprivateKey' must be set when '%signoreLocalSshSettings' is specified", + GIT_PROPERTY_PREFIX, GIT_PROPERTY_PREFIX)) + .addConstraintViolation(); return false; } return true; @@ -95,8 +93,7 @@ public class PrivateKeyValidator implements } catch (JSchException e) { context.buildConstraintViolationWithTemplate( - format("Property '%sprivateKey' is not a valid private key", - GIT_PROPERTY_PREFIX)) + format("Property '%sprivateKey' is not a valid private key", GIT_PROPERTY_PREFIX)) .addConstraintViolation(); return false; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PropertiesBasedSshTransportConfigCallback.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PropertiesBasedSshTransportConfigCallback.java index ff1f019c..87daaeae 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PropertiesBasedSshTransportConfigCallback.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PropertiesBasedSshTransportConfigCallback.java @@ -29,13 +29,11 @@ import org.springframework.cloud.config.server.environment.MultipleJGitEnvironme * * @author Dylan Roberts */ -public class PropertiesBasedSshTransportConfigCallback - implements TransportConfigCallback { +public class PropertiesBasedSshTransportConfigCallback implements TransportConfigCallback { private MultipleJGitEnvironmentProperties sshUriProperties; - public PropertiesBasedSshTransportConfigCallback( - MultipleJGitEnvironmentProperties sshUriProperties) { + public PropertiesBasedSshTransportConfigCallback(MultipleJGitEnvironmentProperties sshUriProperties) { this.sshUriProperties = sshUriProperties; } @@ -48,9 +46,7 @@ public class PropertiesBasedSshTransportConfigCallback if (transport instanceof SshTransport) { SshTransport sshTransport = (SshTransport) transport; sshTransport.setSshSessionFactory(new PropertyBasedSshSessionFactory( - new SshUriPropertyProcessor(this.sshUriProperties) - .getSshKeysByHostname(), - new JSch())); + new SshUriPropertyProcessor(this.sshUriProperties).getSshKeysByHostname(), new JSch())); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PropertyBasedSshSessionFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PropertyBasedSshSessionFactory.java index c7aba8c3..56cfc91d 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PropertyBasedSshSessionFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/PropertyBasedSshSessionFactory.java @@ -55,22 +55,19 @@ public class PropertyBasedSshSessionFactory extends JschConfigSessionFactory { private final JSch jSch; - public PropertyBasedSshSessionFactory( - Map sshKeysByHostname, JSch jSch) { + public PropertyBasedSshSessionFactory(Map sshKeysByHostname, JSch jSch) { this.sshKeysByHostname = sshKeysByHostname; this.jSch = jSch; } @Override protected void configure(Host hc, Session session) { - JGitEnvironmentProperties sshProperties = this.sshKeysByHostname - .get(hc.getHostName()); + JGitEnvironmentProperties sshProperties = this.sshKeysByHostname.get(hc.getHostName()); String hostKeyAlgorithm = sshProperties.getHostKeyAlgorithm(); if (hostKeyAlgorithm != null) { session.setConfig(SERVER_HOST_KEY, hostKeyAlgorithm); } - if (sshProperties.getHostKey() == null - || !sshProperties.isStrictHostKeyChecking()) { + if (sshProperties.getHostKey() == null || !sshProperties.isStrictHostKeyChecking()) { session.setConfig(STRICT_HOST_KEY_CHECKING, NO_OPTION); } else { @@ -81,34 +78,28 @@ public class PropertyBasedSshSessionFactory extends JschConfigSessionFactory { session.setConfig(PREFERRED_AUTHENTICATIONS, preferredAuthentications); } - ProxyHostProperties proxyHostProperties = sshProperties.getProxy() - .get(ProxyHostProperties.ProxyForScheme.HTTP); + ProxyHostProperties proxyHostProperties = sshProperties.getProxy().get(ProxyHostProperties.ProxyForScheme.HTTP); if (proxyHostProperties != null) { ProxyHTTP proxy = createProxy(proxyHostProperties); - proxy.setUserPasswd(proxyHostProperties.getUsername(), - proxyHostProperties.getPassword()); + proxy.setUserPasswd(proxyHostProperties.getUsername(), proxyHostProperties.getPassword()); session.setProxy(proxy); } } protected ProxyHTTP createProxy(ProxyHostProperties proxyHostProperties) { - return new ProxyHTTP(proxyHostProperties.getHost(), - proxyHostProperties.getPort()); + return new ProxyHTTP(proxyHostProperties.getHost(), proxyHostProperties.getPort()); } @Override - protected Session createSession(Host hc, String user, String host, int port, FS fs) - throws JSchException { + protected Session createSession(Host hc, String user, String host, int port, FS fs) throws JSchException { if (this.sshKeysByHostname.containsKey(host)) { JGitEnvironmentProperties sshUriProperties = this.sshKeysByHostname.get(host); - this.jSch.addIdentity(host, sshUriProperties.getPrivateKey().getBytes(), null, - null); + this.jSch.addIdentity(host, sshUriProperties.getPrivateKey().getBytes(), null, null); if (sshUriProperties.getKnownHostsFile() != null) { this.jSch.setKnownHosts(sshUriProperties.getKnownHostsFile()); } if (sshUriProperties.getHostKey() != null) { - HostKey hostkey = new HostKey(host, - Base64.decode(sshUriProperties.getHostKey())); + HostKey hostkey = new HostKey(host, Base64.decode(sshUriProperties.getHostKey())); this.jSch.getHostKeyRepository().add(hostkey, null); } return this.jSch.getSession(user, host, port); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/SshPropertyValidator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/SshPropertyValidator.java index 9bcb980c..1e68dbfa 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/SshPropertyValidator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ssh/SshPropertyValidator.java @@ -44,8 +44,7 @@ public class SshPropertyValidator { try { URIish urIish = new URIish(uri.toString()); String scheme = urIish.getScheme(); - if (scheme == null && hasText(urIish.getHost()) - && hasText(urIish.getUser())) { + if (scheme == null && hasText(urIish.getHost()) && hasText(urIish.getUser())) { // JGit returns null if using SCP URI but user and host will be // populated return true; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/AbstractScmAccessor.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/AbstractScmAccessor.java index f92e506d..8e279c7e 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/AbstractScmAccessor.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/AbstractScmAccessor.java @@ -91,11 +91,9 @@ public abstract class AbstractScmAccessor implements ResourceLoaderAware { this.basedir = createBaseDir(); } - public AbstractScmAccessor(ConfigurableEnvironment environment, - AbstractScmAccessorProperties properties) { + public AbstractScmAccessor(ConfigurableEnvironment environment, AbstractScmAccessorProperties properties) { this.environment = environment; - this.setBasedir(properties.getBasedir() == null ? createBaseDir() - : properties.getBasedir()); + this.setBasedir(properties.getBasedir() == null ? createBaseDir() : properties.getBasedir()); this.passphrase = properties.getPassphrase(); this.password = properties.getPassword(); this.searchPaths = properties.getSearchPaths(); @@ -119,8 +117,7 @@ public abstract class AbstractScmAccessor implements ResourceLoaderAware { FileSystemUtils.deleteRecursively(basedir); } catch (IOException e) { - AbstractScmAccessor.this.logger.warn( - "Failed to delete temporary directory on exit: " + e); + AbstractScmAccessor.this.logger.warn("Failed to delete temporary directory on exit: " + e); } } }); @@ -209,22 +206,19 @@ public abstract class AbstractScmAccessor implements ResourceLoaderAware { return new UrlResource(StringUtils.cleanPath(this.uri)).getFile(); } catch (Exception e) { - throw new IllegalStateException( - "Cannot convert uri to file: " + this.uri); + throw new IllegalStateException("Cannot convert uri to file: " + this.uri); } } return this.basedir; } - protected String[] getSearchLocations(File dir, String application, String profile, - String label) { + protected String[] getSearchLocations(File dir, String application, String profile, String label) { String[] locations = this.searchPaths; if (locations == null || locations.length == 0) { locations = AbstractScmAccessorProperties.DEFAULT_LOCATIONS; } else if (locations != AbstractScmAccessorProperties.DEFAULT_LOCATIONS) { - locations = StringUtils.concatenateStringArrays( - AbstractScmAccessorProperties.DEFAULT_LOCATIONS, locations); + locations = StringUtils.concatenateStringArrays(AbstractScmAccessorProperties.DEFAULT_LOCATIONS, locations); } Collection output = new LinkedHashSet(); for (String location : locations) { @@ -261,8 +255,7 @@ public abstract class AbstractScmAccessor implements ResourceLoaderAware { private List matchingDirectories(File dir, String value) { List output = new ArrayList(); try { - PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver( - this.resourceLoader); + PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(this.resourceLoader); String path = new File(dir, value).toURI().toString(); for (Resource resource : resolver.getResources(path)) { if (resource.getFile().isDirectory()) { diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/AwsCodeCommitCredentialProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/AwsCodeCommitCredentialProvider.java index fe88795e..88b972ed 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/AwsCodeCommitCredentialProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/AwsCodeCommitCredentialProvider.java @@ -118,13 +118,11 @@ public class AwsCodeCommitCredentialProvider extends CredentialsProvider { String codeCommitPassword; try { StringBuilder stringToSign = new StringBuilder(); - stringToSign.append("AWS4-HMAC-SHA256\n").append(dateStamp).append("\n") - .append(shortDateStamp).append("/").append(region) - .append("/codecommit/aws4_request\n") + stringToSign.append("AWS4-HMAC-SHA256\n").append(dateStamp).append("\n").append(shortDateStamp).append("/") + .append(region).append("/codecommit/aws4_request\n") .append(bytesToHexString(canonicalRequestDigest(uri))); - byte[] signedRequest = sign(awsSecretKey, shortDateStamp, region, - stringToSign.toString()); + byte[] signedRequest = sign(awsSecretKey, shortDateStamp, region, stringToSign.toString()); codeCommitPassword = dateStamp + "Z" + bytesToHexString(signedRequest); } catch (Exception e) { @@ -141,8 +139,7 @@ public class AwsCodeCommitCredentialProvider extends CredentialsProvider { return mac.doFinal(data.getBytes(UTF8)); } - private static byte[] sign(String secret, String shortDateStamp, String region, - String toSign) throws Exception { + private static byte[] sign(String secret, String shortDateStamp, String region, String toSign) throws Exception { byte[] kSecret = ("AWS4" + secret).getBytes(UTF8); byte[] kDate = hmacSha256(shortDateStamp, kSecret); byte[] kRegion = hmacSha256(region, kDate); @@ -157,8 +154,7 @@ public class AwsCodeCommitCredentialProvider extends CredentialsProvider { * @return a message digest * @throws NoSuchAlgorithmException when the SHA 256 algorithm is not found */ - private static byte[] canonicalRequestDigest(URIish uri) - throws NoSuchAlgorithmException { + private static byte[] canonicalRequestDigest(URIish uri) throws NoSuchAlgorithmException { StringBuilder canonicalRequest = new StringBuilder(); canonicalRequest.append("GIT\n") // codecommit uses GIT as the request method .append(uri.getPath()).append("\n") // URI request path @@ -207,12 +203,11 @@ public class AwsCodeCommitCredentialProvider extends CredentialsProvider { try { URL url = new URL(uri); - URI u = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), - url.getPort(), url.getPath(), url.getQuery(), url.getRef()); + URI u = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), + url.getQuery(), url.getRef()); if (u.getScheme().equals("https")) { String host = u.getHost(); - if (host.endsWith(".amazonaws.com") - && host.startsWith("git-codecommit.")) { + if (host.endsWith(".amazonaws.com") && host.startsWith("git-codecommit.")) { return true; } } @@ -282,8 +277,7 @@ public class AwsCodeCommitCredentialProvider extends CredentialsProvider { * org.eclipse.jgit.transport.CredentialItem[]) */ @Override - public boolean get(URIish uri, CredentialItem... items) - throws UnsupportedCredentialItem { + public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem { String codeCommitPassword; String awsAccessKey; String awsSecretKey; @@ -323,14 +317,12 @@ public class AwsCodeCommitCredentialProvider extends CredentialsProvider { this.logger.trace("Returning password " + codeCommitPassword); continue; } - if (i instanceof CredentialItem.StringType - && i.getPromptText().equals("Password: ")) { //$NON-NLS-1$ + if (i instanceof CredentialItem.StringType && i.getPromptText().equals("Password: ")) { //$NON-NLS-1$ ((CredentialItem.StringType) i).setValue(codeCommitPassword); this.logger.trace("Returning password string " + codeCommitPassword); continue; } - throw new UnsupportedCredentialItem(uri, - i.getClass().getName() + ":" + i.getPromptText()); //$NON-NLS-1$ + throw new UnsupportedCredentialItem(uri, i.getClass().getName() + ":" + i.getPromptText()); //$NON-NLS-1$ } return true; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/EnvironmentPropertySource.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/EnvironmentPropertySource.java index 2964b65a..6b0c0777 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/EnvironmentPropertySource.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/EnvironmentPropertySource.java @@ -29,8 +29,7 @@ import org.springframework.core.env.StandardEnvironment; public class EnvironmentPropertySource extends PropertySource { // "\${" (from text) or "\\${" from JSON to signal escaped placeholder - private static final Pattern ESCAPED_PLACEHOLDERS = Pattern - .compile("[\\\\]{1,2}\\$\\{"); + private static final Pattern ESCAPED_PLACEHOLDERS = Pattern.compile("[\\\\]{1,2}\\$\\{"); public EnvironmentPropertySource(Environment sources) { super("cloudEnvironment", sources); @@ -38,17 +37,13 @@ public class EnvironmentPropertySource extends PropertySource { public static StandardEnvironment prepareEnvironment(Environment environment) { StandardEnvironment standardEnvironment = new StandardEnvironment(); - standardEnvironment.getPropertySources() - .remove(StandardEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME); - standardEnvironment.getPropertySources() - .remove(StandardEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME); - standardEnvironment.getPropertySources() - .addFirst(new EnvironmentPropertySource(environment)); + standardEnvironment.getPropertySources().remove(StandardEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME); + standardEnvironment.getPropertySources().remove(StandardEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME); + standardEnvironment.getPropertySources().addFirst(new EnvironmentPropertySource(environment)); return standardEnvironment; } - public static String resolvePlaceholders(StandardEnvironment preparedEnvironment, - String text) { + public static String resolvePlaceholders(StandardEnvironment preparedEnvironment, String text) { // Mask out escaped placeholders text = ESCAPED_PLACEHOLDERS.matcher(text).replaceAll("\\$_{"); return preparedEnvironment.resolvePlaceholders(text).replace("$_{", "${"); @@ -56,8 +51,7 @@ public class EnvironmentPropertySource extends PropertySource { @Override public Object getProperty(String name) { - for (org.springframework.cloud.config.environment.PropertySource source : getSource() - .getPropertySources()) { + for (org.springframework.cloud.config.environment.PropertySource source : getSource().getPropertySources()) { Map map = source.getSource(); if (map.containsKey(name)) { return map.get(name); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GitCredentialsProviderFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GitCredentialsProviderFactory.java index 4a9d3dc9..d31a6e31 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GitCredentialsProviderFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GitCredentialsProviderFactory.java @@ -57,8 +57,7 @@ public class GitCredentialsProviderFactory { * {@link #createFor(String, String, String, String, boolean)} */ @Deprecated - public CredentialsProvider createFor(String uri, String username, String password, - String passphrase) { + public CredentialsProvider createFor(String uri, String username, String password, String passphrase) { return createFor(uri, username, password, passphrase, false); } @@ -79,33 +78,27 @@ public class GitCredentialsProviderFactory { * @param skipSslValidation whether to skip SSL validation when connecting via HTTPS * @return the first matched credentials provider or the default or null. */ - public CredentialsProvider createFor(String uri, String username, String password, - String passphrase, boolean skipSslValidation) { + public CredentialsProvider createFor(String uri, String username, String password, String passphrase, + boolean skipSslValidation) { CredentialsProvider provider = null; if (awsAvailable() && AwsCodeCommitCredentialProvider.canHandle(uri)) { - this.logger - .debug("Constructing AwsCodeCommitCredentialProvider for URI " + uri); + this.logger.debug("Constructing AwsCodeCommitCredentialProvider for URI " + uri); AwsCodeCommitCredentialProvider aws = new AwsCodeCommitCredentialProvider(); aws.setUsername(username); aws.setPassword(password); provider = aws; } else if (hasText(username)) { - this.logger.debug( - "Constructing UsernamePasswordCredentialsProvider for URI " + uri); - provider = new UsernamePasswordCredentialsProvider(username, - password.toCharArray()); + this.logger.debug("Constructing UsernamePasswordCredentialsProvider for URI " + uri); + provider = new UsernamePasswordCredentialsProvider(username, password.toCharArray()); } else if (hasText(passphrase)) { - this.logger - .debug("Constructing PassphraseCredentialsProvider for URI " + uri); + this.logger.debug("Constructing PassphraseCredentialsProvider for URI " + uri); provider = new PassphraseCredentialsProvider(passphrase); } if (skipSslValidation && GitSkipSslValidationCredentialsProvider.canHandle(uri)) { - this.logger - .debug("Constructing GitSkipSslValidationCredentialsProvider for URI " - + uri); + this.logger.debug("Constructing GitSkipSslValidationCredentialsProvider for URI " + uri); provider = new GitSkipSslValidationCredentialsProvider(provider); } @@ -122,8 +115,8 @@ public class GitCredentialsProviderFactory { * present, false otherwise. */ private boolean awsAvailable() { - return this.awsCodeCommitEnabled && ClassUtils - .isPresent("com.amazonaws.auth.DefaultAWSCredentialsProviderChain", null); + return this.awsCodeCommitEnabled + && ClassUtils.isPresent("com.amazonaws.auth.DefaultAWSCredentialsProviderChain", null); } /** diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GitSkipSslValidationCredentialsProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GitSkipSslValidationCredentialsProvider.java index 7b6974eb..1f6bc974 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GitSkipSslValidationCredentialsProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GitSkipSslValidationCredentialsProvider.java @@ -39,8 +39,7 @@ import org.eclipse.jgit.transport.URIish; */ public class GitSkipSslValidationCredentialsProvider extends CredentialsProvider { - private static final Pattern FORMAT_PLACEHOLDER_PATTERN = Pattern - .compile("\\s*\\{\\d}\\s*"); + private static final Pattern FORMAT_PLACEHOLDER_PATTERN = Pattern.compile("\\s*\\{\\d}\\s*"); private final CredentialsProvider delegate; @@ -71,32 +70,28 @@ public class GitSkipSslValidationCredentialsProvider extends CredentialsProvider List unprocessedItems = new ArrayList<>(); for (CredentialItem item : items) { - if (item instanceof CredentialItem.InformationalMessage - && item.getPromptText() != null && item.getPromptText() - .contains(JGitText.get().sslFailureTrustExplanation)) { + if (item instanceof CredentialItem.InformationalMessage && item.getPromptText() != null + && item.getPromptText().contains(JGitText.get().sslFailureTrustExplanation)) { continue; } if (item instanceof CredentialItem.YesNoType && item.getPromptText() != null && (item.getPromptText().equals(JGitText.get().sslTrustNow) || item.getPromptText() - .startsWith(stripFormattingPlaceholders( - JGitText.get().sslTrustForRepo)) - || item.getPromptText() - .equals(JGitText.get().sslTrustAlways))) { + .startsWith(stripFormattingPlaceholders(JGitText.get().sslTrustForRepo)) + || item.getPromptText().equals(JGitText.get().sslTrustAlways))) { continue; } unprocessedItems.add(item); } - return unprocessedItems.isEmpty() || (this.delegate != null && this.delegate - .supports(unprocessedItems.toArray(new CredentialItem[0]))); + return unprocessedItems.isEmpty() + || (this.delegate != null && this.delegate.supports(unprocessedItems.toArray(new CredentialItem[0]))); } @Override - public boolean get(URIish uri, CredentialItem... items) - throws UnsupportedCredentialItem { + public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem { List unprocessedItems = new ArrayList<>(); for (CredentialItem item : items) { @@ -106,8 +101,8 @@ public class GitSkipSslValidationCredentialsProvider extends CredentialsProvider if (prompt == null) { unprocessedItems.add(item); } - else if (prompt.equals(JGitText.get().sslTrustNow) || prompt.startsWith( - stripFormattingPlaceholders(JGitText.get().sslTrustForRepo))) { + else if (prompt.equals(JGitText.get().sslTrustNow) + || prompt.startsWith(stripFormattingPlaceholders(JGitText.get().sslTrustForRepo))) { yesNoItem.setValue(true); } else if (prompt.equals(JGitText.get().sslTrustAlways)) { @@ -117,8 +112,7 @@ public class GitSkipSslValidationCredentialsProvider extends CredentialsProvider unprocessedItems.add(item); } } - else if (!item.getPromptText() - .contains(JGitText.get().sslFailureTrustExplanation)) { + else if (!item.getPromptText().contains(JGitText.get().sslFailureTrustExplanation)) { unprocessedItems.add(item); } } @@ -127,11 +121,9 @@ public class GitSkipSslValidationCredentialsProvider extends CredentialsProvider return true; } if (this.delegate != null) { - return this.delegate.get(uri, - unprocessedItems.toArray(new CredentialItem[0])); + return this.delegate.get(uri, unprocessedItems.toArray(new CredentialItem[0])); } - throw new UnsupportedCredentialItem(uri, - unprocessedItems.size() + " credential items not supported"); + throw new UnsupportedCredentialItem(uri, unprocessedItems.size() + " credential items not supported"); } @Override diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GoogleCloudSourceSupport.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GoogleCloudSourceSupport.java index f0bd5115..3f18a961 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GoogleCloudSourceSupport.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/GoogleCloudSourceSupport.java @@ -65,17 +65,14 @@ public final class GoogleCloudSourceSupport { // This is why GoogleCloudSourceSupport is the optional bean, which can provide // the TransportConfigCallback on request. TransportConfigCallback createTransportConfigCallback() { - return new GCSTransportConfigCallback( - new ApplicationDefaultCredentialsProvider()); + return new GCSTransportConfigCallback(new ApplicationDefaultCredentialsProvider()); } - TransportConfigCallback createTransportConfigCallback( - CredentialsProvider credentialsProvider) { + TransportConfigCallback createTransportConfigCallback(CredentialsProvider credentialsProvider) { return new GCSTransportConfigCallback(credentialsProvider); } - private static final class GCSTransportConfigCallback - implements TransportConfigCallback { + private static final class GCSTransportConfigCallback implements TransportConfigCallback { private static final String GOOGLE_CLOUD_SOURCE_HOST = "source.developers.google.com"; @@ -88,8 +85,7 @@ public final class GoogleCloudSourceSupport { @Override public void configure(Transport transport) { if (transport instanceof TransportHttp && canHandle(transport.getURI())) { - addHeaders((TransportHttp) transport, - credentialsProvider.getAuthorizationHeaders()); + addHeaders((TransportHttp) transport, credentialsProvider.getAuthorizationHeaders()); } } @@ -118,14 +114,12 @@ public final class GoogleCloudSourceSupport { } - private static class ApplicationDefaultCredentialsProvider - implements CredentialsProvider { + private static class ApplicationDefaultCredentialsProvider implements CredentialsProvider { @Override public Map getAuthorizationHeaders() { try { - return GoogleCredentials.getApplicationDefault().getRequestMetadata() - .entrySet().stream() + return GoogleCredentials.getApplicationDefault().getRequestMetadata().entrySet().stream() .collect(toMap(Entry::getKey, this::joinValues)); } catch (IOException ex) { diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/HttpClientSupport.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/HttpClientSupport.java index 4e7b33e8..35195109 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/HttpClientSupport.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/HttpClientSupport.java @@ -41,8 +41,7 @@ public final class HttpClientSupport { throw new IllegalStateException("Can't instantiate a utility class"); } - public static HttpClientBuilder builder( - HttpEnvironmentRepositoryProperties environmentProperties) + public static HttpClientBuilder builder(HttpEnvironmentRepositoryProperties environmentProperties) throws GeneralSecurityException { SSLContextBuilder sslContextBuilder = new SSLContextBuilder(); HttpClientBuilder httpClientBuilder = HttpClients.custom(); @@ -58,22 +57,17 @@ public final class HttpClientSupport { ProxyHostProperties httpProxy = environmentProperties.getProxy() .get(ProxyHostProperties.ProxyForScheme.HTTP); - httpClientBuilder - .setRoutePlanner(new SchemeBasedRoutePlanner(httpsProxy, httpProxy)); - httpClientBuilder.setDefaultCredentialsProvider( - new ProxyHostCredentialsProvider(httpProxy, httpsProxy)); + httpClientBuilder.setRoutePlanner(new SchemeBasedRoutePlanner(httpsProxy, httpProxy)); + httpClientBuilder.setDefaultCredentialsProvider(new ProxyHostCredentialsProvider(httpProxy, httpsProxy)); } else { - httpClientBuilder.setRoutePlanner( - new SystemDefaultRoutePlanner(ProxySelector.getDefault())); - httpClientBuilder.setDefaultCredentialsProvider( - new SystemDefaultCredentialsProvider()); + httpClientBuilder.setRoutePlanner(new SystemDefaultRoutePlanner(ProxySelector.getDefault())); + httpClientBuilder.setDefaultCredentialsProvider(new SystemDefaultCredentialsProvider()); } int timeout = environmentProperties.getTimeout() * 1000; - return httpClientBuilder.setSSLContext(sslContextBuilder.build()) - .setDefaultRequestConfig(RequestConfig.custom().setSocketTimeout(timeout) - .setConnectTimeout(timeout).build()); + return httpClientBuilder.setSSLContext(sslContextBuilder.build()).setDefaultRequestConfig( + RequestConfig.custom().setSocketTimeout(timeout).setConnectTimeout(timeout).build()); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/HttpEnvironmentRepositoryProperties.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/HttpEnvironmentRepositoryProperties.java index 082ffb2d..8b5c26e8 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/HttpEnvironmentRepositoryProperties.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/HttpEnvironmentRepositoryProperties.java @@ -23,8 +23,7 @@ import org.springframework.cloud.config.server.proxy.ProxyHostProperties; /** * @author Dylan Roberts */ -public interface HttpEnvironmentRepositoryProperties - extends EnvironmentRepositoryProperties { +public interface HttpEnvironmentRepositoryProperties extends EnvironmentRepositoryProperties { Map getProxy(); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/PassphraseCredentialsProvider.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/PassphraseCredentialsProvider.java index 6955f379..fc959cd8 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/PassphraseCredentialsProvider.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/PassphraseCredentialsProvider.java @@ -58,8 +58,7 @@ public class PassphraseCredentialsProvider extends CredentialsProvider { @Override public boolean supports(CredentialItem... items) { for (final CredentialItem item : items) { - if (item instanceof CredentialItem.StringType - && item.getPromptText().startsWith(PROMPT)) { + if (item instanceof CredentialItem.StringType && item.getPromptText().startsWith(PROMPT)) { continue; } else { @@ -79,16 +78,13 @@ public class PassphraseCredentialsProvider extends CredentialsProvider { * @throws UnsupportedCredentialItem if one of the items supplied is not supported. */ @Override - public boolean get(URIish uri, CredentialItem... items) - throws UnsupportedCredentialItem { + public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem { for (final CredentialItem item : items) { - if (item instanceof CredentialItem.StringType - && item.getPromptText().startsWith(PROMPT)) { + if (item instanceof CredentialItem.StringType && item.getPromptText().startsWith(PROMPT)) { ((CredentialItem.StringType) item).setValue(this.passphrase); continue; } - throw new UnsupportedCredentialItem(uri, - item.getClass().getName() + ":" + item.getPromptText()); + throw new UnsupportedCredentialItem(uri, item.getClass().getName() + ":" + item.getPromptText()); } return true; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/PathUtils.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/PathUtils.java index 3102aad3..ed065f22 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/PathUtils.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/PathUtils.java @@ -194,16 +194,14 @@ public abstract class PathUtils { String relativePath = (path.charAt(0) == '/' ? path.substring(1) : path); if (ResourceUtils.isUrl(relativePath) || relativePath.startsWith("url:")) { if (logger.isWarnEnabled()) { - logger.warn( - "Path represents URL or has \"url:\" prefix: [" + path + "]"); + logger.warn("Path represents URL or has \"url:\" prefix: [" + path + "]"); } return true; } } if (path.contains("..") && StringUtils.cleanPath(path).contains("../")) { if (logger.isWarnEnabled()) { - logger.warn("Path contains \"../\" after call to StringUtils#cleanPath: [" - + path + "]"); + logger.warn("Path contains \"../\" after call to StringUtils#cleanPath: [" + path + "]"); } return true; } @@ -222,8 +220,8 @@ public abstract class PathUtils { * @throws IOException if Resource URLS fail to parse. * @since 4.1.2 */ - public static boolean checkResource(Resource resource, Resource location, - List allowedLocations) throws IOException { + public static boolean checkResource(Resource resource, Resource location, List allowedLocations) + throws IOException { if (isResourceUnderLocation(resource, location)) { return true; } @@ -235,18 +233,15 @@ public abstract class PathUtils { } } if (logger.isWarnEnabled()) { - logger.warn("Resource path \"" + location.getURI() - + "\" was successfully resolved " + "but resource \"" - + resource.getURL() + "\" is neither under the " - + "current location \"" + location.getURL() + logger.warn("Resource path \"" + location.getURI() + "\" was successfully resolved " + "but resource \"" + + resource.getURL() + "\" is neither under the " + "current location \"" + location.getURL() + "\" nor under any of the " + "allowed locations " + (allowedLocations != null ? allowedLocations : "[]")); } return false; } - private static boolean isResourceUnderLocation(Resource resource, Resource location) - throws IOException { + private static boolean isResourceUnderLocation(Resource resource, Resource location) throws IOException { if (resource.getClass() != location.getClass()) { return false; } @@ -260,8 +255,7 @@ public abstract class PathUtils { } else if (resource instanceof ClassPathResource) { resourcePath = ((ClassPathResource) resource).getPath(); - locationPath = StringUtils - .cleanPath(((ClassPathResource) location).getPath()); + locationPath = StringUtils.cleanPath(((ClassPathResource) location).getPath()); } else { resourcePath = resource.getURL().getPath(); @@ -271,10 +265,8 @@ public abstract class PathUtils { if (locationPath.equals(resourcePath)) { return true; } - locationPath = (locationPath.endsWith("/") || locationPath.isEmpty() - ? locationPath : locationPath + "/"); - return (resourcePath.startsWith(locationPath) - && !isInvalidEncodedPath(resourcePath)); + locationPath = (locationPath.endsWith("/") || locationPath.isEmpty() ? locationPath : locationPath + "/"); + return (resourcePath.startsWith(locationPath) && !isInvalidEncodedPath(resourcePath)); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/TransportConfigCallbackFactory.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/TransportConfigCallbackFactory.java index 3fe4f6c7..f98ac3c6 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/TransportConfigCallbackFactory.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/TransportConfigCallbackFactory.java @@ -32,16 +32,14 @@ public class TransportConfigCallbackFactory { @Nullable private final GoogleCloudSourceSupport googleCloudSourceSupport; - public TransportConfigCallbackFactory( - TransportConfigCallback customTransportConfigCallback, + public TransportConfigCallbackFactory(TransportConfigCallback customTransportConfigCallback, GoogleCloudSourceSupport googleCloudSourceSupport) { this.customTransportConfigCallback = customTransportConfigCallback; this.googleCloudSourceSupport = googleCloudSourceSupport; } - public TransportConfigCallback build( - MultipleJGitEnvironmentProperties environmentProperties) { + public TransportConfigCallback build(MultipleJGitEnvironmentProperties environmentProperties) { // customTransportConfigCallback has the highest priority. If someone put // a TransportConfigCallback bean in to the Spring context, we use it for @@ -68,8 +66,7 @@ public class TransportConfigCallbackFactory { MultipleJGitEnvironmentProperties gitEnvironmentProperties) { if (gitEnvironmentProperties.isIgnoreLocalSshSettings()) { - return new PropertiesBasedSshTransportConfigCallback( - gitEnvironmentProperties); + return new PropertiesBasedSshTransportConfigCallback(gitEnvironmentProperties); } return new FileBasedSshTransportConfigCallback(gitEnvironmentProperties); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AdhocTestSuite.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AdhocTestSuite.java index 22c33c70..0c434be3 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AdhocTestSuite.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AdhocTestSuite.java @@ -63,43 +63,29 @@ import org.springframework.cloud.config.server.ssh.SshUriPropertyProcessorTest; * @author Dave Syer */ @RunWith(Suite.class) -@SuiteClasses({ NativeConfigServerIntegrationTests.class, - GenericResourceRepositoryTests.class, ResourceControllerTests.class, - ResourceControllerIntegrationTests.class, ConfigClientOnIntegrationTests.class, +@SuiteClasses({ NativeConfigServerIntegrationTests.class, GenericResourceRepositoryTests.class, + ResourceControllerTests.class, ResourceControllerIntegrationTests.class, ConfigClientOnIntegrationTests.class, ConfigServerApplicationTests.class, VanillaConfigServerIntegrationTests.class, - EnvironmentControllerIntegrationTests.class, - MultipleJGitEnvironmentRepositoryIntegrationTests.class, - EnvironmentEncryptorEnvironmentRepositoryTests.class, - EnvironmentControllerTests.class, + EnvironmentControllerIntegrationTests.class, MultipleJGitEnvironmentRepositoryIntegrationTests.class, + EnvironmentEncryptorEnvironmentRepositoryTests.class, EnvironmentControllerTests.class, SVNKitEnvironmentRepositoryIntegrationTests.class, - MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests.class, - JdbcEnvironmentRepositoryTests.class, CompositeEnvironmentRepositoryTests.class, - JGitEnvironmentRepositoryConcurrencyTests.class, + MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests.class, JdbcEnvironmentRepositoryTests.class, + CompositeEnvironmentRepositoryTests.class, JGitEnvironmentRepositoryConcurrencyTests.class, NativeEnvironmentRepositoryTests.class, JGitEnvironmentRepositoryTests.class, SVNKitEnvironmentRepositoryTests.class, VaultEnvironmentRepositoryTests.class, - MultipleJGitEnvironmentRepositoryTests.class, - JGitEnvironmentRepositoryIntegrationTests.class, + MultipleJGitEnvironmentRepositoryTests.class, JGitEnvironmentRepositoryIntegrationTests.class, MultipleJGitEnvironmentProfilePlaceholderRepositoryTests.class, - MultipleJGitEnvironmentLabelPlaceholderRepositoryTests.class, - GitCredentialsProviderFactoryTests.class, - AwsCodeCommitCredentialsProviderTests.class, - TransportConfigurationIntegrationTests.FileBasedCallbackTest.class, - ConfigClientOffIntegrationTests.class, - TransportConfigurationIntegrationTests.PropertyBasedCallbackTest.class, - EncryptionControllerMultiTextEncryptorTests.class, - CipherEnvironmentEncryptorTests.class, + MultipleJGitEnvironmentLabelPlaceholderRepositoryTests.class, GitCredentialsProviderFactoryTests.class, + AwsCodeCommitCredentialsProviderTests.class, TransportConfigurationIntegrationTests.FileBasedCallbackTest.class, + ConfigClientOffIntegrationTests.class, TransportConfigurationIntegrationTests.PropertyBasedCallbackTest.class, + EncryptionControllerMultiTextEncryptorTests.class, CipherEnvironmentEncryptorTests.class, EncryptionIntegrationTests.BootstrapConfigSymmetricEncryptionIntegrationTests.class, - EncryptionControllerTests.class, - EncryptionIntegrationTests.ConfigSymmetricEncryptionIntegrationTests.class, - EncryptionIntegrationTests.KeystoreConfigurationIntegrationTests.class, - KeyStoreTextEncryptorLocatorTests.class, EnvironmentPrefixHelperTests.class, - SshUriPropertyProcessorTest.class, PropertyBasedSshSessionFactoryTest.class, - SshPropertyValidatorTest.class, CompositeIntegrationTests.class, - SubversionConfigServerIntegrationTests.class, - ConfigServerHealthIndicatorTests.class, - CustomCompositeEnvironmentRepositoryTests.class, - CustomEnvironmentRepositoryTests.class, - BootstrapConfigServerIntegrationTests.class, + EncryptionControllerTests.class, EncryptionIntegrationTests.ConfigSymmetricEncryptionIntegrationTests.class, + EncryptionIntegrationTests.KeystoreConfigurationIntegrationTests.class, KeyStoreTextEncryptorLocatorTests.class, + EnvironmentPrefixHelperTests.class, SshUriPropertyProcessorTest.class, PropertyBasedSshSessionFactoryTest.class, + SshPropertyValidatorTest.class, CompositeIntegrationTests.class, SubversionConfigServerIntegrationTests.class, + ConfigServerHealthIndicatorTests.class, CustomCompositeEnvironmentRepositoryTests.class, + CustomEnvironmentRepositoryTests.class, BootstrapConfigServerIntegrationTests.class, AwsS3EnvironmentRepositoryTests.class }) @Ignore public class AdhocTestSuite { diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/BootstrapConfigServerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/BootstrapConfigServerIntegrationTests.java index 84866afd..d8a0e681 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/BootstrapConfigServerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/BootstrapConfigServerIntegrationTests.java @@ -42,11 +42,9 @@ import static org.springframework.cloud.config.server.test.ConfigServerTestUtils import static org.springframework.cloud.config.server.test.ConfigServerTestUtils.getV2AcceptEntity; @RunWith(SpringRunner.class) -@SpringBootTest(classes = ConfigServerApplication.class, - properties = { "spring.cloud.bootstrap.enabled=true", - "logging.level.org.springframework.boot.context.config=TRACE", - "spring.cloud.bootstrap.name:enable-bootstrap", - "encrypt.rsa.algorithm=DEFAULT", "encrypt.rsa.strong=false" }, +@SpringBootTest(classes = ConfigServerApplication.class, properties = { "spring.cloud.bootstrap.enabled=true", + "logging.level.org.springframework.boot.context.config=TRACE", "spring.cloud.bootstrap.name:enable-bootstrap", + "encrypt.rsa.algorithm=DEFAULT", "encrypt.rsa.strong=false" }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @ActiveProfiles({ "test", "encrypt" }) public class BootstrapConfigServerIntegrationTests { @@ -68,8 +66,8 @@ public class BootstrapConfigServerIntegrationTests { @Test public void contextLoads() { ResponseEntity response = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, - getV2AcceptEntity(), Environment.class); + "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, getV2AcceptEntity(), + Environment.class); Environment environment = response.getBody(); assertThat(environment.getPropertySources()).hasSize(2); assertOriginTrackedValue(environment, 0, "bar", "foo"); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeClasspathTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeClasspathTests.java index a033faf8..1bb2d54a 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeClasspathTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeClasspathTests.java @@ -32,10 +32,8 @@ public class CompositeClasspathTests { @Test public void contextLoads() { - new WebApplicationContextRunner() - .withUserConfiguration(ConfigServerApplication.class) - .withPropertyValues("spring.profiles.active:test,composite", - "spring.jmx.enabled=false", + new WebApplicationContextRunner().withUserConfiguration(ConfigServerApplication.class) + .withPropertyValues("spring.profiles.active:test,composite", "spring.jmx.enabled=false", "spring.config.name:compositeconfigserver", "spring.cloud.config.server.composite[0].uri:file:./target/repos/config-repo", "spring.cloud.config.server.composite[0].type:git", @@ -54,10 +52,8 @@ public class CompositeClasspathTests { @Test public void contextLoads() { - new WebApplicationContextRunner() - .withUserConfiguration(ConfigServerApplication.class) - .withPropertyValues("spring.profiles.active:test,composite", - "spring.jmx.enabled=false", + new WebApplicationContextRunner().withUserConfiguration(ConfigServerApplication.class) + .withPropertyValues("spring.profiles.active:test,composite", "spring.jmx.enabled=false", "spring.config.name:compositeconfigserver", "spring.cloud.config.server.composite[0].uri:file:./target/repos/config-repo", "spring.cloud.config.server.composite[0].type:git", @@ -76,10 +72,8 @@ public class CompositeClasspathTests { @Test public void contextLoads() { - new WebApplicationContextRunner() - .withUserConfiguration(ConfigServerApplication.class) - .withPropertyValues("spring.profiles.active:test,composite", - "spring.jmx.enabled=false", + new WebApplicationContextRunner().withUserConfiguration(ConfigServerApplication.class) + .withPropertyValues("spring.profiles.active:test,composite", "spring.jmx.enabled=false", "spring.config.name:compositeconfigserver", "spring.cloud.config.server.composite[0].uri:file:./target/repos/config-repo", "spring.cloud.config.server.composite[0].type:git", @@ -98,10 +92,8 @@ public class CompositeClasspathTests { @Test public void contextLoads() { - new WebApplicationContextRunner() - .withUserConfiguration(ConfigServerApplication.class) - .withPropertyValues("spring.profiles.active:test,composite", - "spring.jmx.enabled=false", + new WebApplicationContextRunner().withUserConfiguration(ConfigServerApplication.class) + .withPropertyValues("spring.profiles.active:test,composite", "spring.jmx.enabled=false", "spring.config.name:compositeconfigserver", "spring.cloud.config.server.composite[0].uri:file:///./target/repos/svn-config-repo", "spring.cloud.config.server.composite[0].type:svn", @@ -120,10 +112,9 @@ public class CompositeClasspathTests { @Test public void contextLoads() { - new WebApplicationContextRunner() - .withUserConfiguration(ConfigServerApplication.class) - .withPropertyValues("spring.profiles.active:test,composite", - "spring.jmx.enabled=false", "spring.config.name:configserver", + new WebApplicationContextRunner().withUserConfiguration(ConfigServerApplication.class) + .withPropertyValues("spring.profiles.active:test,composite", "spring.jmx.enabled=false", + "spring.config.name:configserver", "spring.cloud.config.server.composite[0].uri:https://source.developers.google.com", "spring.cloud.config.server.composite[0].type:git") .run(context -> { diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeIntegrationTests.java index c122999a..735a164b 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeIntegrationTests.java @@ -43,12 +43,13 @@ import static org.springframework.cloud.config.server.test.ConfigServerTestUtils public class CompositeIntegrationTests { @RunWith(SpringRunner.class) - @SpringBootTest(classes = ConfigServerApplication.class, properties = { - "spring.config.name:compositeconfigserver", - "spring.cloud.config.server.svn.uri:file:///./target/repos/svn-config-repo", - "spring.cloud.config.server.svn.order:2", - "spring.cloud.config.server.git.uri:file:./target/repos/config-repo", - "spring.cloud.config.server.git.order:1" }, webEnvironment = RANDOM_PORT) + @SpringBootTest(classes = ConfigServerApplication.class, + properties = { "spring.config.name:compositeconfigserver", + "spring.cloud.config.server.svn.uri:file:///./target/repos/svn-config-repo", + "spring.cloud.config.server.svn.order:2", + "spring.cloud.config.server.git.uri:file:./target/repos/config-repo", + "spring.cloud.config.server.git.order:1" }, + webEnvironment = RANDOM_PORT) @ActiveProfiles({ "test", "git", "subversion" }) public static class StaticTests { @@ -61,55 +62,48 @@ public class CompositeIntegrationTests { SystemReader.setInstance(new MockSystemReader()); ConfigServerTestUtils.prepareLocalRepo(); - ConfigServerTestUtils.prepareLocalSvnRepo( - "src/test/resources/svn-config-repo", "target/repos/svn-config-repo"); + ConfigServerTestUtils.prepareLocalSvnRepo("src/test/resources/svn-config-repo", + "target/repos/svn-config-repo"); } @Test public void contextLoads() { ResponseEntity response = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, - getV2AcceptEntity(), Environment.class); + "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, getV2AcceptEntity(), + Environment.class); Environment environment = response.getBody(); assertThat(3).isEqualTo(environment.getPropertySources().size()); - assertThat("overrides") - .isEqualTo(environment.getPropertySources().get(0).getName()); - assertThat(environment.getPropertySources().get(1).getName() - .contains("config-repo") - && !environment.getPropertySources().get(1).getName() - .contains("svn-config-repo")).isTrue(); - assertThat(environment.getPropertySources().get(2).getName() - .contains("svn-config-repo")).isTrue(); + assertThat("overrides").isEqualTo(environment.getPropertySources().get(0).getName()); + assertThat(environment.getPropertySources().get(1).getName().contains("config-repo") + && !environment.getPropertySources().get(1).getName().contains("svn-config-repo")).isTrue(); + assertThat(environment.getPropertySources().get(2).getName().contains("svn-config-repo")).isTrue(); ConfigServerTestUtils.assertConfigEnabled(environment); } @Test public void resourceEndpointsWork() { // This request will get the file from the Git Repo - String text = new TestRestTemplate() - .getForObject( - "http://localhost:" + this.port - + "/foo/development/composite/bar.properties", - String.class); + String text = new TestRestTemplate().getForObject( + "http://localhost:" + this.port + "/foo/development/composite/bar.properties", String.class); String expected = "foo: bar"; assertThat(expected).isEqualTo(text).as("invalid content"); // This request will get the file from the SVN Repo - text = new TestRestTemplate().getForObject("http://localhost:" + this.port - + "/foo/development/composite/bar.properties", String.class); + text = new TestRestTemplate().getForObject( + "http://localhost:" + this.port + "/foo/development/composite/bar.properties", String.class); assertThat(expected).isEqualTo(text).as("invalid content"); } } @RunWith(SpringRunner.class) - @SpringBootTest(classes = ConfigServerApplication.class, properties = { - "spring.config.name:compositeconfigserver", - "spring.cloud.config.server.composite[0].uri:file:./target/repos/config-repo", - "spring.cloud.config.server.composite[0].type:git", - "spring.cloud.config.server.composite[1].uri:file:///./target/repos/svn-config-repo", - "spring.cloud.config.server.composite[1].type:svn" }, + @SpringBootTest(classes = ConfigServerApplication.class, + properties = { "spring.config.name:compositeconfigserver", + "spring.cloud.config.server.composite[0].uri:file:./target/repos/config-repo", + "spring.cloud.config.server.composite[0].type:git", + "spring.cloud.config.server.composite[1].uri:file:///./target/repos/svn-config-repo", + "spring.cloud.config.server.composite[1].type:svn" }, webEnvironment = RANDOM_PORT) @ActiveProfiles({ "test", "composite" }) public static class ListTests { @@ -123,43 +117,36 @@ public class CompositeIntegrationTests { SystemReader.setInstance(new MockSystemReader()); ConfigServerTestUtils.prepareLocalRepo(); - ConfigServerTestUtils.prepareLocalSvnRepo( - "src/test/resources/svn-config-repo", "target/repos/svn-config-repo"); + ConfigServerTestUtils.prepareLocalSvnRepo("src/test/resources/svn-config-repo", + "target/repos/svn-config-repo"); } @Test public void contextLoads() { ResponseEntity response = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, - getV2AcceptEntity(), Environment.class); + "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, getV2AcceptEntity(), + Environment.class); Environment environment = response.getBody(); assertThat(environment.getPropertySources()).hasSize(3); - assertThat("overrides") - .isEqualTo(environment.getPropertySources().get(0).getName()); - assertThat(environment.getPropertySources().get(1).getName() - .contains("config-repo") - && !environment.getPropertySources().get(1).getName() - .contains("svn-config-repo")).isTrue(); - assertThat(environment.getPropertySources().get(2).getName() - .contains("svn-config-repo")).isTrue(); + assertThat("overrides").isEqualTo(environment.getPropertySources().get(0).getName()); + assertThat(environment.getPropertySources().get(1).getName().contains("config-repo") + && !environment.getPropertySources().get(1).getName().contains("svn-config-repo")).isTrue(); + assertThat(environment.getPropertySources().get(2).getName().contains("svn-config-repo")).isTrue(); ConfigServerTestUtils.assertConfigEnabled(environment); } @Test public void resourceEndpointsWork() { // This request will get the file from the Git Repo - String text = new TestRestTemplate() - .getForObject( - "http://localhost:" + this.port - + "/foo/development/composite/bar.properties", - String.class); + String text = new TestRestTemplate().getForObject( + "http://localhost:" + this.port + "/foo/development/composite/bar.properties", String.class); String expected = "foo: bar"; assertThat(expected).isEqualTo(text).as("invalid content"); // This request will get the file from the SVN Repo - text = new TestRestTemplate().getForObject("http://localhost:" + this.port - + "/foo/development/composite/bar.properties", String.class); + text = new TestRestTemplate().getForObject( + "http://localhost:" + this.port + "/foo/development/composite/bar.properties", String.class); assertThat(expected).isEqualTo(text).as("invalid content"); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientBackwardsCompatibilityIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientBackwardsCompatibilityIntegrationTests.java index 9f4414f5..4cf02a55 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientBackwardsCompatibilityIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientBackwardsCompatibilityIntegrationTests.java @@ -42,8 +42,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen import static org.springframework.cloud.config.server.test.ConfigServerTestUtils.getV2AcceptEntity; @RunWith(SpringRunner.class) -@SpringBootTest(classes = ConfigServerApplication.class, - properties = { "spring.config.name:configserver" }, webEnvironment = RANDOM_PORT) +@SpringBootTest(classes = ConfigServerApplication.class, properties = { "spring.config.name:configserver" }, + webEnvironment = RANDOM_PORT) @ActiveProfiles({ "test", "native" }) public class ConfigClientBackwardsCompatibilityIntegrationTests { @@ -63,16 +63,16 @@ public class ConfigClientBackwardsCompatibilityIntegrationTests { @Test public void testBackwardsCompatibleFormat() { - Map environment = new TestRestTemplate().getForObject( - "http://localhost:" + this.port + "/foo/development/", Map.class); + Map environment = new TestRestTemplate().getForObject("http://localhost:" + this.port + "/foo/development/", + Map.class); Object value = getPropertySourceValue(environment); assertThat(value).isInstanceOf(String.class).isEqualTo("true"); } @Test public void testBackwardsCompatibleFormatWithLabel() { - Map environment = new TestRestTemplate().getForObject( - "http://localhost:" + this.port + "/foo/development/master", Map.class); + Map environment = new TestRestTemplate() + .getForObject("http://localhost:" + this.port + "/foo/development/master", Map.class); Object value = getPropertySourceValue(environment); assertThat(value).isInstanceOf(String.class).isEqualTo("true"); } @@ -80,8 +80,7 @@ public class ConfigClientBackwardsCompatibilityIntegrationTests { @Test public void testNewFormat() { ResponseEntity response = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, - getV2AcceptEntity(), Map.class); + "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, getV2AcceptEntity(), Map.class); Object value = getPropertySourceValue(response.getBody()); assertThat(value).isInstanceOf(Map.class); Map valueMap = Map.class.cast(value); @@ -91,8 +90,8 @@ public class ConfigClientBackwardsCompatibilityIntegrationTests { @Test public void testNewFormatWithLabel() { ResponseEntity response = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/foo/development/master", - HttpMethod.GET, getV2AcceptEntity(), Map.class); + "http://localhost:" + this.port + "/foo/development/master", HttpMethod.GET, getV2AcceptEntity(), + Map.class); Object value = getPropertySourceValue(response.getBody()); assertThat(value).isInstanceOf(Map.class); Map valueMap = Map.class.cast(value); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOffIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOffIntegrationTests.java index 61425566..1d15f842 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOffIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOffIntegrationTests.java @@ -71,8 +71,8 @@ public class ConfigClientOffIntegrationTests { @Test public void contextLoads() { - Environment environment = new TestRestTemplate().getForObject( - "http://localhost:" + this.port + "/foo/development/", Environment.class); + Environment environment = new TestRestTemplate() + .getForObject("http://localhost:" + this.port + "/foo/development/", Environment.class); assertThat(environment.getPropertySources().isEmpty()).isTrue(); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOnIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOnIntegrationTests.java index cf388f98..42e0c3c1 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOnIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOnIntegrationTests.java @@ -54,8 +54,7 @@ import static org.mockito.BDDMockito.given; @RunWith(SpringRunner.class) @SpringBootTest(classes = TestConfiguration.class, - properties = { "spring.config.use-legacy-processing=true", - "spring.cloud.config.enabled:true" }, + properties = { "spring.config.use-legacy-processing=true", "spring.cloud.config.enabled:true" }, webEnvironment = WebEnvironment.RANDOM_PORT) @ActiveProfiles("test") @DirtiesContext @@ -84,8 +83,8 @@ public class ConfigClientOnIntegrationTests { @Test public void contextLoads() { - Environment environment = new TestRestTemplate().getForObject( - "http://localhost:" + this.port + "/foo/development/", Environment.class); + Environment environment = new TestRestTemplate() + .getForObject("http://localhost:" + this.port + "/foo/development/", Environment.class); assertThat(environment.getPropertySources().isEmpty()).isTrue(); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigServerApplicationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigServerApplicationTests.java index e325c1f4..4e0374a1 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigServerApplicationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigServerApplicationTests.java @@ -35,10 +35,8 @@ public class ConfigServerApplicationTests { @Test public void contextLoads() { - try (ConfigurableApplicationContext context = new SpringApplicationBuilder( - ConfigServerApplication.class) - .properties("spring.config.name=configserver") - .run("--server.port=0")) { + try (ConfigurableApplicationContext context = new SpringApplicationBuilder(ConfigServerApplication.class) + .properties("spring.config.name=configserver").run("--server.port=0")) { // empty } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubCompositeConfigServerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubCompositeConfigServerIntegrationTests.java index c34298be..ca80fcc0 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubCompositeConfigServerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubCompositeConfigServerIntegrationTests.java @@ -33,8 +33,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen */ @RunWith(SpringRunner.class) @SpringBootTest(classes = ConfigServerApplication.class, - properties = { "spring.profiles.active:composite", - "spring.cloud.config.server.composite[0].type:credhub", + properties = { "spring.profiles.active:composite", "spring.cloud.config.server.composite[0].type:credhub", "spring.cloud.config.server.composite[0].url:https://credhub:8844" }, webEnvironment = RANDOM_PORT) public class CredhubCompositeConfigServerIntegrationTests extends CredhubIntegrationTest { @@ -44,15 +43,12 @@ public class CredhubCompositeConfigServerIntegrationTests extends CredhubIntegra @Test public void shouldRetrieveValuesFromCredhub() { - Environment environment = new TestRestTemplate().getForObject( - "http://localhost:" + this.port + "/myapp/master/default", - Environment.class); + Environment environment = new TestRestTemplate() + .getForObject("http://localhost:" + this.port + "/myapp/master/default", Environment.class); assertThat(environment.getPropertySources().isEmpty()).isFalse(); - assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo("credhub-myapp-master-default"); - assertThat(environment.getPropertySources().get(0).getSource().toString()) - .isEqualTo("{key=value}"); + assertThat(environment.getPropertySources().get(0).getName()).isEqualTo("credhub-myapp-master-default"); + assertThat(environment.getPropertySources().get(0).getSource().toString()).isEqualTo("{key=value}"); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubConfigServerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubConfigServerIntegrationTests.java index 1c7ad188..46ee6eac 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubConfigServerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubConfigServerIntegrationTests.java @@ -32,10 +32,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Alberto C. Ríos */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = ConfigServerApplication.class, - properties = { "spring.profiles.active:credhub", - "spring.cloud.config.server.credhub.url:https://credhub:8844" }, - webEnvironment = RANDOM_PORT) +@SpringBootTest(classes = ConfigServerApplication.class, properties = { "spring.profiles.active:credhub", + "spring.cloud.config.server.credhub.url:https://credhub:8844" }, webEnvironment = RANDOM_PORT) public class CredhubConfigServerIntegrationTests extends CredhubIntegrationTest { @LocalServerPort @@ -43,15 +41,12 @@ public class CredhubConfigServerIntegrationTests extends CredhubIntegrationTest @Test public void shouldRetrieveValuesFromCredhub() { - Environment environment = new TestRestTemplate().getForObject( - "http://localhost:" + this.port + "/myapp/master/default", - Environment.class); + Environment environment = new TestRestTemplate() + .getForObject("http://localhost:" + this.port + "/myapp/master/default", Environment.class); assertThat(environment.getPropertySources().isEmpty()).isFalse(); - assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo("credhub-myapp-master-default"); - assertThat(environment.getPropertySources().get(0).getSource().toString()) - .isEqualTo("{key=value}"); + assertThat(environment.getPropertySources().get(0).getName()).isEqualTo("credhub-myapp-master-default"); + assertThat(environment.getPropertySources().get(0).getSource().toString()).isEqualTo("{key=value}"); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubIntegrationTest.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubIntegrationTest.java index cd4db502..3829cfb4 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubIntegrationTest.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CredhubIntegrationTest.java @@ -41,24 +41,19 @@ public class CredhubIntegrationTest { @Before public void setUp() { - CredHubCredentialOperations credhubCredentialOperations = Mockito - .mock(CredHubCredentialOperations.class); + CredHubCredentialOperations credhubCredentialOperations = Mockito.mock(CredHubCredentialOperations.class); String expectedPath = "/myapp/master/default"; - SimpleCredentialName togglesCredentialName = new SimpleCredentialName( - expectedPath + "/toggles"); + SimpleCredentialName togglesCredentialName = new SimpleCredentialName(expectedPath + "/toggles"); when(credhubCredentialOperations.findByPath(expectedPath)) .thenReturn(singletonList(new CredentialSummary(togglesCredentialName))); JsonCredential credentials = new JsonCredential(); credentials.put("key", "value"); - when(credhubCredentialOperations.getByName( - new SimpleCredentialName(expectedPath + "/toggles"), - JsonCredential.class)) - .thenReturn(new CredentialDetails<>("id1", togglesCredentialName, - CredentialType.JSON, credentials)); + when(credhubCredentialOperations.getByName(new SimpleCredentialName(expectedPath + "/toggles"), + JsonCredential.class)).thenReturn( + new CredentialDetails<>("id1", togglesCredentialName, CredentialType.JSON, credentials)); - when(this.credHubOperations.credentials()) - .thenReturn(credhubCredentialOperations); + when(this.credHubOperations.credentials()).thenReturn(credhubCredentialOperations); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/NativeConfigServerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/NativeConfigServerIntegrationTests.java index 1d12c16b..2a0c469b 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/NativeConfigServerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/NativeConfigServerIntegrationTests.java @@ -40,8 +40,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen import static org.springframework.cloud.config.server.test.ConfigServerTestUtils.getV2AcceptEntity; @RunWith(SpringRunner.class) -@SpringBootTest(classes = ConfigServerApplication.class, - properties = { "spring.config.name:configserver" }, webEnvironment = RANDOM_PORT) +@SpringBootTest(classes = ConfigServerApplication.class, properties = { "spring.config.name:configserver" }, + webEnvironment = RANDOM_PORT) @ActiveProfiles({ "test", "native" }) public class NativeConfigServerIntegrationTests { @@ -59,19 +59,18 @@ public class NativeConfigServerIntegrationTests { @Test public void contextLoads() { ResponseEntity response = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, - getV2AcceptEntity(), Environment.class); + "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, getV2AcceptEntity(), + Environment.class); Environment environment = response.getBody(); assertThat(environment.getPropertySources().isEmpty()).isFalse(); - assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo("overrides"); + assertThat(environment.getPropertySources().get(0).getName()).isEqualTo("overrides"); ConfigServerTestUtils.assertConfigEnabled(environment); } @Test public void badYaml() { - ResponseEntity response = new TestRestTemplate().getForEntity( - "http://localhost:" + this.port + "/bad/default/", String.class); + ResponseEntity response = new TestRestTemplate() + .getForEntity("http://localhost:" + this.port + "/bad/default/", String.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.INTERNAL_SERVER_ERROR); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/RefreshableConfigServerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/RefreshableConfigServerIntegrationTests.java index 9528d45d..f2e88d6c 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/RefreshableConfigServerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/RefreshableConfigServerIntegrationTests.java @@ -56,10 +56,9 @@ import static org.springframework.cloud.config.server.test.ConfigServerTestUtils import static org.springframework.cloud.config.server.test.ConfigServerTestUtils.getV2AcceptEntity; @RunWith(SpringRunner.class) -@SpringBootTest(classes = TestConfiguration.class, - properties = { "spring.cloud.config.enabled=true", - "management.endpoint.env.post.enabled=true", - "management.endpoints.web.exposure.include=env, refresh" }, +@SpringBootTest( + classes = TestConfiguration.class, properties = { "spring.cloud.config.enabled=true", + "management.endpoint.env.post.enabled=true", "management.endpoints.web.exposure.include=env, refresh" }, webEnvironment = WebEnvironment.RANDOM_PORT) @ActiveProfiles("test") @DirtiesContext @@ -95,8 +94,8 @@ public class RefreshableConfigServerIntegrationTests { @Test public void refreshOverrides() { ResponseEntity entity = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, - getV2AcceptEntity(), Environment.class); + "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, getV2AcceptEntity(), + Environment.class); Environment environment = entity.getBody(); assertThat(environment.getPropertySources()).isEmpty(); @@ -104,18 +103,15 @@ public class RefreshableConfigServerIntegrationTests { HttpHeaders headers = new HttpHeaders(); headers.set("Content-Type", "application/json"); HttpEntity request = new HttpEntity<>( - "{\"name\": \"spring.cloud.config.server.overrides.foo\", \"value\": \"bar\"}", - headers); - ResponseEntity response = new TestRestTemplate() - .postForEntity(actuatorEndpoint + "/env", request, Void.class); + "{\"name\": \"spring.cloud.config.server.overrides.foo\", \"value\": \"bar\"}", headers); + ResponseEntity response = new TestRestTemplate().postForEntity(actuatorEndpoint + "/env", request, + Void.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - response = new TestRestTemplate().postForEntity(actuatorEndpoint + "/refresh", - null, Void.class); + response = new TestRestTemplate().postForEntity(actuatorEndpoint + "/refresh", null, Void.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - entity = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, + entity = new TestRestTemplate().exchange("http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, getV2AcceptEntity(), Environment.class); environment = entity.getBody(); assertThat(environment.getPropertySources()).isNotEmpty(); @@ -131,17 +127,16 @@ public class RefreshableConfigServerIntegrationTests { public EnvironmentRepository environmentRepository() { EnvironmentRepository repository = Mockito.mock(EnvironmentRepository.class); Environment environment = new Environment("", ""); - given(repository.findOne(isA(String.class), isA(String.class), - nullable(String.class), isA(Boolean.class))).willReturn(environment); + given(repository.findOne(isA(String.class), isA(String.class), nullable(String.class), isA(Boolean.class))) + .willReturn(environment); return repository; } @Bean public ResourceRepository resourceRepository() { ResourceRepository repository = Mockito.mock(ResourceRepository.class); - given(repository.findOne(isA(String.class), isA(String.class), - nullable(String.class), isA(String.class))) - .willReturn(new ByteArrayResource("".getBytes())); + given(repository.findOne(isA(String.class), isA(String.class), nullable(String.class), isA(String.class))) + .willReturn(new ByteArrayResource("".getBytes())); return repository; } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SubversionConfigServerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SubversionConfigServerIntegrationTests.java index 4c72f897..228d385a 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SubversionConfigServerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SubversionConfigServerIntegrationTests.java @@ -47,10 +47,11 @@ import static org.springframework.cloud.config.server.test.ConfigServerTestUtils * @author Roy Clarkson */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = ConfigServerApplication.class, properties = { - "spring.config.name:configserver", - "spring.cloud.config.server.svn.uri:file:///./target/repos/svn-config-repo", - "logging.level.org.springframework.cloud=DEBUG" }, webEnvironment = RANDOM_PORT) +@SpringBootTest(classes = ConfigServerApplication.class, + properties = { "spring.config.name:configserver", + "spring.cloud.config.server.svn.uri:file:///./target/repos/svn-config-repo", + "logging.level.org.springframework.cloud=DEBUG" }, + webEnvironment = RANDOM_PORT) @ActiveProfiles("subversion") public class SubversionConfigServerIntegrationTests { @@ -62,26 +63,23 @@ public class SubversionConfigServerIntegrationTests { @BeforeClass public static void init() throws Exception { - ConfigServerTestUtils.prepareLocalSvnRepo("src/test/resources/svn-config-repo", - "target/repos/svn-config-repo"); + ConfigServerTestUtils.prepareLocalSvnRepo("src/test/resources/svn-config-repo", "target/repos/svn-config-repo"); } @Test public void contextLoads() { ResponseEntity exchange = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, - getV2AcceptEntity(), Environment.class); + "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, getV2AcceptEntity(), + Environment.class); Environment environment = exchange.getBody(); assertThat(environment.getPropertySources().isEmpty()).isFalse(); - assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo("overrides"); + assertThat(environment.getPropertySources().get(0).getName()).isEqualTo("overrides"); ConfigServerTestUtils.assertConfigEnabled(environment); } @Test public void defaultLabel() throws Exception { - SvnKitEnvironmentRepository repository = this.context - .getBean(SvnKitEnvironmentRepository.class); + SvnKitEnvironmentRepository repository = this.context.getBean(SvnKitEnvironmentRepository.class); assertThat(repository.getDefaultLabel()).isEqualTo("trunk"); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/TransportConfigurationIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/TransportConfigurationIntegrationTests.java index e06d80a1..7088ba99 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/TransportConfigurationIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/TransportConfigurationIntegrationTests.java @@ -53,11 +53,9 @@ public class TransportConfigurationIntegrationTests { public static class PropertyBasedCallbackTest { @RunWith(SpringRunner.class) - @SpringBootTest( - classes = { ConfigServerApplication.class, SshPropertyValidator.class }, + @SpringBootTest(classes = { ConfigServerApplication.class, SshPropertyValidator.class }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = { - "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", + properties = { "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", "spring.config.name:ssh-private-key-block" }) @ActiveProfiles({ "test", "git" }) public static class StaticTest { @@ -69,18 +67,15 @@ public class TransportConfigurationIntegrationTests { public void propertyBasedTransportCallbackIsConfigured() throws Exception { TransportConfigCallback transportConfigCallback = this.jGitEnvironmentRepository .getTransportConfigCallback(); - assertThat(transportConfigCallback) - .isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); + assertThat(transportConfigCallback).isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); } } @RunWith(SpringRunner.class) - @SpringBootTest( - classes = { ConfigServerApplication.class, SshPropertyValidator.class }, + @SpringBootTest(classes = { ConfigServerApplication.class, SshPropertyValidator.class }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = { - "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", + properties = { "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", "spring.config.name:ssh-private-key-block-list" }) @ActiveProfiles({ "test", "composite" }) public static class ListTest { @@ -92,8 +87,7 @@ public class TransportConfigurationIntegrationTests { public void propertyBasedTransportCallbackIsConfigured() throws Exception { TransportConfigCallback transportConfigCallback = this.jGitEnvironmentRepository .getTransportConfigCallback(); - assertThat(transportConfigCallback) - .isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); + assertThat(transportConfigCallback).isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); } } @@ -103,11 +97,9 @@ public class TransportConfigurationIntegrationTests { public static class PrivateKeyPropertyWithLineBreaks { @RunWith(SpringRunner.class) - @SpringBootTest( - classes = { ConfigServerApplication.class, SshPropertyValidator.class }, + @SpringBootTest(classes = { ConfigServerApplication.class, SshPropertyValidator.class }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = { - "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", + properties = { "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", "spring.config.name:ssh-private-key-newline" }) @ActiveProfiles({ "test", "git" }) public static class StaticTest { @@ -117,10 +109,8 @@ public class TransportConfigurationIntegrationTests { @Test public void privateKeyPropertyWithLineBreaks() throws Exception { - TransportConfigCallback callback = this.jGitEnvironmentRepository - .getTransportConfigCallback(); - assertThat(callback) - .isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); + TransportConfigCallback callback = this.jGitEnvironmentRepository.getTransportConfigCallback(); + assertThat(callback).isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); PropertiesBasedSshTransportConfigCallback configCallback = (PropertiesBasedSshTransportConfigCallback) callback; assertThat(configCallback.getSshUriProperties().getPrivateKey()) @@ -130,11 +120,9 @@ public class TransportConfigurationIntegrationTests { } @RunWith(SpringRunner.class) - @SpringBootTest( - classes = { ConfigServerApplication.class, SshPropertyValidator.class }, + @SpringBootTest(classes = { ConfigServerApplication.class, SshPropertyValidator.class }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = { - "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", + properties = { "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", "spring.config.name:ssh-private-key-newline-list" }) @ActiveProfiles({ "test", "composite" }) public static class ListTest { @@ -144,10 +132,8 @@ public class TransportConfigurationIntegrationTests { @Test public void privateKeyPropertyWithLineBreaks() throws Exception { - TransportConfigCallback callback = this.jGitEnvironmentRepository - .getTransportConfigCallback(); - assertThat(callback) - .isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); + TransportConfigCallback callback = this.jGitEnvironmentRepository.getTransportConfigCallback(); + assertThat(callback).isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); PropertiesBasedSshTransportConfigCallback configCallback = (PropertiesBasedSshTransportConfigCallback) callback; assertThat(configCallback.getSshUriProperties().getPrivateKey()) @@ -161,11 +147,9 @@ public class TransportConfigurationIntegrationTests { public static class SshPropertiesWithinNestedRepo { @RunWith(SpringRunner.class) - @SpringBootTest( - classes = { ConfigServerApplication.class, SshPropertyValidator.class }, + @SpringBootTest(classes = { ConfigServerApplication.class, SshPropertyValidator.class }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = { - "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", + properties = { "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", "spring.config.name:ssh-nested-settings" }) @ActiveProfiles({ "test", "git" }) public static class StaticTest { @@ -175,14 +159,11 @@ public class TransportConfigurationIntegrationTests { @Test public void sshPropertiesWithinNestedRepo() throws Exception { - TransportConfigCallback callback = this.jGitEnvironmentRepository - .getTransportConfigCallback(); - assertThat(callback) - .isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); + TransportConfigCallback callback = this.jGitEnvironmentRepository.getTransportConfigCallback(); + assertThat(callback).isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); PropertiesBasedSshTransportConfigCallback configCallback = (PropertiesBasedSshTransportConfigCallback) callback; - MultipleJGitEnvironmentProperties sshUriProperties = configCallback - .getSshUriProperties(); + MultipleJGitEnvironmentProperties sshUriProperties = configCallback.getSshUriProperties(); assertThat(configCallback.getSshUriProperties().getPrivateKey()) .isEqualTo(TestProperties.TEST_PRIVATE_KEY_1); @@ -194,11 +175,9 @@ public class TransportConfigurationIntegrationTests { } @RunWith(SpringRunner.class) - @SpringBootTest( - classes = { ConfigServerApplication.class, SshPropertyValidator.class }, + @SpringBootTest(classes = { ConfigServerApplication.class, SshPropertyValidator.class }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = { - "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", + properties = { "spring.config.additional-location=optional:file:/ssh/,optional:classpath:/ssh/", "spring.config.name:ssh-nested-settings-list" }) @ActiveProfiles({ "test", "composite" }) public static class ListTest { @@ -208,14 +187,11 @@ public class TransportConfigurationIntegrationTests { @Test public void sshPropertiesWithinNestedRepo() throws Exception { - TransportConfigCallback callback = this.jGitEnvironmentRepository - .getTransportConfigCallback(); - assertThat(callback) - .isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); + TransportConfigCallback callback = this.jGitEnvironmentRepository.getTransportConfigCallback(); + assertThat(callback).isInstanceOf(PropertiesBasedSshTransportConfigCallback.class); PropertiesBasedSshTransportConfigCallback configCallback = (PropertiesBasedSshTransportConfigCallback) callback; - MultipleJGitEnvironmentProperties sshUriProperties = configCallback - .getSshUriProperties(); + MultipleJGitEnvironmentProperties sshUriProperties = configCallback.getSshUriProperties(); assertThat(configCallback.getSshUriProperties().getPrivateKey()) .isEqualTo(TestProperties.TEST_PRIVATE_KEY_1); @@ -231,11 +207,9 @@ public class TransportConfigurationIntegrationTests { public static class FileBasedCallbackTest { @RunWith(SpringRunner.class) - @SpringBootTest( - classes = { ConfigServerApplication.class, SshPropertyValidator.class }, + @SpringBootTest(classes = { ConfigServerApplication.class, SshPropertyValidator.class }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = { - "spring.cloud.config.server.git.uri=git@gitserver.com:team/repo.git", + properties = { "spring.cloud.config.server.git.uri=git@gitserver.com:team/repo.git", "spring.cloud.config.server.git.ignoreLocalSshSettings=false" }) @ActiveProfiles({ "test", "git" }) public static class StaticTest { @@ -247,8 +221,7 @@ public class TransportConfigurationIntegrationTests { public void fileBasedTransportCallbackIsConfigured() throws Exception { TransportConfigCallback transportConfigCallback = this.jGitEnvironmentRepository .getTransportConfigCallback(); - assertThat(transportConfigCallback) - .isInstanceOf(FileBasedSshTransportConfigCallback.class); + assertThat(transportConfigCallback).isInstanceOf(FileBasedSshTransportConfigCallback.class); } @Test @@ -257,30 +230,25 @@ public class TransportConfigurationIntegrationTests { SshSessionFactory.setInstance(null); this.jGitEnvironmentRepository.setUri(uri); this.jGitEnvironmentRepository.setBasedir(new File("./mybasedir")); - assertThat(this.jGitEnvironmentRepository.isStrictHostKeyChecking()) - .isTrue(); + assertThat(this.jGitEnvironmentRepository.isStrictHostKeyChecking()).isTrue(); this.jGitEnvironmentRepository.setCloneOnStart(true); try { // this will throw but we don't care about connecting. this.jGitEnvironmentRepository.afterPropertiesSet(); } catch (Exception e) { - final OpenSshConfig.Host hc = OpenSshConfig.get(FS.detect()) - .lookup("github.com"); - JschConfigSessionFactory factory = (JschConfigSessionFactory) SshSessionFactory - .getInstance(); + final OpenSshConfig.Host hc = OpenSshConfig.get(FS.detect()).lookup("github.com"); + JschConfigSessionFactory factory = (JschConfigSessionFactory) SshSessionFactory.getInstance(); // There's no public method that can be used to inspect the ssh // configuration, so we'll reflect // the configure method to allow us to check that the config // property is set as expected. - Method configure = factory.getClass().getDeclaredMethod("configure", - OpenSshConfig.Host.class, Session.class); + Method configure = factory.getClass().getDeclaredMethod("configure", OpenSshConfig.Host.class, + Session.class); configure.setAccessible(true); Session session = mock(Session.class); - ArgumentCaptor keyCaptor = ArgumentCaptor - .forClass(String.class); - ArgumentCaptor valueCaptor = ArgumentCaptor - .forClass(String.class); + ArgumentCaptor keyCaptor = ArgumentCaptor.forClass(String.class); + ArgumentCaptor valueCaptor = ArgumentCaptor.forClass(String.class); configure.invoke(factory, hc, session); verify(session).setConfig(keyCaptor.capture(), valueCaptor.capture()); configure.setAccessible(false); @@ -291,8 +259,7 @@ public class TransportConfigurationIntegrationTests { } @RunWith(SpringRunner.class) - @SpringBootTest( - classes = { ConfigServerApplication.class, SshPropertyValidator.class }, + @SpringBootTest(classes = { ConfigServerApplication.class, SshPropertyValidator.class }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = { "spring.cloud.config.server.composite[0].type=git", "spring.cloud.config.server.composite[0].uri=git@gitserver.com:team/repo.git", @@ -307,8 +274,7 @@ public class TransportConfigurationIntegrationTests { public void fileBasedTransportCallbackIsConfigured() throws Exception { TransportConfigCallback transportConfigCallback = this.jGitEnvironmentRepository .getTransportConfigCallback(); - assertThat(transportConfigCallback) - .isInstanceOf(FileBasedSshTransportConfigCallback.class); + assertThat(transportConfigCallback).isInstanceOf(FileBasedSshTransportConfigCallback.class); } @Test @@ -317,30 +283,25 @@ public class TransportConfigurationIntegrationTests { SshSessionFactory.setInstance(null); this.jGitEnvironmentRepository.setUri(uri); this.jGitEnvironmentRepository.setBasedir(new File("./mybasedir")); - assertThat(this.jGitEnvironmentRepository.isStrictHostKeyChecking()) - .isTrue(); + assertThat(this.jGitEnvironmentRepository.isStrictHostKeyChecking()).isTrue(); this.jGitEnvironmentRepository.setCloneOnStart(true); try { // this will throw but we don't care about connecting. this.jGitEnvironmentRepository.afterPropertiesSet(); } catch (Exception e) { - final OpenSshConfig.Host hc = OpenSshConfig.get(FS.detect()) - .lookup("github.com"); - JschConfigSessionFactory factory = (JschConfigSessionFactory) SshSessionFactory - .getInstance(); + final OpenSshConfig.Host hc = OpenSshConfig.get(FS.detect()).lookup("github.com"); + JschConfigSessionFactory factory = (JschConfigSessionFactory) SshSessionFactory.getInstance(); // There's no public method that can be used to inspect the ssh // configuration, so we'll reflect // the configure method to allow us to check that the config // property is set as expected. - Method configure = factory.getClass().getDeclaredMethod("configure", - OpenSshConfig.Host.class, Session.class); + Method configure = factory.getClass().getDeclaredMethod("configure", OpenSshConfig.Host.class, + Session.class); configure.setAccessible(true); Session session = mock(Session.class); - ArgumentCaptor keyCaptor = ArgumentCaptor - .forClass(String.class); - ArgumentCaptor valueCaptor = ArgumentCaptor - .forClass(String.class); + ArgumentCaptor keyCaptor = ArgumentCaptor.forClass(String.class); + ArgumentCaptor valueCaptor = ArgumentCaptor.forClass(String.class); configure.invoke(factory, hc, session); verify(session).setConfig(keyCaptor.capture(), valueCaptor.capture()); configure.setAccessible(false); @@ -379,8 +340,7 @@ public class TransportConfigurationIntegrationTests { + "E1xUIdRbUIWhVZrr0VufG6hG/P0T7Y6Tpi6G0pKtvMkF3LcD9TS3adboix8H2ZXx\n" + "4L7MRQKBgQC0OO3qqNXOjIVYWOoqXLybOY/Wqu9lxCAgGyCYaMcstnBI7W0MZTBr\n" + "/syluvGsaFc1sE7MMGOOzKi1tF4YvDmSnzA/R1nmaPguuD9fOA+w7Pwkv5vLvuJq\n" - + "2U7EeNwxq1I1L3Ag6E7wH4BHLHd4TKaZR6agFkn8oomz71yZPGjuZQ==\n" - + "-----END RSA PRIVATE KEY-----"; + + "2U7EeNwxq1I1L3Ag6E7wH4BHLHd4TKaZR6agFkn8oomz71yZPGjuZQ==\n" + "-----END RSA PRIVATE KEY-----"; private static final String TEST_PRIVATE_KEY_2 = "-----BEGIN RSA PRIVATE KEY-----\n" + "MIIEpgIBAAKCAQEAx4UbaDzY5xjW6hc9jwN0mX33XpTDVW9WqHp5AKaRbtAC3DqX\n" @@ -407,8 +367,7 @@ public class TransportConfigurationIntegrationTests { + "KTbTjefRFhVUjQqnucAvfGi29f+9oE3Ei9f7wA+H35ocF6JvTYUsHNMIO/3gZ38N\n" + "CPjyCMa9AoGBAMhsITNe3QcbsXAbdUR00dDsIFVROzyFJ2m40i4KCRM35bC/BIBs\n" + "q0TY3we+ERB40U8Z2BvU61QuwaunJ2+uGadHo58VSVdggqAo0BSkH58innKKt96J\n" - + "69pcVH/4rmLbXdcmNYGm6iu+MlPQk4BUZknHSmVHIFdJ0EPupVaQ8RHT\n" - + "-----END RSA PRIVATE KEY-----\n"; + + "69pcVH/4rmLbXdcmNYGm6iu+MlPQk4BUZknHSmVHIFdJ0EPupVaQ8RHT\n" + "-----END RSA PRIVATE KEY-----\n"; } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/VanillaConfigServerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/VanillaConfigServerIntegrationTests.java index 97583745..4ab7db3f 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/VanillaConfigServerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/VanillaConfigServerIntegrationTests.java @@ -43,10 +43,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen import static org.springframework.cloud.config.server.test.ConfigServerTestUtils.getV2AcceptEntity; @RunWith(SpringRunner.class) -@SpringBootTest(classes = ConfigServerApplication.class, - properties = { "spring.config.name:configserver", - "spring.cloud.config.server.git.uri:file:./target/repos/config-repo" }, - webEnvironment = RANDOM_PORT) +@SpringBootTest(classes = ConfigServerApplication.class, properties = { "spring.config.name:configserver", + "spring.cloud.config.server.git.uri:file:./target/repos/config-repo" }, webEnvironment = RANDOM_PORT) @ActiveProfiles("test") public class VanillaConfigServerIntegrationTests { @@ -64,19 +62,18 @@ public class VanillaConfigServerIntegrationTests { @Test public void contextLoads() { ResponseEntity response = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, - getV2AcceptEntity(), Environment.class); + "http://localhost:" + this.port + "/foo/development/", HttpMethod.GET, getV2AcceptEntity(), + Environment.class); Environment environment = response.getBody(); assertThat(environment.getPropertySources().isEmpty()).isFalse(); - assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo("overrides"); + assertThat(environment.getPropertySources().get(0).getName()).isEqualTo("overrides"); ConfigServerTestUtils.assertConfigEnabled(environment); } @Test public void resourseEndpointsWork() { - String text = new TestRestTemplate().getForObject("http://localhost:" + this.port - + "/foo/development/master/bar.properties", String.class); + String text = new TestRestTemplate() + .getForObject("http://localhost:" + this.port + "/foo/development/master/bar.properties", String.class); String expected = "foo: bar"; assertThat(text).as("invalid content").isEqualTo(expected); @@ -84,8 +81,8 @@ public class VanillaConfigServerIntegrationTests { HttpHeaders headers = new HttpHeaders(); headers.setAccept(Arrays.asList(MediaType.APPLICATION_OCTET_STREAM)); ResponseEntity response = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/foo/development/raw/bar.properties", - HttpMethod.GET, new HttpEntity<>(headers), byte[].class); + "http://localhost:" + this.port + "/foo/development/raw/bar.properties", HttpMethod.GET, + new HttpEntity<>(headers), byte[].class); // FIXME: this is calling the text endpoint, not the binary one // assertTrue("invalid content type", // response.getHeaders().getContentType().isCompatibleWith(MediaType.APPLICATION_OCTET_STREAM)); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/composite/CompositUtilsTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/composite/CompositUtilsTests.java index a6426856..3460914d 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/composite/CompositUtilsTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/composite/CompositUtilsTests.java @@ -34,18 +34,15 @@ public class CompositUtilsTests { @Test public void getCompositeTypeListWorks() { - new WebApplicationContextRunner() - .withUserConfiguration(ConfigServerApplication.class) - .withPropertyValues("spring.profiles.active:test,composite", - "spring.config.name:compositeconfigserver", + new WebApplicationContextRunner().withUserConfiguration(ConfigServerApplication.class) + .withPropertyValues("spring.profiles.active:test,composite", "spring.config.name:compositeconfigserver", "spring.jmx.enabled=false", "spring.cloud.config.server.composite[0].uri:file:./target/repos/config-repo", "spring.cloud.config.server.composite[0].type:git", "spring.cloud.config.server.composite[1].uri:file:///./target/repos/svn-config-repo", "spring.cloud.config.server.composite[1].type:svn") .run(context -> { - List types = CompositeUtils - .getCompositeTypeList(context.getEnvironment()); + List types = CompositeUtils.getCompositeTypeList(context.getEnvironment()); assertThat(types).containsExactly("git", "svn"); }); } @@ -54,10 +51,8 @@ public class CompositUtilsTests { public void getCompositeTypeListFails() { this.thrown.expect(IllegalStateException.class); - new WebApplicationContextRunner() - .withUserConfiguration(ConfigServerApplication.class) - .withPropertyValues("spring.profiles.active:test,composite", - "spring.config.name:compositeconfigserver", + new WebApplicationContextRunner().withUserConfiguration(ConfigServerApplication.class) + .withPropertyValues("spring.profiles.active:test,composite", "spring.config.name:compositeconfigserver", "spring.jmx.enabled=false", "spring.cloud.config.server.composite[0].uri:file:./target/repos/config-repo", "spring.cloud.config.server.composite[0].type:git", diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicatorTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicatorTests.java index ca9d3b4f..092e4432 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicatorTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicatorTests.java @@ -57,18 +57,16 @@ public class ConfigServerHealthIndicatorTests { @Test public void defaultStatusWorks() { - when(this.repository.findOne(anyString(), anyString(), Mockito.isNull(), - anyBoolean())).thenReturn(this.environment); - assertThat(this.indicator.health().getStatus()).as("wrong default status") - .isEqualTo(Status.UP); + when(this.repository.findOne(anyString(), anyString(), Mockito.isNull(), anyBoolean())) + .thenReturn(this.environment); + assertThat(this.indicator.health().getStatus()).as("wrong default status").isEqualTo(Status.UP); } @Test public void exceptionStatusIsDown() { - when(this.repository.findOne(anyString(), anyString(), Mockito.isNull(), - anyBoolean())).thenThrow(new RuntimeException()); - assertThat(this.indicator.health().getStatus()).as("wrong exception status") - .isEqualTo(Status.DOWN); + when(this.repository.findOne(anyString(), anyString(), Mockito.isNull(), anyBoolean())) + .thenThrow(new RuntimeException()); + assertThat(this.indicator.health().getStatus()).as("wrong exception status").isEqualTo(Status.DOWN); } @Test @@ -78,10 +76,8 @@ public class ConfigServerHealthIndicatorTests { repo.setProfiles("myprofile"); repo.setLabel("mylabel"); this.indicator.setRepositories(Collections.singletonMap("myname", repo)); - when(this.repository.findOne("myname", "myprofile", "mylabel", false)) - .thenReturn(this.environment); - assertThat(this.indicator.health().getStatus()).as("wrong default status") - .isEqualTo(Status.UP); + when(this.repository.findOne("myname", "myprofile", "mylabel", false)).thenReturn(this.environment); + assertThat(this.indicator.health().getStatus()).as("wrong default status").isEqualTo(Status.UP); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/CustomCompositeEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/CustomCompositeEnvironmentRepositoryTests.java index bc12c801..27d6c2a8 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/CustomCompositeEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/CustomCompositeEnvironmentRepositoryTests.java @@ -53,8 +53,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class CustomCompositeEnvironmentRepositoryTests { @RunWith(SpringRunner.class) - @SpringBootTest( - classes = CustomCompositeEnvironmentRepositoryTests.StaticTests.Config.class, + @SpringBootTest(classes = CustomCompositeEnvironmentRepositoryTests.StaticTests.Config.class, properties = { "spring.config.name:compositeconfigserver", "spring.cloud.config.server.git.uri:file:./target/repos/config-repo", "spring.cloud.config.server.git.order:1" }, @@ -76,9 +75,8 @@ public class CustomCompositeEnvironmentRepositoryTests { @Test public void contextLoads() { - Environment environment = new TestRestTemplate().getForObject( - "http://localhost:" + this.port + "/foo/development/", - Environment.class); + Environment environment = new TestRestTemplate() + .getForObject("http://localhost:" + this.port + "/foo/development/", Environment.class); List propertySources = environment.getPropertySources(); assertThat(3).isEqualTo(propertySources.size()); assertThat("overrides").isEqualTo(propertySources.get(0).getName()); @@ -92,14 +90,12 @@ public class CustomCompositeEnvironmentRepositoryTests { protected static class Config { public static void main(String[] args) throws Exception { - SpringApplication.run( - CustomEnvironmentRepositoryTests.TestApplication.class, args); + SpringApplication.run(CustomEnvironmentRepositoryTests.TestApplication.class, args); } @Bean public EnvironmentRepository environmentRepository() { - return new CustomEnvironmentRepository( - new CustomEnvironmentProperties("p")); + return new CustomEnvironmentRepository(new CustomEnvironmentProperties("p")); } } @@ -107,8 +103,7 @@ public class CustomCompositeEnvironmentRepositoryTests { } @RunWith(SpringRunner.class) - @SpringBootTest( - classes = CustomCompositeEnvironmentRepositoryTests.ListTests.Config.class, + @SpringBootTest(classes = CustomCompositeEnvironmentRepositoryTests.ListTests.Config.class, properties = { "spring.config.name:compositeconfigserver", "spring.cloud.config.server.composite[0].type:git", "spring.cloud.config.server.composite[0].uri:file:./target/repos/config-repo", @@ -132,9 +127,8 @@ public class CustomCompositeEnvironmentRepositoryTests { @Test public void contextLoads() { - Environment environment = new TestRestTemplate().getForObject( - "http://localhost:" + this.port + "/foo/development/", - Environment.class); + Environment environment = new TestRestTemplate() + .getForObject("http://localhost:" + this.port + "/foo/development/", Environment.class); List propertySources = environment.getPropertySources(); assertThat(3).isEqualTo(propertySources.size()); assertThat("overrides").isEqualTo(propertySources.get(0).getName()); @@ -148,8 +142,7 @@ public class CustomCompositeEnvironmentRepositoryTests { protected static class Config { public static void main(String[] args) throws Exception { - SpringApplication.run( - CustomEnvironmentRepositoryTests.TestApplication.class, args); + SpringApplication.run(CustomEnvironmentRepositoryTests.TestApplication.class, args); } @Bean @@ -162,12 +155,11 @@ public class CustomCompositeEnvironmentRepositoryTests { } - static class CustomEnvironmentRepositoryFactory implements - EnvironmentRepositoryFactory { + static class CustomEnvironmentRepositoryFactory + implements EnvironmentRepositoryFactory { @Override - public CustomEnvironmentRepository build( - CustomEnvironmentProperties environmentProperties) throws Exception { + public CustomEnvironmentRepository build(CustomEnvironmentProperties environmentProperties) throws Exception { return new CustomEnvironmentRepository(environmentProperties); } @@ -213,12 +205,9 @@ public class CustomCompositeEnvironmentRepositoryTests { } @Override - public Environment findOne(String application, String profile, String label, - boolean includeOrigin) { - Environment e = new Environment("test", new String[0], "label", "version", - "state"); - PropertySource p = new PropertySource(this.properties.getPropertySourceName(), - new HashMap<>()); + public Environment findOne(String application, String profile, String label, boolean includeOrigin) { + Environment e = new Environment("test", new String[0], "label", "version", "state"); + PropertySource p = new PropertySource(this.properties.getPropertySourceName(), new HashMap<>()); e.add(p); return e; } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/CustomEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/CustomEnvironmentRepositoryTests.java index 2c7511b8..c65dfd5c 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/CustomEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/CustomEnvironmentRepositoryTests.java @@ -42,8 +42,7 @@ import static org.assertj.core.api.Assertions.assertThat; * */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = TestApplication.class, - properties = { "spring.config.name:configserver" }, +@SpringBootTest(classes = TestApplication.class, properties = { "spring.config.name:configserver" }, webEnvironment = WebEnvironment.RANDOM_PORT) @ActiveProfiles("test") @DirtiesContext @@ -54,8 +53,8 @@ public class CustomEnvironmentRepositoryTests { @Test public void contextLoads() { - Environment environment = new TestRestTemplate().getForObject( - "http://localhost:" + this.port + "/foo/development/", Environment.class); + Environment environment = new TestRestTemplate() + .getForObject("http://localhost:" + this.port + "/foo/development/", Environment.class); assertThat(environment.getPropertySources().isEmpty()).isFalse(); } @@ -65,8 +64,7 @@ public class CustomEnvironmentRepositoryTests { protected static class TestApplication { public static void main(String[] args) throws Exception { - SpringApplication.run(CustomEnvironmentRepositoryTests.TestApplication.class, - args); + SpringApplication.run(CustomEnvironmentRepositoryTests.TestApplication.class, args); } @Bean @@ -74,16 +72,13 @@ public class CustomEnvironmentRepositoryTests { return new EnvironmentRepository() { @Override - public Environment findOne(String application, String profile, - String label) { + public Environment findOne(String application, String profile, String label) { return findOne(application, profile, label, false); } @Override - public Environment findOne(String application, String profile, - String label, boolean includeOrigin) { - return new Environment("test", new String[0], "label", "version", - "state"); + public Environment findOne(String application, String profile, String label, boolean includeOrigin) { + return new Environment("test", new String[0], "label", "version", "state"); } }; } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfigurationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfigurationTests.java index f9555273..94e68c26 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfigurationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfigurationTests.java @@ -32,8 +32,7 @@ public class EnvironmentRepositoryConfigurationTests { @Test public void configTokenProviderCanBeOverridden() { new ApplicationContextRunner() - .withConfiguration(AutoConfigurations - .of(EnvironmentRepositoryConfiguration.class, TestBeans.class)) + .withConfiguration(AutoConfigurations.of(EnvironmentRepositoryConfiguration.class, TestBeans.class)) .withPropertyValues("spring.profiles.active=composite", "spring.cloud.config.server.vault.authentication=TOKEN", "spring.cloud.config.server.vault.token=testTokenValue", diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/HttpClientVaultRestTemplateFactoryTest.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/HttpClientVaultRestTemplateFactoryTest.java index 3724a720..1e101040 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/HttpClientVaultRestTemplateFactoryTest.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/HttpClientVaultRestTemplateFactoryTest.java @@ -84,20 +84,17 @@ public class HttpClientVaultRestTemplateFactoryTest { @Test public void authenticatedHttpsProxy() throws Exception { - VaultEnvironmentProperties properties = getVaultEnvironmentProperties(null, - AUTHENTICATED_HTTPS_PROXY); + VaultEnvironmentProperties properties = getVaultEnvironmentProperties(null, AUTHENTICATED_HTTPS_PROXY); RestTemplate restTemplate = this.factory.build(properties); - this.expectedException.expectCause( - allOf(instanceOf(UnknownHostException.class), hasProperty("message", - containsString(AUTHENTICATED_HTTPS_PROXY.getHost())))); + this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), + hasProperty("message", containsString(AUTHENTICATED_HTTPS_PROXY.getHost())))); restTemplate.getForObject("https://somehost", String.class); } @Test public void httpsProxy() throws Exception { - VaultEnvironmentProperties properties = getVaultEnvironmentProperties(null, - HTTPS_PROXY); + VaultEnvironmentProperties properties = getVaultEnvironmentProperties(null, HTTPS_PROXY); RestTemplate restTemplate = this.factory.build(properties); this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), hasProperty("message", containsString(HTTPS_PROXY.getHost())))); @@ -107,31 +104,27 @@ public class HttpClientVaultRestTemplateFactoryTest { @Test public void httpsProxy_notCalled() throws Exception { - VaultEnvironmentProperties properties = getVaultEnvironmentProperties(null, - HTTPS_PROXY); + VaultEnvironmentProperties properties = getVaultEnvironmentProperties(null, HTTPS_PROXY); RestTemplate restTemplate = this.factory.build(properties); - this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), - hasProperty("message", containsString("somehost")))); + this.expectedException.expectCause( + allOf(instanceOf(UnknownHostException.class), hasProperty("message", containsString("somehost")))); restTemplate.getForObject("http://somehost", String.class); } @Test public void authenticatedHttpProxy() throws Exception { - VaultEnvironmentProperties properties = getVaultEnvironmentProperties( - AUTHENTICATED_HTTP_PROXY, null); + VaultEnvironmentProperties properties = getVaultEnvironmentProperties(AUTHENTICATED_HTTP_PROXY, null); RestTemplate restTemplate = this.factory.build(properties); - this.expectedException.expectCause( - allOf(instanceOf(UnknownHostException.class), hasProperty("message", - containsString(AUTHENTICATED_HTTP_PROXY.getHost())))); + this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), + hasProperty("message", containsString(AUTHENTICATED_HTTP_PROXY.getHost())))); restTemplate.getForObject("http://somehost", String.class); } @Test public void httpProxy() throws Exception { - VaultEnvironmentProperties properties = getVaultEnvironmentProperties(HTTP_PROXY, - null); + VaultEnvironmentProperties properties = getVaultEnvironmentProperties(HTTP_PROXY, null); RestTemplate restTemplate = this.factory.build(properties); this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), hasProperty("message", containsString(HTTP_PROXY.getHost())))); @@ -141,17 +134,16 @@ public class HttpClientVaultRestTemplateFactoryTest { @Test public void httpProxy_notCalled() throws Exception { - VaultEnvironmentProperties properties = getVaultEnvironmentProperties(HTTP_PROXY, - null); + VaultEnvironmentProperties properties = getVaultEnvironmentProperties(HTTP_PROXY, null); RestTemplate restTemplate = this.factory.build(properties); - this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), - hasProperty("message", containsString("somehost")))); + this.expectedException.expectCause( + allOf(instanceOf(UnknownHostException.class), hasProperty("message", containsString("somehost")))); restTemplate.getForObject("https://somehost", String.class); } - private VaultEnvironmentProperties getVaultEnvironmentProperties( - ProxyHostProperties httpProxy, ProxyHostProperties httpsProxy) { + private VaultEnvironmentProperties getVaultEnvironmentProperties(ProxyHostProperties httpProxy, + ProxyHostProperties httpsProxy) { Map proxyMap = new HashMap<>(); proxyMap.put(ProxyHostProperties.ProxyForScheme.HTTP, httpProxy); proxyMap.put(ProxyHostProperties.ProxyForScheme.HTTPS, httpsProxy); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/credentials/AwsCodeCommitCredentialsProviderTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/credentials/AwsCodeCommitCredentialsProviderTests.java index 41456b7f..6828bf64 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/credentials/AwsCodeCommitCredentialsProviderTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/credentials/AwsCodeCommitCredentialsProviderTests.java @@ -56,8 +56,7 @@ public class AwsCodeCommitCredentialsProviderTests { @Before public void init() { GitCredentialsProviderFactory factory = new GitCredentialsProviderFactory(); - this.provider = (AwsCodeCommitCredentialProvider) factory.createFor(AWS_REPO, - USER, PASSWORD, null, false); + this.provider = (AwsCodeCommitCredentialProvider) factory.createFor(AWS_REPO, USER, PASSWORD, null, false); } @Test @@ -70,32 +69,30 @@ public class AwsCodeCommitCredentialsProviderTests { @Test public void testSupportsUsernamePassword() { - assertThat(this.provider.supports(new CredentialItem[] { - new CredentialItem.Username(), new CredentialItem.Password() })).isTrue(); + assertThat(this.provider + .supports(new CredentialItem[] { new CredentialItem.Username(), new CredentialItem.Password() })) + .isTrue(); } @Test public void testNotSupportsOther() { - assertThat(this.provider.supports( - new CredentialItem[] { new CredentialItem.YesNoType("OK To Login?") // this + assertThat(this.provider.supports(new CredentialItem[] { new CredentialItem.YesNoType("OK To Login?") // this // is // not // ok - })).isFalse(); - assertThat(this.provider.supports( - new CredentialItem[] { new CredentialItem.StringType("OK To Login?", true) // this + })).isFalse(); + assertThat(this.provider.supports(new CredentialItem[] { new CredentialItem.StringType("OK To Login?", true) // this // is // not // ok - })).isFalse(); - assertThat(this.provider - .supports(new CredentialItem[] { new CredentialItem.Username(), // this - // is - // ok - new CredentialItem.Password(), // this is ok - new CredentialItem.StringType("OK To Login?", true) // this is not + })).isFalse(); + assertThat(this.provider.supports(new CredentialItem[] { new CredentialItem.Username(), // this + // is // ok - })).isFalse(); + new CredentialItem.Password(), // this is ok + new CredentialItem.StringType("OK To Login?", true) // this is not + // ok + })).isFalse(); } @Test @@ -108,38 +105,31 @@ public class AwsCodeCommitCredentialsProviderTests { public void testAwsCredentialsProviderIsDefinedAfterGet() throws URISyntaxException { AWSCredentialsProvider awsProvider = this.provider.getAwsCredentialProvider(); assertThat(awsProvider).isNull(); - assertThat(this.provider.get(new URIish(AWS_REPO), makeCredentialItems())) - .isTrue(); + assertThat(this.provider.get(new URIish(AWS_REPO), makeCredentialItems())).isTrue(); awsProvider = this.provider.getAwsCredentialProvider(); assertThat(awsProvider).isNotNull(); - assertThat( - awsProvider instanceof AwsCodeCommitCredentialProvider.AWSStaticCredentialsProvider) - .isTrue(); + assertThat(awsProvider instanceof AwsCodeCommitCredentialProvider.AWSStaticCredentialsProvider).isTrue(); } @Test - public void testBadUriReturnsFalse() - throws UnsupportedCredentialItem, URISyntaxException { + public void testBadUriReturnsFalse() throws UnsupportedCredentialItem, URISyntaxException { CredentialItem[] credentialItems = makeCredentialItems(); assertThat(this.provider.get(new URIish(BAD_REPO), credentialItems)).isFalse(); } @Test - public void testUriWithCurlyBracesReturnsTrue() - throws UnsupportedCredentialItem, URISyntaxException { + public void testUriWithCurlyBracesReturnsTrue() throws UnsupportedCredentialItem, URISyntaxException { GitCredentialsProviderFactory factory = new GitCredentialsProviderFactory(); - this.provider = (AwsCodeCommitCredentialProvider) factory - .createFor(CURLY_BRACES_REPO, USER, PASSWORD, null, false); + this.provider = (AwsCodeCommitCredentialProvider) factory.createFor(CURLY_BRACES_REPO, USER, PASSWORD, null, + false); CredentialItem[] credentialItems = makeCredentialItems(); - assertThat(this.provider.get(new URIish(CURLY_BRACES_REPO), credentialItems)) - .isTrue(); + assertThat(this.provider.get(new URIish(CURLY_BRACES_REPO), credentialItems)).isTrue(); } @Test public void testThrowsUnsupportedCredentialException() throws URISyntaxException { CredentialItem[] goodCredentialItems = makeCredentialItems(); - CredentialItem[] badCredentialItems = new CredentialItem[] { - goodCredentialItems[0], goodCredentialItems[1], + CredentialItem[] badCredentialItems = new CredentialItem[] { goodCredentialItems[0], goodCredentialItems[1], new CredentialItem.YesNoType("OK?") }; try { this.provider.get(new URIish(AWS_REPO), badCredentialItems); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/credentials/GitCredentialsProviderFactoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/credentials/GitCredentialsProviderFactoryTests.java index b0794e56..621ca159 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/credentials/GitCredentialsProviderFactoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/credentials/GitCredentialsProviderFactoryTests.java @@ -55,64 +55,55 @@ public class GitCredentialsProviderFactoryTests { @Test public void testCreateForFileNoUsernameIsNull() { - CredentialsProvider provider = this.factory.createFor(FILE_REPO, null, null, null, - false); + CredentialsProvider provider = this.factory.createFor(FILE_REPO, null, null, null, false); assertThat(provider).isNull(); } @Test public void testCreateForFileWithUsername() { - CredentialsProvider provider = this.factory.createFor(FILE_REPO, USER, PASSWORD, - null, false); + CredentialsProvider provider = this.factory.createFor(FILE_REPO, USER, PASSWORD, null, false); assertThat(provider).isNotNull(); assertThat(provider instanceof UsernamePasswordCredentialsProvider).isTrue(); } @Test public void testCreateForServerNoUsernameIsNull() { - CredentialsProvider provider = this.factory.createFor(HTTPS_GIT_REPO, null, null, - null, false); + CredentialsProvider provider = this.factory.createFor(HTTPS_GIT_REPO, null, null, null, false); assertThat(provider).isNull(); } @Test public void testCreateForServerWithUsername() { - CredentialsProvider provider = this.factory.createFor(HTTPS_GIT_REPO, USER, - PASSWORD, null, false); + CredentialsProvider provider = this.factory.createFor(HTTPS_GIT_REPO, USER, PASSWORD, null, false); assertThat(provider).isNotNull(); assertThat(provider instanceof UsernamePasswordCredentialsProvider).isTrue(); } @Test public void testCreateForHttpsServerWithSkipSslValidation() { - CredentialsProvider provider = this.factory.createFor(HTTPS_GIT_REPO, USER, - PASSWORD, null, true); + CredentialsProvider provider = this.factory.createFor(HTTPS_GIT_REPO, USER, PASSWORD, null, true); assertThat(provider).isNotNull(); assertThat(provider instanceof GitSkipSslValidationCredentialsProvider).isTrue(); } @Test public void testCreateForHttpsServerWithoutSpecifyingSkipSslValidation() { - CredentialsProvider provider = this.factory.createFor(HTTPS_GIT_REPO, USER, - PASSWORD, null); + CredentialsProvider provider = this.factory.createFor(HTTPS_GIT_REPO, USER, PASSWORD, null); assertThat(provider).isNotNull(); assertThat(provider instanceof UsernamePasswordCredentialsProvider) - .as("deprecated createFor() should not enable ssl validation skipping") - .isTrue(); + .as("deprecated createFor() should not enable ssl validation skipping").isTrue(); } @Test public void testCreateForSshServerWithSkipSslValidation() { - CredentialsProvider provider = this.factory.createFor(SSH_GIT_REPO, USER, - PASSWORD, null, true); + CredentialsProvider provider = this.factory.createFor(SSH_GIT_REPO, USER, PASSWORD, null, true); assertThat(provider).isNotNull(); assertThat(provider instanceof UsernamePasswordCredentialsProvider).isTrue(); } @Test public void testCreateForAwsNoUsername() { - CredentialsProvider provider = this.factory.createFor(AWS_REPO, null, null, null, - false); + CredentialsProvider provider = this.factory.createFor(AWS_REPO, null, null, null, false); assertThat(provider).isNotNull(); assertThat(provider instanceof AwsCodeCommitCredentialProvider).isTrue(); AwsCodeCommitCredentialProvider aws = (AwsCodeCommitCredentialProvider) provider; @@ -122,8 +113,7 @@ public class GitCredentialsProviderFactoryTests { @Test public void testCreateForAwsWithUsername() { - CredentialsProvider provider = this.factory.createFor(AWS_REPO, USER, PASSWORD, - null, false); + CredentialsProvider provider = this.factory.createFor(AWS_REPO, USER, PASSWORD, null, false); assertThat(provider).isNotNull(); assertThat(provider instanceof AwsCodeCommitCredentialProvider).isTrue(); AwsCodeCommitCredentialProvider aws = (AwsCodeCommitCredentialProvider) provider; @@ -134,8 +124,7 @@ public class GitCredentialsProviderFactoryTests { @Test public void testCreateForAwsDisabled() { this.factory.setAwsCodeCommitEnabled(false); - CredentialsProvider provider = this.factory.createFor(AWS_REPO, null, null, null, - false); + CredentialsProvider provider = this.factory.createFor(AWS_REPO, null, null, null, false); assertThat(provider).isNull(); provider = this.factory.createFor(AWS_REPO, USER, PASSWORD, null, false); assertThat(provider).isNotNull(); @@ -144,8 +133,7 @@ public class GitCredentialsProviderFactoryTests { @Test public void testCreatePassphraseCredentialProvider() { - CredentialsProvider provider = this.factory.createFor(HTTPS_GIT_REPO, null, null, - PASSWORD, false); + CredentialsProvider provider = this.factory.createFor(HTTPS_GIT_REPO, null, null, PASSWORD, false); assertThat(provider).isNotNull(); assertThat(provider instanceof PassphraseCredentialsProvider).isTrue(); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherEnvironmentEncryptorTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherEnvironmentEncryptorTests.java index 3d3b5828..ee5c6338 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherEnvironmentEncryptorTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherEnvironmentEncryptorTests.java @@ -43,8 +43,7 @@ public class CipherEnvironmentEncryptorTests { public CipherEnvironmentEncryptorTests(String salt, String key) { this.textEncryptor = new EncryptorFactory(salt).create(key); - this.encryptor = new CipherEnvironmentEncryptor( - keys -> CipherEnvironmentEncryptorTests.this.textEncryptor); + this.encryptor = new CipherEnvironmentEncryptor(keys -> CipherEnvironmentEncryptorTests.this.textEncryptor); } @Parameters @@ -62,12 +61,13 @@ public class CipherEnvironmentEncryptorTests { // when Environment environment = new Environment("name", "profile", "label"); - environment.add(new PropertySource("a", Collections.singletonMap( - environment.getName(), "{cipher}" + this.textEncryptor.encrypt(secret)))); + environment.add(new PropertySource("a", Collections.singletonMap(environment.getName(), + "{cipher}" + this.textEncryptor.encrypt(secret)))); // then - assertThat(this.encryptor.decrypt(environment).getPropertySources().get(0) - .getSource().get(environment.getName())).isEqualTo(secret); + assertThat( + this.encryptor.decrypt(environment).getPropertySources().get(0).getSource().get(environment.getName())) + .isEqualTo(secret); } @Test @@ -77,13 +77,13 @@ public class CipherEnvironmentEncryptorTests { // when Environment environment = new Environment("name", "profile", "label"); - environment.add(new PropertySource("a", - Collections.singletonMap(environment.getName(), - "{cipher}{key:test}" + this.textEncryptor.encrypt(secret)))); + environment.add(new PropertySource("a", Collections.singletonMap(environment.getName(), + "{cipher}{key:test}" + this.textEncryptor.encrypt(secret)))); // then - assertThat(this.encryptor.decrypt(environment).getPropertySources().get(0) - .getSource().get(environment.getName())).isEqualTo(secret); + assertThat( + this.encryptor.decrypt(environment).getPropertySources().get(0).getSource().get(environment.getName())) + .isEqualTo(secret); } @Test @@ -91,12 +91,12 @@ public class CipherEnvironmentEncryptorTests { // when Environment environment = new Environment("name", "profile", "label"); - environment.add(new PropertySource("a", - Collections.singletonMap(environment.getName(), null))); + environment.add(new PropertySource("a", Collections.singletonMap(environment.getName(), null))); // then - assertThat(this.encryptor.decrypt(environment).getPropertySources().get(0) - .getSource().get(environment.getName())).isEqualTo(null); + assertThat( + this.encryptor.decrypt(environment).getPropertySources().get(0).getSource().get(environment.getName())) + .isEqualTo(null); } @Test @@ -107,13 +107,13 @@ public class CipherEnvironmentEncryptorTests { // when Environment environment = new Environment("name", "profile", "label"); String encrypted = "{cipher}" + this.textEncryptor.encrypt(secret); - environment.add(new PropertySource("a", - Collections.singletonMap(environment.getName(), - new PropertyValueDescriptor(encrypted, "encrypted value")))); + environment.add(new PropertySource("a", Collections.singletonMap(environment.getName(), + new PropertyValueDescriptor(encrypted, "encrypted value")))); // then - assertThat(this.encryptor.decrypt(environment).getPropertySources().get(0) - .getSource().get(environment.getName())).isEqualTo(secret); + assertThat( + this.encryptor.decrypt(environment).getPropertySources().get(0).getSource().get(environment.getName())) + .isEqualTo(secret); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherResourceJsonEncryptorTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherResourceJsonEncryptorTests.java index de49da71..c2bf1035 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherResourceJsonEncryptorTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherResourceJsonEncryptorTests.java @@ -40,13 +40,12 @@ public class CipherResourceJsonEncryptorTests { private TextEncryptor textEncryptor = new EncryptorFactory(salt).create(key); - private CipherResourceJsonEncryptor encryptor = new CipherResourceJsonEncryptor( - new TextEncryptorLocator() { - @Override - public TextEncryptor locate(Map keys) { - return CipherResourceJsonEncryptorTests.this.textEncryptor; - } - }); + private CipherResourceJsonEncryptor encryptor = new CipherResourceJsonEncryptor(new TextEncryptorLocator() { + @Override + public TextEncryptor locate(Map keys) { + return CipherResourceJsonEncryptorTests.this.textEncryptor; + } + }); @Test public void whenDecryptResource_thenAllEncryptedValuesDecrypted() throws Exception { diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherResourceYamlEncryptorTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherResourceYamlEncryptorTests.java index 72c29668..7cdabf67 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherResourceYamlEncryptorTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/CipherResourceYamlEncryptorTests.java @@ -40,13 +40,12 @@ public class CipherResourceYamlEncryptorTests { private TextEncryptor textEncryptor = new EncryptorFactory(salt).create(key); - private CipherResourceYamlEncryptor encryptor = new CipherResourceYamlEncryptor( - new TextEncryptorLocator() { - @Override - public TextEncryptor locate(Map keys) { - return CipherResourceYamlEncryptorTests.this.textEncryptor; - } - }); + private CipherResourceYamlEncryptor encryptor = new CipherResourceYamlEncryptor(new TextEncryptorLocator() { + @Override + public TextEncryptor locate(Map keys) { + return CipherResourceYamlEncryptorTests.this.textEncryptor; + } + }); @Test public void whenDecryptResource_thenAllEncryptedValuesDecrypted() throws Exception { diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerMultiTextEncryptorTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerMultiTextEncryptorTests.java index 8b517a30..5f4b9c94 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerMultiTextEncryptorTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerMultiTextEncryptorTests.java @@ -30,8 +30,7 @@ import static org.springframework.http.MediaType.TEXT_PLAIN; public class EncryptionControllerMultiTextEncryptorTests { - EncryptionController controller = new EncryptionController( - new SingleTextEncryptorLocator(Encryptors.noOpText())); + EncryptionController controller = new EncryptionController(new SingleTextEncryptorLocator(Encryptors.noOpText())); String application = "application"; @@ -46,12 +45,11 @@ public class EncryptionControllerMultiTextEncryptorTests { new SingleTextEncryptorLocator(Encryptors.text("application", "11"))); // when - String encrypted = this.controller.encrypt(this.application, this.profiles, - this.data, TEXT_PLAIN); + String encrypted = this.controller.encrypt(this.application, this.profiles, this.data, TEXT_PLAIN); // then - assertThat(this.controller.decrypt(this.application, this.profiles, encrypted, - TEXT_PLAIN)).isEqualTo(this.data); + assertThat(this.controller.decrypt(this.application, this.profiles, encrypted, TEXT_PLAIN)) + .isEqualTo(this.data); } @Test(expected = EncryptionTooWeakException.class) diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerTests.java index ad2a17f2..d99bb742 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerTests.java @@ -54,73 +54,56 @@ public class EncryptionControllerTests { @Test(expected = InvalidCipherException.class) public void shouldThrowExceptionOnDecryptInvalidData() { - this.controller = new EncryptionController( - new SingleTextEncryptorLocator(new RsaSecretEncryptor())); + this.controller = new EncryptionController(new SingleTextEncryptorLocator(new RsaSecretEncryptor())); this.controller.decrypt("foo", MediaType.TEXT_PLAIN); } @Test(expected = InvalidCipherException.class) public void shouldThrowExceptionOnDecryptWrongKey() { RsaSecretEncryptor encryptor = new RsaSecretEncryptor(); - this.controller = new EncryptionController( - new SingleTextEncryptorLocator(new RsaSecretEncryptor())); + this.controller = new EncryptionController(new SingleTextEncryptorLocator(new RsaSecretEncryptor())); this.controller.decrypt(encryptor.encrypt("foo"), MediaType.TEXT_PLAIN); } @Test public void sunnyDayRsaKey() { - this.controller = new EncryptionController( - new SingleTextEncryptorLocator(new RsaSecretEncryptor())); + this.controller = new EncryptionController(new SingleTextEncryptorLocator(new RsaSecretEncryptor())); String cipher = this.controller.encrypt("foo", MediaType.TEXT_PLAIN); - assertThat(this.controller.decrypt(cipher, MediaType.TEXT_PLAIN)) - .isEqualTo("foo"); + assertThat(this.controller.decrypt(cipher, MediaType.TEXT_PLAIN)).isEqualTo("foo"); } @Test public void publicKey() { - this.controller = new EncryptionController( - new SingleTextEncryptorLocator(new RsaSecretEncryptor())); + this.controller = new EncryptionController(new SingleTextEncryptorLocator(new RsaSecretEncryptor())); String key = this.controller.getPublicKey(); assertThat(key.startsWith("ssh-rsa")).as("Wrong key format: " + key).isTrue(); } @Test public void appAndProfile() { - this.controller = new EncryptionController( - new SingleTextEncryptorLocator(new RsaSecretEncryptor())); + this.controller = new EncryptionController(new SingleTextEncryptorLocator(new RsaSecretEncryptor())); // Add space to input - String cipher = this.controller.encrypt("app", "default", "foo bar", - MediaType.TEXT_PLAIN); - String decrypt = this.controller.decrypt("app", "default", cipher, - MediaType.TEXT_PLAIN); - assertThat(decrypt).as("Wrong decrypted plaintext: " + decrypt) - .isEqualTo("foo bar"); + String cipher = this.controller.encrypt("app", "default", "foo bar", MediaType.TEXT_PLAIN); + String decrypt = this.controller.decrypt("app", "default", cipher, MediaType.TEXT_PLAIN); + assertThat(decrypt).as("Wrong decrypted plaintext: " + decrypt).isEqualTo("foo bar"); } @Test public void formDataIn() { - this.controller = new EncryptionController( - new SingleTextEncryptorLocator(new RsaSecretEncryptor())); + this.controller = new EncryptionController(new SingleTextEncryptorLocator(new RsaSecretEncryptor())); // Add space to input - String cipher = this.controller.encrypt("foo bar=", - MediaType.APPLICATION_FORM_URLENCODED); - String decrypt = this.controller.decrypt(cipher + "=", - MediaType.APPLICATION_FORM_URLENCODED); - assertThat(decrypt).as("Wrong decrypted plaintext: " + decrypt) - .isEqualTo("foo bar"); + String cipher = this.controller.encrypt("foo bar=", MediaType.APPLICATION_FORM_URLENCODED); + String decrypt = this.controller.decrypt(cipher + "=", MediaType.APPLICATION_FORM_URLENCODED); + assertThat(decrypt).as("Wrong decrypted plaintext: " + decrypt).isEqualTo("foo bar"); } @Test public void formDataInWithPrefix() { - this.controller = new EncryptionController( - new SingleTextEncryptorLocator(new RsaSecretEncryptor())); + this.controller = new EncryptionController(new SingleTextEncryptorLocator(new RsaSecretEncryptor())); // Add space to input - String cipher = this.controller.encrypt("{key:test}foo bar=", - MediaType.APPLICATION_FORM_URLENCODED); - String decrypt = this.controller.decrypt(cipher + "=", - MediaType.APPLICATION_FORM_URLENCODED); - assertThat(decrypt).as("Wrong decrypted plaintext: " + decrypt) - .isEqualTo("foo bar"); + String cipher = this.controller.encrypt("{key:test}foo bar=", MediaType.APPLICATION_FORM_URLENCODED); + String decrypt = this.controller.decrypt(cipher + "=", MediaType.APPLICATION_FORM_URLENCODED); + assertThat(decrypt).as("Wrong decrypted plaintext: " + decrypt).isEqualTo("foo bar"); } @Test @@ -128,27 +111,22 @@ public class EncryptionControllerTests { TextEncryptor encryptor = mock(TextEncryptor.class); when(encryptor.encrypt(anyString())).thenReturn("myEncryptedValue"); - this.controller = new EncryptionController( - new SingleTextEncryptorLocator(encryptor)); + this.controller = new EncryptionController(new SingleTextEncryptorLocator(encryptor)); this.controller.encrypt("{key:test}foo", MediaType.TEXT_PLAIN); ArgumentCaptor captor = ArgumentCaptor.forClass(String.class); verify(encryptor, atLeastOnce()).encrypt(captor.capture()); - assertThat(captor.getValue()).doesNotContain("{key:test}") - .as("Prefix must be stripped prior to encrypt"); + assertThat(captor.getValue()).doesNotContain("{key:test}").as("Prefix must be stripped prior to encrypt"); } @Test public void encryptDecyptTextWithCurlyBrace() { - this.controller = new EncryptionController( - new SingleTextEncryptorLocator(new RsaSecretEncryptor())); + this.controller = new EncryptionController(new SingleTextEncryptorLocator(new RsaSecretEncryptor())); String plain = "textwith}brace"; - String cipher = this.controller.encrypt(plain, - MediaType.APPLICATION_FORM_URLENCODED); - String decrypt = this.controller.decrypt(cipher, - MediaType.APPLICATION_FORM_URLENCODED); + String cipher = this.controller.encrypt(plain, MediaType.APPLICATION_FORM_URLENCODED); + String decrypt = this.controller.decrypt(cipher, MediaType.APPLICATION_FORM_URLENCODED); assertThat(decrypt).isEqualTo(plain); } @@ -165,13 +143,10 @@ public class EncryptionControllerTests { }; this.controller = new EncryptionController(locator); // Add space to input - String cipher = this.controller.encrypt("app", "default", "foo bar", - MediaType.TEXT_PLAIN); + String cipher = this.controller.encrypt("app", "default", "foo bar", MediaType.TEXT_PLAIN); assertThat(cipher.contains("{name:app}")).as("Wrong cipher: " + cipher).isFalse(); - String decrypt = this.controller.decrypt("app", "default", cipher, - MediaType.TEXT_PLAIN); - assertThat(decrypt).as("Wrong decrypted plaintext: " + decrypt) - .isEqualTo("foo bar"); + String decrypt = this.controller.decrypt("app", "default", cipher, MediaType.TEXT_PLAIN); + assertThat(decrypt).as("Wrong decrypted plaintext: " + decrypt).isEqualTo("foo bar"); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionIntegrationTests.java index 3203cc3c..630f93e6 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionIntegrationTests.java @@ -40,8 +40,8 @@ public class EncryptionIntegrationTests { @RunWith(SpringRunner.class) @SpringBootTest(classes = { ConfigServerApplication.class }, - webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = { - "spring.config.use-legacy-processing=true", "encrypt.key=foobar" }) + webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, + properties = { "spring.config.use-legacy-processing=true", "encrypt.key=foobar" }) @ActiveProfiles({ "test", "native" }) @DirtiesContext public static class ConfigSymmetricEncryptionIntegrationTests { @@ -51,8 +51,7 @@ public class EncryptionIntegrationTests { @Test public void symmetricEncryptionEnabled() throws Exception { - ResponseEntity entity = this.testRestTemplate - .getForEntity("/encrypt/status", String.class); + ResponseEntity entity = this.testRestTemplate.getForEntity("/encrypt/status", String.class); assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); } @@ -72,8 +71,7 @@ public class EncryptionIntegrationTests { @Test public void symmetricEncryptionBootstrapConfig() throws Exception { - ResponseEntity entity = this.testRestTemplate - .getForEntity("/encrypt/status", String.class); + ResponseEntity entity = this.testRestTemplate.getForEntity("/encrypt/status", String.class); assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); } @@ -93,8 +91,7 @@ public class EncryptionIntegrationTests { @Test public void keystoreBootstrapConfig() throws Exception { - ResponseEntity entity = this.testRestTemplate - .getForEntity("/encrypt/status", String.class); + ResponseEntity entity = this.testRestTemplate.getForEntity("/encrypt/status", String.class); assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); } @@ -102,10 +99,8 @@ public class EncryptionIntegrationTests { @RunWith(SpringRunner.class) @SpringBootTest(classes = { ConfigServerApplication.class }, - properties = { "spring.config.use-legacy-processing=true", - "spring.cloud.bootstrap.name:keystore-bootstrap", - "spring.cloud.config.server.encrypt.enabled=false", - "encrypt.keyStore.alias=myencryptionkey" }, + properties = { "spring.config.use-legacy-processing=true", "spring.cloud.bootstrap.name:keystore-bootstrap", + "spring.cloud.config.server.encrypt.enabled=false", "encrypt.keyStore.alias=myencryptionkey" }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @ActiveProfiles({ "test", "git" }) @DirtiesContext @@ -116,29 +111,25 @@ public class EncryptionIntegrationTests { @BeforeClass public static void setupTest() throws Exception { - ConfigServerTestUtils.prepareLocalRepo("./", "target/repos", "encrypt-repo", - "target/config"); + ConfigServerTestUtils.prepareLocalRepo("./", "target/repos", "encrypt-repo", "target/config"); } @Test public void shouldOnlySupportEncryption() { - ResponseEntity entity = this.testRestTemplate - .getForEntity("/keystore-bootstrap/encrypt", String.class); + ResponseEntity entity = this.testRestTemplate.getForEntity("/keystore-bootstrap/encrypt", + String.class); assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); assertThat(entity.getBody()).contains( "{cipher}{key:mytestkey}AQCohs2V6P8/UiG6a4TF/CZTCBdt5Q7wvNvcyf6vs2ByK2ZYSM77Nu0sOAduxUpMbVwJ/syecmkIXR+hU3EfT2uqPieA7/v5n33ppqIQ9JAt5JggdYIGe+wX25zU3DTXOOJdAAMzNX+zjOVyCh0QtmJf/kFslg6NqQq0E+kSg3zBi3AnkKj5BLnLIxkjxzKA4mnDXpSm7ekLZZP2iQSYSW/82AC7UOLLzTqwInMI3tJLW1e9Ne+LDsjmSxA+nkK9zhidtXPwb/SPaNF74cJCEf9mgzzKYwJlwqChLzJt8UQ1jHwRc8B6FufmizUHSp27nxdtVB4HMqh3nNsMCy137Ces58T09ZS/y/cYNRxcFbp78MHFHUqAgbC0B/p5t6h4XbQ="); HttpEntity encryptionRequest = new HttpEntity<>("valueToBeEncrypted"); - entity = this.testRestTemplate.postForEntity("/encrypt", encryptionRequest, - String.class); + entity = this.testRestTemplate.postForEntity("/encrypt", encryptionRequest, String.class); assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); HttpHeaders decryptionRequestHeaders = new HttpHeaders(); decryptionRequestHeaders.setContentType(MediaType.TEXT_PLAIN); - HttpEntity decryptionRequest = new HttpEntity<>(entity.getBody(), - decryptionRequestHeaders); - entity = this.testRestTemplate.postForEntity("/decrypt", decryptionRequest, - String.class); + HttpEntity decryptionRequest = new HttpEntity<>(entity.getBody(), decryptionRequestHeaders); + entity = this.testRestTemplate.postForEntity("/decrypt", decryptionRequest, String.class); assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EnvironmentPrefixHelperTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EnvironmentPrefixHelperTests.java index db4cb64e..3e585c83 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EnvironmentPrefixHelperTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EnvironmentPrefixHelperTests.java @@ -33,14 +33,12 @@ public class EnvironmentPrefixHelperTests { @Test public void testAddPrefix() { - assertThat(this.helper.addPrefix(Collections.singletonMap("bar", "spam"), "foo")) - .isEqualTo("{bar:spam}foo"); + assertThat(this.helper.addPrefix(Collections.singletonMap("bar", "spam"), "foo")).isEqualTo("{bar:spam}foo"); } @Test public void testAddNoPrefix() { - assertThat(this.helper.addPrefix(Collections.emptyMap(), "foo")) - .isEqualTo("foo"); + assertThat(this.helper.addPrefix(Collections.emptyMap(), "foo")).isEqualTo("foo"); } @Test @@ -55,8 +53,7 @@ public class EnvironmentPrefixHelperTests { @Test public void testStripPrefixWithEscape() { - assertThat(this.helper.stripPrefix("{plain}{key:foo}foo")) - .isEqualTo("{key:foo}foo"); + assertThat(this.helper.stripPrefix("{plain}{key:foo}foo")).isEqualTo("{key:foo}foo"); } @Test @@ -68,31 +65,27 @@ public class EnvironmentPrefixHelperTests { @Test public void testKeysWithPrefix() { - Map keys = this.helper.getEncryptorKeys("foo", "bar", - "{key:mykey}foo"); + Map keys = this.helper.getEncryptorKeys("foo", "bar", "{key:mykey}foo"); assertThat(keys.size()).isEqualTo(3); assertThat(keys.get("key")).isEqualTo("mykey"); } @Test public void testKeysWithPrefixAndEscape() { - Map keys = this.helper.getEncryptorKeys("foo", "bar", - "{key:mykey}{plain}{foo:bar}foo"); + Map keys = this.helper.getEncryptorKeys("foo", "bar", "{key:mykey}{plain}{foo:bar}foo"); assertThat(keys.size()).isEqualTo(3); assertThat(keys.get("key")).isEqualTo("mykey"); } @Test public void testTextWithCurlyBracesNoPrefix() { - assertThat(this.helper.stripPrefix("textwith}brac{es")) - .isEqualTo("textwith}brac{es"); + assertThat(this.helper.stripPrefix("textwith}brac{es")).isEqualTo("textwith}brac{es"); } @Test public void testTextWithCurlyBracesPrefix() { - assertThat( - this.helper.stripPrefix("{key:foo}{name:bar}textwith}brac{es{and}prefix")) - .isEqualTo("textwith}brac{es{and}prefix"); + assertThat(this.helper.stripPrefix("{key:foo}{name:bar}textwith}brac{es{and}prefix")) + .isEqualTo("textwith}brac{es{and}prefix"); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/KeyStoreTextEncryptorLocatorTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/KeyStoreTextEncryptorLocatorTests.java index 2fb7db23..0ac1682e 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/KeyStoreTextEncryptorLocatorTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/KeyStoreTextEncryptorLocatorTests.java @@ -35,14 +35,12 @@ import static org.assertj.core.api.Assertions.assertThat; public class KeyStoreTextEncryptorLocatorTests { private KeyStoreTextEncryptorLocator locator = new KeyStoreTextEncryptorLocator( - new KeyStoreKeyFactory(new ClassPathResource("server.jks"), - "letmein".toCharArray()), - "changeme", "mytestkey"); + new KeyStoreKeyFactory(new ClassPathResource("server.jks"), "letmein".toCharArray()), "changeme", + "mytestkey"); @Test public void testDefaults() { - TextEncryptor encryptor = this.locator - .locate(Collections.emptyMap()); + TextEncryptor encryptor = this.locator.locate(Collections.emptyMap()); assertThat(encryptor.decrypt(encryptor.encrypt("foo"))).isEqualTo("foo"); } @@ -57,8 +55,7 @@ public class KeyStoreTextEncryptorLocatorTests { return "letmein".toCharArray(); } }); - TextEncryptor encryptor = this.locator - .locate(Collections.singletonMap("key", "mykey")); + TextEncryptor encryptor = this.locator.locate(Collections.singletonMap("key", "mykey")); assertThat(encryptor.decrypt(encryptor.encrypt("foo"))).isEqualTo("foo"); } @@ -73,10 +70,8 @@ public class KeyStoreTextEncryptorLocatorTests { @Test public void testDefaultEncryptor() { - TextEncryptor encryptor1 = this.locator - .locate(Collections.emptyMap()); - TextEncryptor encryptor2 = this.locator - .locate(Collections.emptyMap()); + TextEncryptor encryptor1 = this.locator.locate(Collections.emptyMap()); + TextEncryptor encryptor2 = this.locator.locate(Collections.emptyMap()); assertThat(encryptor1).isEqualTo(encryptor2); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryTests.java index 4c6650b6..e864d515 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryTests.java @@ -47,36 +47,26 @@ public class AwsS3EnvironmentRepositoryTests { final AmazonS3 s3Client = mock(AmazonS3.class, "config"); - final EnvironmentRepository envRepo = new AwsS3EnvironmentRepository(s3Client, - "bucket1", server); + final EnvironmentRepository envRepo = new AwsS3EnvironmentRepository(s3Client, "bucket1", server); - final String propertyContent = "cloudfoundry.enabled=true\n" - + "cloudfoundry.accounts[0].name=acc1\n" - + "cloudfoundry.accounts[0].user=user1\n" - + "cloudfoundry.accounts[0].password=password1\n" - + "cloudfoundry.accounts[0].api=api.sys.acc1.cf-app.com\n" - + "cloudfoundry.accounts[0].environment=test1\n" - + "cloudfoundry.accounts[1].name=acc2\n" - + "cloudfoundry.accounts[1].user=user2\n" - + "cloudfoundry.accounts[1].password=password2\n" - + "cloudfoundry.accounts[1].api=api.sys.acc2.cf-app.com\n" + final String propertyContent = "cloudfoundry.enabled=true\n" + "cloudfoundry.accounts[0].name=acc1\n" + + "cloudfoundry.accounts[0].user=user1\n" + "cloudfoundry.accounts[0].password=password1\n" + + "cloudfoundry.accounts[0].api=api.sys.acc1.cf-app.com\n" + "cloudfoundry.accounts[0].environment=test1\n" + + "cloudfoundry.accounts[1].name=acc2\n" + "cloudfoundry.accounts[1].user=user2\n" + + "cloudfoundry.accounts[1].password=password2\n" + "cloudfoundry.accounts[1].api=api.sys.acc2.cf-app.com\n" + "cloudfoundry.accounts[1].environment=test2\n"; - final String yamlContent = "cloudfoundry:\n" + " enabled: true\n" + " accounts:\n" - + " - name: acc1\n" + " user: 'user1'\n" - + " password: 'password1'\n" + " api: api.sys.acc1.cf-app.com\n" - + " environment: test1\n" + " - name: acc2\n" - + " user: 'user2'\n" + " password: 'password2'\n" - + " api: api.sys.acc2.cf-app.com\n" + " environment: test2\n"; + final String yamlContent = "cloudfoundry:\n" + " enabled: true\n" + " accounts:\n" + " - name: acc1\n" + + " user: 'user1'\n" + " password: 'password1'\n" + " api: api.sys.acc1.cf-app.com\n" + + " environment: test1\n" + " - name: acc2\n" + " user: 'user2'\n" + + " password: 'password2'\n" + " api: api.sys.acc2.cf-app.com\n" + " environment: test2\n"; - final String jsonContent = "{\n" + " \"cloudfoundry\": {\n" + " \"enabled\": true,\n" - + " \"accounts\": [{\n" + " \"name\": \"acc1\",\n" - + " \"user\": \"user1\",\n" + " \"password\": \"password1\",\n" - + " \"api\": \"api.sys.acc1.cf-app.com\",\n" - + " \"environment\": \"test1\"\n" + " }, {\n" + " \"name\": \"acc2\",\n" - + " \"user\": \"user2\",\n" + " \"password\": \"password2\",\n" - + " \"api\": \"api.sys.acc2.cf-app.com\",\n" - + " \"environment\": \"test2\"\n" + " }]\n" + " }\n" + "}"; + final String jsonContent = "{\n" + " \"cloudfoundry\": {\n" + " \"enabled\": true,\n" + " \"accounts\": [{\n" + + " \"name\": \"acc1\",\n" + " \"user\": \"user1\",\n" + " \"password\": \"password1\",\n" + + " \"api\": \"api.sys.acc1.cf-app.com\",\n" + " \"environment\": \"test1\"\n" + " }, {\n" + + " \"name\": \"acc2\",\n" + " \"user\": \"user2\",\n" + " \"password\": \"password2\",\n" + + " \"api\": \"api.sys.acc2.cf-app.com\",\n" + " \"environment\": \"test2\"\n" + " }]\n" + " }\n" + + "}"; final Properties expectedProperties = new Properties(); @@ -185,13 +175,11 @@ public class AwsS3EnvironmentRepositoryTests { assertExpectedEnvironment(env, "foo", null, "v1", 1, "bar"); } - private void setupS3(String fileName, String propertyContent) - throws UnsupportedEncodingException { + private void setupS3(String fileName, String propertyContent) throws UnsupportedEncodingException { setupS3(fileName, null, propertyContent); } - private void setupS3(String fileName, String version, String propertyContent) - throws UnsupportedEncodingException { + private void setupS3(String fileName, String version, String propertyContent) throws UnsupportedEncodingException { final S3ObjectId s3ObjectId = new S3ObjectId("bucket1", fileName); final GetObjectRequest request = new GetObjectRequest(s3ObjectId); @@ -204,12 +192,11 @@ public class AwsS3EnvironmentRepositoryTests { s3Object.setObjectMetadata(metadata); } - when(s3Client.getObject(argThat(new GetObjectRequestMatcher(request)))) - .thenReturn(s3Object); + when(s3Client.getObject(argThat(new GetObjectRequestMatcher(request)))).thenReturn(s3Object); } - private void assertExpectedEnvironment(Environment env, String applicationName, - String label, String version, int propertySourceCount, String... profiles) { + private void assertExpectedEnvironment(Environment env, String applicationName, String label, String version, + int propertySourceCount, String... profiles) { assertThat(env.getName()).isEqualTo(applicationName); assertThat(env.getProfiles()).isEqualTo(profiles); assertThat(env.getLabel()).isEqualTo(label); @@ -220,8 +207,7 @@ public class AwsS3EnvironmentRepositoryTests { } } - private static class GetObjectRequestMatcher - implements ArgumentMatcher { + private static class GetObjectRequestMatcher implements ArgumentMatcher { private final GetObjectRequest expected; diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/CompositeEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/CompositeEnvironmentRepositoryTests.java index 895274d9..e0ee7268 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/CompositeEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/CompositeEnvironmentRepositoryTests.java @@ -66,18 +66,17 @@ public class CompositeEnvironmentRepositoryTests { Environment e3 = new Environment("app", "dev"); e3.add(p3); e3.add(p4); - SearchPathLocator.Locations loc1 = new SearchPathLocator.Locations("app", "dev", - "label", "version", new String[] { sLoc1 }); - SearchPathLocator.Locations loc2 = new SearchPathLocator.Locations("app", "dev", - "label", "version", new String[] { sLoc5, sLoc4 }); - SearchPathLocator.Locations loc3 = new SearchPathLocator.Locations("app", "dev", - "label", "version", new String[] { sLoc3, sLoc2 }); + SearchPathLocator.Locations loc1 = new SearchPathLocator.Locations("app", "dev", "label", "version", + new String[] { sLoc1 }); + SearchPathLocator.Locations loc2 = new SearchPathLocator.Locations("app", "dev", "label", "version", + new String[] { sLoc5, sLoc4 }); + SearchPathLocator.Locations loc3 = new SearchPathLocator.Locations("app", "dev", "label", "version", + new String[] { sLoc3, sLoc2 }); List repos = new ArrayList(); repos.add(new TestOrderedEnvironmentRepository(3, e1, loc1)); repos.add(new TestOrderedEnvironmentRepository(2, e3, loc2)); repos.add(new TestOrderedEnvironmentRepository(1, e2, loc3)); - SearchPathCompositeEnvironmentRepository compositeRepo = new SearchPathCompositeEnvironmentRepository( - repos); + SearchPathCompositeEnvironmentRepository compositeRepo = new SearchPathCompositeEnvironmentRepository(repos); Environment compositeEnv = compositeRepo.findOne("foo", "bar", "world", false); List propertySources = compositeEnv.getPropertySources(); assertThat(propertySources.size()).isEqualTo(5); @@ -87,8 +86,7 @@ public class CompositeEnvironmentRepositoryTests { assertThat(propertySources.get(3).getName()).isEqualTo("p1"); assertThat(propertySources.get(4).getName()).isEqualTo("p5"); - SearchPathLocator.Locations locations = compositeRepo.getLocations("app", "dev", - "label"); + SearchPathLocator.Locations locations = compositeRepo.getLocations("app", "dev", "label"); String[] locationStrings = locations.getLocations(); assertThat(locationStrings.length).isEqualTo(5); assertThat(locationStrings[0]).isEqualTo(sLoc3); @@ -114,17 +112,16 @@ public class CompositeEnvironmentRepositoryTests { e2.add(p2); e2.setVersion("2"); e2.setState("state2"); - SearchPathLocator.Locations loc1 = new SearchPathLocator.Locations("app", "dev", - "label", "version", new String[] { sLoc1 }); - SearchPathLocator.Locations loc2 = new SearchPathLocator.Locations("app", "dev", - "label", "version", new String[] { sLoc1, sLoc2 }); + SearchPathLocator.Locations loc1 = new SearchPathLocator.Locations("app", "dev", "label", "version", + new String[] { sLoc1 }); + SearchPathLocator.Locations loc2 = new SearchPathLocator.Locations("app", "dev", "label", "version", + new String[] { sLoc1, sLoc2 }); List repos = new ArrayList(); repos.add(new TestOrderedEnvironmentRepository(3, e1, loc1)); List repos2 = new ArrayList(); repos2.add(new TestOrderedEnvironmentRepository(3, e1, loc1)); repos2.add(new TestOrderedEnvironmentRepository(3, e2, loc2)); - SearchPathCompositeEnvironmentRepository compositeRepo = new SearchPathCompositeEnvironmentRepository( - repos); + SearchPathCompositeEnvironmentRepository compositeRepo = new SearchPathCompositeEnvironmentRepository(repos); SearchPathCompositeEnvironmentRepository multiCompositeRepo = new SearchPathCompositeEnvironmentRepository( repos2); Environment env = compositeRepo.findOne("app", "dev", "label", false); @@ -145,8 +142,7 @@ public class CompositeEnvironmentRepositoryTests { } } - private static class TestOrderedEnvironmentRepository - implements EnvironmentRepository, SearchPathLocator, Ordered { + private static class TestOrderedEnvironmentRepository implements EnvironmentRepository, SearchPathLocator, Ordered { private Environment env; @@ -154,8 +150,7 @@ public class CompositeEnvironmentRepositoryTests { private int order = Ordered.LOWEST_PRECEDENCE; - TestOrderedEnvironmentRepository(int order, Environment env, - Locations locations) { + TestOrderedEnvironmentRepository(int order, Environment env, Locations locations) { this.order = order; this.env = env; this.locations = locations; @@ -167,8 +162,7 @@ public class CompositeEnvironmentRepositoryTests { } @Override - public Environment findOne(String application, String profile, String label, - boolean includeOrigin) { + public Environment findOne(String application, String profile, String label, boolean includeOrigin) { return env; } @@ -190,9 +184,8 @@ public class CompositeEnvironmentRepositoryTests { @Bean @Primary CompositeEnvironmentRepository customCompositeEnvironmentRepository() { - return new CompositeEnvironmentRepository(Arrays - .asList(new TestOrderedEnvironmentRepository(1, - new Environment("app", "dev"), null))); + return new CompositeEnvironmentRepository(Arrays.asList( + new TestOrderedEnvironmentRepository(1, new Environment("app", "dev"), null))); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/ConfigurableHttpConnectionFactoryIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/ConfigurableHttpConnectionFactoryIntegrationTests.java index da780df9..68a2ac1e 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/ConfigurableHttpConnectionFactoryIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/ConfigurableHttpConnectionFactoryIntegrationTests.java @@ -101,12 +101,10 @@ public class ConfigurableHttpConnectionFactoryIntegrationTests { public void authenticatedHttpsProxy() throws Exception { String repoUrl = "https://myrepo/repo.git"; new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) - .properties(gitProperties(repoUrl, null, AUTHENTICATED_HTTPS_PROXY)) - .run(); + .properties(gitProperties(repoUrl, null, AUTHENTICATED_HTTPS_PROXY)).run(); HttpClient httpClient = getHttpClientForUrl(repoUrl); - this.expectedException.expectCause( - allOf(instanceOf(UnknownHostException.class), hasProperty("message", - containsString(AUTHENTICATED_HTTPS_PROXY.getHost())))); + this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), + hasProperty("message", containsString(AUTHENTICATED_HTTPS_PROXY.getHost())))); makeRequest(httpClient, "https://somehost"); } @@ -126,9 +124,7 @@ public class ConfigurableHttpConnectionFactoryIntegrationTests { @Test public void httpsProxy_placeholderUrl() throws Exception { new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) - .properties(gitProperties( - "https://myrepo/{placeholder1}/{placeholder2}-repo.git", null, - HTTPS_PROXY)) + .properties(gitProperties("https://myrepo/{placeholder1}/{placeholder2}-repo.git", null, HTTPS_PROXY)) .run(); HttpClient httpClient = getHttpClientForUrl( "https://myrepo/someplaceholdervalue/anotherplaceholdervalue-repo.git"); @@ -144,8 +140,8 @@ public class ConfigurableHttpConnectionFactoryIntegrationTests { new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .properties(gitProperties(repoUrl, null, HTTPS_PROXY)).run(); HttpClient httpClient = getHttpClientForUrl(repoUrl); - this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), - hasProperty("message", containsString("somehost")))); + this.expectedException.expectCause( + allOf(instanceOf(UnknownHostException.class), hasProperty("message", containsString("somehost")))); makeRequest(httpClient, "http://somehost"); } @@ -156,9 +152,8 @@ public class ConfigurableHttpConnectionFactoryIntegrationTests { new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .properties(gitProperties(repoUrl, AUTHENTICATED_HTTP_PROXY, null)).run(); HttpClient httpClient = getHttpClientForUrl(repoUrl); - this.expectedException.expectCause( - allOf(instanceOf(UnknownHostException.class), hasProperty("message", - containsString(AUTHENTICATED_HTTP_PROXY.getHost())))); + this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), + hasProperty("message", containsString(AUTHENTICATED_HTTP_PROXY.getHost())))); makeRequest(httpClient, "http://somehost"); } @@ -178,11 +173,8 @@ public class ConfigurableHttpConnectionFactoryIntegrationTests { @Test public void httpProxy_placeholderUrl() throws Exception { new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) - .properties(gitProperties("https://myrepo/{placeholder}-repo.git", - HTTP_PROXY, null)) - .run(); - HttpClient httpClient = getHttpClientForUrl( - "https://myrepo/someplaceholdervalue-repo.git"); + .properties(gitProperties("https://myrepo/{placeholder}-repo.git", HTTP_PROXY, null)).run(); + HttpClient httpClient = getHttpClientForUrl("https://myrepo/someplaceholdervalue-repo.git"); this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), hasProperty("message", containsString(HTTP_PROXY.getHost())))); @@ -195,8 +187,8 @@ public class ConfigurableHttpConnectionFactoryIntegrationTests { new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .properties(gitProperties(repoUrl, HTTP_PROXY, null)).run(); HttpClient httpClient = getHttpClientForUrl(repoUrl); - this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), - hasProperty("message", containsString("somehost")))); + this.expectedException.expectCause( + allOf(instanceOf(UnknownHostException.class), hasProperty("message", containsString("somehost")))); makeRequest(httpClient, "https://somehost"); } @@ -208,8 +200,7 @@ public class ConfigurableHttpConnectionFactoryIntegrationTests { ProxySelector.setDefault(new ProxySelector() { @Override public List select(URI uri) { - InetSocketAddress address = new InetSocketAddress( - HTTP_PROXY.getHost(), HTTP_PROXY.getPort()); + InetSocketAddress address = new InetSocketAddress(HTTP_PROXY.getHost(), HTTP_PROXY.getPort()); Proxy proxy = new Proxy(Proxy.Type.HTTP, address); return Collections.singletonList(proxy); } @@ -220,13 +211,10 @@ public class ConfigurableHttpConnectionFactoryIntegrationTests { } }); String repoUrl = "https://myrepo/repo.git"; - new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE).properties(new String[] { - "spring.cloud.config.server.git.uri=" + repoUrl }) - .run(); + new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .properties(new String[] { "spring.cloud.config.server.git.uri=" + repoUrl }).run(); HttpClient httpClient = getHttpClientForUrl(repoUrl); - this.expectedException.expectCause(allOf( - instanceOf(UnknownHostException.class), + this.expectedException.expectCause(allOf(instanceOf(UnknownHostException.class), hasProperty("message", containsString(HTTP_PROXY.getHost())))); makeRequest(httpClient, "http://somehost"); @@ -236,44 +224,32 @@ public class ConfigurableHttpConnectionFactoryIntegrationTests { } } - private String[] gitProperties(String repoUrl, ProxyHostProperties httpProxy, - ProxyHostProperties httpsProxy) { + private String[] gitProperties(String repoUrl, ProxyHostProperties httpProxy, ProxyHostProperties httpsProxy) { List result = new ArrayList<>(); result.add("spring.cloud.config.server.git.uri=" + repoUrl); if (httpProxy != null) { - result.addAll(Arrays.asList( - "spring.cloud.config.server.git.proxy.http.host=" - + httpProxy.getHost(), - "spring.cloud.config.server.git.proxy.http.port=" - + httpProxy.getPort())); + result.addAll(Arrays.asList("spring.cloud.config.server.git.proxy.http.host=" + httpProxy.getHost(), + "spring.cloud.config.server.git.proxy.http.port=" + httpProxy.getPort())); if (httpProxy.getUsername() != null && httpProxy.getPassword() != null) { - result.addAll(Arrays.asList( - "spring.cloud.config.server.git.proxy.http.username=" - + httpProxy.getUsername(), - "spring.cloud.config.server.git.proxy.http.password=" - + httpProxy.getPassword())); + result.addAll( + Arrays.asList("spring.cloud.config.server.git.proxy.http.username=" + httpProxy.getUsername(), + "spring.cloud.config.server.git.proxy.http.password=" + httpProxy.getPassword())); } } if (httpsProxy != null) { - result.addAll(Arrays.asList( - "spring.cloud.config.server.git.proxy.https.host=" - + httpsProxy.getHost(), - "spring.cloud.config.server.git.proxy.https.port=" - + httpsProxy.getPort())); + result.addAll(Arrays.asList("spring.cloud.config.server.git.proxy.https.host=" + httpsProxy.getHost(), + "spring.cloud.config.server.git.proxy.https.port=" + httpsProxy.getPort())); if (httpsProxy.getUsername() != null && httpsProxy.getPassword() != null) { - result.addAll(Arrays.asList( - "spring.cloud.config.server.git.proxy.https.username=" - + httpsProxy.getUsername(), - "spring.cloud.config.server.git.proxy.https.password=" - + httpsProxy.getPassword())); + result.addAll( + Arrays.asList("spring.cloud.config.server.git.proxy.https.username=" + httpsProxy.getUsername(), + "spring.cloud.config.server.git.proxy.https.password=" + httpsProxy.getPassword())); } } return result.toArray(new String[0]); } private void makeRequest(HttpClient httpClient, String url) { - RestTemplate restTemplate = new RestTemplate( - new HttpComponentsClientHttpRequestFactory(httpClient)); + RestTemplate restTemplate = new RestTemplate(new HttpComponentsClientHttpRequestFactory(httpClient)); restTemplate.getForObject(url, String.class); } @@ -287,8 +263,7 @@ public class ConfigurableHttpConnectionFactoryIntegrationTests { @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties(ConfigServerProperties.class) - @Import({ PropertyPlaceholderAutoConfiguration.class, - EnvironmentRepositoryConfiguration.class }) + @Import({ PropertyPlaceholderAutoConfiguration.class, EnvironmentRepositoryConfiguration.class }) protected static class TestConfiguration { } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepositoryTests.java index ad655c45..f75af118 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/CredhubEnvironmentRepositoryTests.java @@ -50,23 +50,17 @@ public class CredhubEnvironmentRepositoryTests { @Before public void setUp() { CredHubOperations credhubOperations = Mockito.mock(CredHubOperations.class); - this.credhubCredentialOperations = Mockito - .mock(CredHubCredentialOperations.class); - when(credhubOperations.credentials()) - .thenReturn(this.credhubCredentialOperations); + this.credhubCredentialOperations = Mockito.mock(CredHubCredentialOperations.class); + when(credhubOperations.credentials()).thenReturn(this.credhubCredentialOperations); - this.credhubEnvironmentRepository = new CredhubEnvironmentRepository( - credhubOperations); + this.credhubEnvironmentRepository = new CredhubEnvironmentRepository(credhubOperations); } @Test public void shouldDisplayEmptyPropertiesWhenNoPathFound() { - when(this.credhubCredentialOperations - .findByPath("/my-application/production/mylabel")) - .thenReturn(emptyList()); + when(this.credhubCredentialOperations.findByPath("/my-application/production/mylabel")).thenReturn(emptyList()); - Environment environment = this.credhubEnvironmentRepository - .findOne("my-application", "production", "mylabel"); + Environment environment = this.credhubEnvironmentRepository.findOne("my-application", "production", "mylabel"); assertThat(environment.getName()).isEqualTo("my-application"); assertThat(environment.getProfiles()).containsExactly("production"); @@ -82,8 +76,7 @@ public class CredhubEnvironmentRepositoryTests { public void shouldRetrieveDefaultsWhenNoLabelNorProfileProvided() { stubCredentials("/my-application/default/master", "toggles", "key1", "value1"); - Environment environment = this.credhubEnvironmentRepository - .findOne("my-application", null, null); + Environment environment = this.credhubEnvironmentRepository.findOne("my-application", null, null); assertThat(environment.getName()).isEqualTo("my-application"); assertThat(environment.getProfiles()).containsExactly("default"); @@ -92,17 +85,14 @@ public class CredhubEnvironmentRepositoryTests { assertThat(environment.getPropertySources().size()).isEqualTo(1); assertThat(environment.getPropertySources().get(0).getName()) .isEqualTo("credhub-my-application-default-master"); - assertThat(environment.getPropertySources().get(0).getSource()) - .isEqualTo(singletonMap("key1", "value1")); + assertThat(environment.getPropertySources().get(0).getSource()).isEqualTo(singletonMap("key1", "value1")); } @Test public void shouldRetrieveGivenProfileAndLabel() { - stubCredentials("/my-application/production/mylabel", "toggles", "key1", - "value1"); + stubCredentials("/my-application/production/mylabel", "toggles", "key1", "value1"); - Environment environment = this.credhubEnvironmentRepository - .findOne("my-application", "production", "mylabel"); + Environment environment = this.credhubEnvironmentRepository.findOne("my-application", "production", "mylabel"); assertThat(environment.getName()).isEqualTo("my-application"); assertThat(environment.getProfiles()).containsExactly("production"); @@ -111,18 +101,16 @@ public class CredhubEnvironmentRepositoryTests { assertThat(environment.getPropertySources().size()).isEqualTo(1); assertThat(environment.getPropertySources().get(0).getName()) .isEqualTo("credhub-my-application-production-mylabel"); - assertThat(environment.getPropertySources().get(0).getSource()) - .isEqualTo(singletonMap("key1", "value1")); + assertThat(environment.getPropertySources().get(0).getSource()).isEqualTo(singletonMap("key1", "value1")); } @Test public void shouldRetrieveGivenMultipleProfiles() { - stubCredentials("/my-application/production/mylabel", "toggles", "key1", - "value1"); + stubCredentials("/my-application/production/mylabel", "toggles", "key1", "value1"); stubCredentials("/my-application/cloud/mylabel", "abs", "key2", "value2"); - Environment environment = this.credhubEnvironmentRepository - .findOne("my-application", "production,cloud", "mylabel"); + Environment environment = this.credhubEnvironmentRepository.findOne("my-application", "production,cloud", + "mylabel"); assertThat(environment.getName()).isEqualTo("my-application"); assertThat(environment.getProfiles()).containsExactly("production", "cloud"); @@ -131,42 +119,32 @@ public class CredhubEnvironmentRepositoryTests { assertThat(environment.getPropertySources().size()).isEqualTo(2); assertThat(environment.getPropertySources().get(0).getName()) .isEqualTo("credhub-my-application-production-mylabel"); - assertThat(environment.getPropertySources().get(0).getSource()) - .isEqualTo(singletonMap("key1", "value1")); + assertThat(environment.getPropertySources().get(0).getSource()).isEqualTo(singletonMap("key1", "value1")); assertThat(environment.getPropertySources().get(1).getName()) .isEqualTo("credhub-my-application-cloud-mylabel"); - assertThat(environment.getPropertySources().get(1).getSource()) - .isEqualTo(singletonMap("key2", "value2")); + assertThat(environment.getPropertySources().get(1).getSource()).isEqualTo(singletonMap("key2", "value2")); } @Test public void shouldMergeWhenMoreThanOneCredentialsFound() { String expectedPath = "/my-application/production/mylabel"; - SimpleCredentialName togglesCredentialName = new SimpleCredentialName( - expectedPath + "/toggles"); - SimpleCredentialName absCredentialName = new SimpleCredentialName( - expectedPath + "/abs"); - when(this.credhubCredentialOperations.findByPath(expectedPath)) - .thenReturn(asList(new CredentialSummary(togglesCredentialName), - new CredentialSummary(absCredentialName))); + SimpleCredentialName togglesCredentialName = new SimpleCredentialName(expectedPath + "/toggles"); + SimpleCredentialName absCredentialName = new SimpleCredentialName(expectedPath + "/abs"); + when(this.credhubCredentialOperations.findByPath(expectedPath)).thenReturn( + asList(new CredentialSummary(togglesCredentialName), new CredentialSummary(absCredentialName))); JsonCredential credentials = new JsonCredential(); credentials.put("key1", "value1"); - when(this.credhubCredentialOperations.getByName(togglesCredentialName, - JsonCredential.class)) - .thenReturn(new CredentialDetails<>("id1", togglesCredentialName, - CredentialType.JSON, credentials)); + when(this.credhubCredentialOperations.getByName(togglesCredentialName, JsonCredential.class)) + .thenReturn(new CredentialDetails<>("id1", togglesCredentialName, CredentialType.JSON, credentials)); JsonCredential otherCredentials = new JsonCredential(); otherCredentials.put("key2", "value2"); - when(this.credhubCredentialOperations.getByName(absCredentialName, - JsonCredential.class)) - .thenReturn(new CredentialDetails<>("id2", absCredentialName, - CredentialType.JSON, otherCredentials)); + when(this.credhubCredentialOperations.getByName(absCredentialName, JsonCredential.class)) + .thenReturn(new CredentialDetails<>("id2", absCredentialName, CredentialType.JSON, otherCredentials)); - Environment environment = this.credhubEnvironmentRepository - .findOne("my-application", "production", "mylabel"); + Environment environment = this.credhubEnvironmentRepository.findOne("my-application", "production", "mylabel"); assertThat(environment.getName()).isEqualTo("my-application"); assertThat(environment.getProfiles()).containsExactly("production"); @@ -178,18 +156,15 @@ public class CredhubEnvironmentRepositoryTests { HashMap expectedValues = new HashMap<>(); expectedValues.put("key1", "value1"); expectedValues.put("key2", "value2"); - assertThat(environment.getPropertySources().get(0).getSource()) - .isEqualTo(expectedValues); + assertThat(environment.getPropertySources().get(0).getSource()).isEqualTo(expectedValues); } @Test public void shouldIncludeDefaultApplicationWhenOtherProvided() { - stubCredentials("/my-application/production/mylabel", "toggles", "key1", - "value1"); + stubCredentials("/my-application/production/mylabel", "toggles", "key1", "value1"); stubCredentials("/application/production/mylabel", "abs", "key2", "value2"); - Environment environment = this.credhubEnvironmentRepository - .findOne("my-application", "production", "mylabel"); + Environment environment = this.credhubEnvironmentRepository.findOne("my-application", "production", "mylabel"); assertThat(environment.getName()).isEqualTo("my-application"); assertThat(environment.getProfiles()).containsExactly("production"); @@ -198,24 +173,20 @@ public class CredhubEnvironmentRepositoryTests { assertThat(environment.getPropertySources().size()).isEqualTo(2); assertThat(environment.getPropertySources().get(0).getName()) .isEqualTo("credhub-my-application-production-mylabel"); - assertThat(environment.getPropertySources().get(0).getSource()) - .isEqualTo(singletonMap("key1", "value1")); + assertThat(environment.getPropertySources().get(0).getSource()).isEqualTo(singletonMap("key1", "value1")); assertThat(environment.getPropertySources().get(1).getName()) .isEqualTo("credhub-application-production-mylabel"); - assertThat(environment.getPropertySources().get(1).getSource()) - .isEqualTo(singletonMap("key2", "value2")); + assertThat(environment.getPropertySources().get(1).getSource()).isEqualTo(singletonMap("key2", "value2")); } @Test public void shouldIncludeDefaultProfileWhenOtherProvided() { - stubCredentials("/my-application/production/mylabel", "toggles", "key1", - "value1"); + stubCredentials("/my-application/production/mylabel", "toggles", "key1", "value1"); stubCredentials("/application/production/mylabel", "abs", "key2", "value2"); stubCredentials("/my-application/default/mylabel", "abs", "key3", "value3"); stubCredentials("/application/default/mylabel", "abs", "key4", "value4"); - Environment environment = this.credhubEnvironmentRepository - .findOne("my-application", "production", "mylabel"); + Environment environment = this.credhubEnvironmentRepository.findOne("my-application", "production", "mylabel"); assertThat(environment.getName()).isEqualTo("my-application"); assertThat(environment.getProfiles()).contains("production"); @@ -224,35 +195,26 @@ public class CredhubEnvironmentRepositoryTests { assertThat(environment.getPropertySources().size()).isEqualTo(4); assertThat(environment.getPropertySources().get(0).getName()) .isEqualTo("credhub-my-application-production-mylabel"); - assertThat(environment.getPropertySources().get(0).getSource()) - .isEqualTo(singletonMap("key1", "value1")); + assertThat(environment.getPropertySources().get(0).getSource()).isEqualTo(singletonMap("key1", "value1")); assertThat(environment.getPropertySources().get(1).getName()) .isEqualTo("credhub-application-production-mylabel"); - assertThat(environment.getPropertySources().get(1).getSource()) - .isEqualTo(singletonMap("key2", "value2")); + assertThat(environment.getPropertySources().get(1).getSource()).isEqualTo(singletonMap("key2", "value2")); assertThat(environment.getPropertySources().get(2).getName()) .isEqualTo("credhub-my-application-default-mylabel"); - assertThat(environment.getPropertySources().get(2).getSource()) - .isEqualTo(singletonMap("key3", "value3")); - assertThat(environment.getPropertySources().get(3).getName()) - .isEqualTo("credhub-application-default-mylabel"); - assertThat(environment.getPropertySources().get(3).getSource()) - .isEqualTo(singletonMap("key4", "value4")); + assertThat(environment.getPropertySources().get(2).getSource()).isEqualTo(singletonMap("key3", "value3")); + assertThat(environment.getPropertySources().get(3).getName()).isEqualTo("credhub-application-default-mylabel"); + assertThat(environment.getPropertySources().get(3).getSource()).isEqualTo(singletonMap("key4", "value4")); } - private void stubCredentials(String expectedPath, String name, String key, - String value) { - SimpleCredentialName credentialsName = new SimpleCredentialName( - expectedPath + "/" + name); + private void stubCredentials(String expectedPath, String name, String key, String value) { + SimpleCredentialName credentialsName = new SimpleCredentialName(expectedPath + "/" + name); when(this.credhubCredentialOperations.findByPath(expectedPath)) .thenReturn(singletonList(new CredentialSummary(credentialsName))); JsonCredential credentials = new JsonCredential(); credentials.put(key, value); - when(this.credhubCredentialOperations.getByName( - new SimpleCredentialName(expectedPath + "/" + name), + when(this.credhubCredentialOperations.getByName(new SimpleCredentialName(expectedPath + "/" + name), JsonCredential.class)) - .thenReturn(new CredentialDetails<>("id1", credentialsName, - CredentialType.JSON, credentials)); + .thenReturn(new CredentialDetails<>("id1", credentialsName, CredentialType.JSON, credentials)); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerIntegrationTests.java index c5ad97ad..988b49fa 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerIntegrationTests.java @@ -72,17 +72,14 @@ public class EnvironmentControllerIntegrationTests { @Test public void environmentNoLabel() throws Exception { - when(this.repository.findOne("foo", "default", null, false)) - .thenReturn(this.environment); - this.mvc.perform(MockMvcRequestBuilders.get("/foo/default")) - .andExpect(MockMvcResultMatchers.status().isOk()); + when(this.repository.findOne("foo", "default", null, false)).thenReturn(this.environment); + this.mvc.perform(MockMvcRequestBuilders.get("/foo/default")).andExpect(MockMvcResultMatchers.status().isOk()); verify(this.repository).findOne("foo", "default", null, false); } @Test public void propertiesNoLabel() throws Exception { - when(this.repository.findOne("foo", "default", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "default", null, false)).thenReturn(this.environment); this.mvc.perform(MockMvcRequestBuilders.get("/foo-default.properties")) .andExpect(MockMvcResultMatchers.status().isOk()); verify(this.repository).findOne("foo", "default", null, false); @@ -90,8 +87,7 @@ public class EnvironmentControllerIntegrationTests { @Test public void propertiesLabel() throws Exception { - when(this.repository.findOne("foo", "default", "label", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "default", "label", false)).thenReturn(this.environment); this.mvc.perform(MockMvcRequestBuilders.get("/label/foo-default.properties")) .andExpect(MockMvcResultMatchers.status().isOk()); verify(this.repository).findOne("foo", "default", "label", false); @@ -101,8 +97,7 @@ public class EnvironmentControllerIntegrationTests { public void propertiesLabelWhenApplicationNameContainsHyphen() throws Exception { Environment environment = new Environment("foo-bar", "default"); environment.add(new PropertySource("foo", new HashMap<>())); - when(this.repository.findOne("foo-bar", "default", "label", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo-bar", "default", "label", false)).thenReturn(this.environment); this.mvc.perform(MockMvcRequestBuilders.get("/label/foo-bar-default.properties")) .andExpect(MockMvcResultMatchers.status().isOk()); verify(this.repository).findOne("foo-bar", "default", "label", false); @@ -111,18 +106,15 @@ public class EnvironmentControllerIntegrationTests { @Test public void propertiesLabelWithSlash() throws Exception { - when(this.repository.findOne("foo", "default", "label/spam", false)) - .thenReturn(this.environment); - this.mvc.perform( - MockMvcRequestBuilders.get("/label(_)spam/foo-default.properties")) + when(this.repository.findOne("foo", "default", "label/spam", false)).thenReturn(this.environment); + this.mvc.perform(MockMvcRequestBuilders.get("/label(_)spam/foo-default.properties")) .andExpect(MockMvcResultMatchers.status().isOk()); verify(this.repository).findOne("foo", "default", "label/spam", false); } @Test public void environmentWithLabel() throws Exception { - when(this.repository.findOne("foo", "default", "awesome", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "default", "awesome", false)).thenReturn(this.environment); this.mvc.perform(MockMvcRequestBuilders.get("/foo/default/awesome")) .andExpect(MockMvcResultMatchers.status().isOk()); } @@ -145,32 +137,27 @@ public class EnvironmentControllerIntegrationTests { @Test public void environmentWithLabelContainingPeriod() throws Exception { - when(this.repository.findOne("foo", "default", "1.0.0", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "default", "1.0.0", false)).thenReturn(this.environment); this.mvc.perform(MockMvcRequestBuilders.get("/foo/default/1.0.0")) .andExpect(MockMvcResultMatchers.status().isOk()); } @Test public void environmentWithLabelContainingSlash() throws Exception { - when(this.repository.findOne("foo", "default", "feature/puff", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "default", "feature/puff", false)).thenReturn(this.environment); this.mvc.perform(MockMvcRequestBuilders.get("/foo/default/feature(_)puff")) .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.content() - .string(Matchers.containsString("\"propertySources\":"))); + .andExpect(MockMvcResultMatchers.content().string(Matchers.containsString("\"propertySources\":"))); } @Test public void environmentWithApplicationContainingSlash() throws Exception { Environment environment = new Environment("foo/app", "default"); environment.add(new PropertySource("foo", new HashMap<>())); - when(this.repository.findOne("foo/app", "default", null, false)) - .thenReturn(environment); + when(this.repository.findOne("foo/app", "default", null, false)).thenReturn(environment); this.mvc.perform(MockMvcRequestBuilders.get("/foo(_)app/default")) .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.content() - .string(Matchers.containsString("\"propertySources\":"))); + .andExpect(MockMvcResultMatchers.content().string(Matchers.containsString("\"propertySources\":"))); } @Configuration diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerTests.java index cd1a1eb0..505d8827 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerTests.java @@ -83,8 +83,7 @@ public class EnvironmentControllerTests { Map map = new HashMap(); map.put("a.b.c", "d"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); assertThat(yaml).isEqualTo("a:\n b:\n c: d\n"); } @@ -94,10 +93,8 @@ public class EnvironmentControllerTests { Map map = new LinkedHashMap(); map.put("a.b.c", "d"); this.environment.add(new PropertySource("one", map)); - this.environment.addFirst( - new PropertySource("two", Collections.singletonMap("a.b.c", "e"))); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + this.environment.addFirst(new PropertySource("two", Collections.singletonMap("a.b.c", "e"))); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); assertThat(yaml).isEqualTo("a:\n b:\n c: e\n"); } @@ -113,8 +110,7 @@ public class EnvironmentControllerTests { map.put("A", "Z"); map.put("S", 3); this.environment.addFirst(new PropertySource("two", map)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); assertThat(yaml).isEqualTo("A: Z\nS: 3\nY: 0\n"); } @@ -153,16 +149,14 @@ public class EnvironmentControllerTests { } @Test - public void placeholdersNotResolvedInYamlFromSystemPropertiesWhenNotFlagged() - throws Exception { + public void placeholdersNotResolvedInYamlFromSystemPropertiesWhenNotFlagged() throws Exception { whenPlaceholdersSystemProps(); String yaml = this.controller.yaml("foo", "bar", false).getBody(); assertThat(yaml).isEqualTo("a:\n b:\n c: ${foo}\n"); } @Test - public void placeholdersNotResolvedInYamlFromSystemPropertiesWhenNotFlaggedWithDefault() - throws Exception { + public void placeholdersNotResolvedInYamlFromSystemPropertiesWhenNotFlaggedWithDefault() throws Exception { whenPlaceholdersSystemPropsWithDefault(); String yaml = this.controller.yaml("foo", "bar", false).getBody(); // If there is a default value we prevent the placeholder being resolved @@ -170,8 +164,7 @@ public class EnvironmentControllerTests { } @Test - public void placeholdersResolvedInYamlFromSystemPropertiesWhenFlagged() - throws Exception { + public void placeholdersResolvedInYamlFromSystemPropertiesWhenFlagged() throws Exception { whenPlaceholdersSystemPropsWithDefault(); String yaml = this.controller.yaml("foo", "bar", true).getBody(); // If there is a default value we do not prevent the placeholder being resolved @@ -184,8 +177,7 @@ public class EnvironmentControllerTests { map.put("a.b[0]", "c"); map.put("a.b[1]", "d"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); assertThat(yaml).isEqualTo("a:\n b:\n - c\n - d\n"); } @@ -205,8 +197,7 @@ public class EnvironmentControllerTests { twoMap.put("a.b[1]", "h"); this.environment.addFirst(new PropertySource("two", twoMap)); - when(this.repository.findOne("foo", "bar", "two", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", "two", false)).thenReturn(this.environment); Environment environment = this.controller.labelled("foo", "bar", "two"); assertThat(environment).isNotNull(); assertThat(environment.getName()).isEqualTo("foo"); @@ -215,20 +206,16 @@ public class EnvironmentControllerTests { assertThat(environment.getVersion()).isNull(); assertThat(environment.getPropertySources()).hasSize(3); assertThat(environment.getPropertySources().get(0).getName()).isEqualTo("two"); - assertThat(environment.getPropertySources().get(0).getSource().entrySet()) - .hasSize(2); + assertThat(environment.getPropertySources().get(0).getSource().entrySet()).hasSize(2); assertThat(environment.getPropertySources().get(2).getName()).isEqualTo("one"); - assertThat(environment.getPropertySources().get(2).getSource().entrySet()) - .hasSize(3); + assertThat(environment.getPropertySources().get(2).getSource().entrySet()).hasSize(3); } @Test public void testNameWithSlash() { - when(this.repository.findOne("foo/spam", "bar", "two", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo/spam", "bar", "two", false)).thenReturn(this.environment); - Environment returnedEnvironment = this.controller.labelled("foo(_)spam", "bar", - "two"); + Environment returnedEnvironment = this.controller.labelled("foo(_)spam", "bar", "two"); assertThat(returnedEnvironment.getLabel()).isEqualTo(this.environment.getLabel()); assertThat(returnedEnvironment.getName()).isEqualTo(this.environment.getName()); @@ -243,8 +230,7 @@ public class EnvironmentControllerTests { @Test public void testwithValidEnvironment() { - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); Environment environment = this.controller.labelled("foo", "bar", null); assertThat(environment).isNotNull(); @@ -253,11 +239,9 @@ public class EnvironmentControllerTests { @Test public void testLabelWithSlash() { - when(this.repository.findOne("foo", "bar", "two/spam", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", "two/spam", false)).thenReturn(this.environment); - Environment returnedEnvironment = this.controller.labelled("foo", "bar", - "two(_)spam"); + Environment returnedEnvironment = this.controller.labelled("foo", "bar", "two(_)spam"); assertThat(returnedEnvironment.getLabel()).isEqualTo(this.environment.getLabel()); assertThat(returnedEnvironment.getName()).isEqualTo(this.environment.getName()); @@ -278,8 +262,7 @@ public class EnvironmentControllerTests { twoMap.put("a.b[1]", "h"); this.environment.addFirst(new PropertySource("two", twoMap)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); // Result will not contain original, extra values from oneMap @@ -291,8 +274,7 @@ public class EnvironmentControllerTests { Map map = new LinkedHashMap(); map.put("document", "blah"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); assertThat(yaml).isEqualTo("blah\n"); } @@ -303,8 +285,7 @@ public class EnvironmentControllerTests { map.put("document[0]", "c"); map.put("document[1]", "d"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); assertThat(yaml).isEqualTo("- c\n- d\n"); } @@ -315,8 +296,7 @@ public class EnvironmentControllerTests { map.put("document[0].a", "c"); map.put("document[1].a", "d"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); assertThat(yaml).isEqualTo("- a: c\n- a: d\n"); } @@ -327,12 +307,10 @@ public class EnvironmentControllerTests { map.put("org.springframework", "WARN"); map.put("org.springframework.cloud", "ERROR"); this.environment.add(new PropertySource("abo", map)); - when(this.repository.findOne("ay", "äzöq", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("ay", "äzöq", null, false)).thenReturn(this.environment); System.out.println("this.controller = " + this.controller); String yaml = this.controller.yaml("ay", "äzöq", false).getBody(); - assertThat(yaml).isEqualTo( - "org:\n springframework: WARN\n springframework.cloud: ERROR\n"); + assertThat(yaml).isEqualTo("org:\n springframework: WARN\n springframework.cloud: ERROR\n"); } @Test @@ -342,12 +320,10 @@ public class EnvironmentControllerTests { map.put("a.b[0].d", "e"); map.put("a.b[1].c", "d"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); assertThat("a:\n b:\n - d: e\n c: d\n - c: d\n".equals(yaml) - || "a:\n b:\n - c: d\n d: e\n - c: d\n".equals(yaml)) - .as("Wrong output: " + yaml).isTrue(); + || "a:\n b:\n - c: d\n d: e\n - c: d\n".equals(yaml)).as("Wrong output: " + yaml).isTrue(); } @Test @@ -361,8 +337,7 @@ public class EnvironmentControllerTests { map.put("a.b[3][0]", "r"); map.put("a.b[3][1]", "s"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); Map level1 = new Yaml().load(yaml); @@ -402,11 +377,10 @@ public class EnvironmentControllerTests { map.put("a.b[1].c", "y"); map.put("a.b[1].e[0].d", "z"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String json = this.controller.jsonProperties("foo", "bar", false).getBody(); - assertThat(json).as("Wrong output: " + json).isEqualTo( - "{\"a\":{\"b\":[{\"c\":\"x\",\"d\":[\"xx\",\"yy\"]},{\"c\":\"y\",\"e\":[{\"d\":\"z\"}]}]}}"); + assertThat(json).as("Wrong output: " + json) + .isEqualTo("{\"a\":{\"b\":[{\"c\":\"x\",\"d\":[\"xx\",\"yy\"]},{\"c\":\"y\",\"e\":[{\"d\":\"z\"}]}]}}"); } @Test @@ -415,8 +389,7 @@ public class EnvironmentControllerTests { map.put("b[0].c", "d"); map.put("b[1].c", "d"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); assertThat(yaml).isEqualTo("b:\n- c: d\n- c: d\n"); } @@ -427,8 +400,7 @@ public class EnvironmentControllerTests { map.put("x.a.b[0].c", "d"); map.put("x.a.b[1].c", "d"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar", false).getBody(); assertThat(yaml).isEqualTo("x:\n a:\n b:\n - c: d\n - c: d\n"); } @@ -448,29 +420,25 @@ public class EnvironmentControllerTests { String text = this.controller.properties("foo", "bar", false).getBody(); Properties properties = new Properties(); properties.load(new StringReader(text)); - assertThat(properties).containsOnly(entry("a.b.c", "${foo}"), - entry("foo", "bar")); + assertThat(properties).containsOnly(entry("a.b.c", "${foo}"), entry("foo", "bar")); } @Test - public void placeholdersNotResolvedInPropertiesFromSystemProperties() - throws Exception { + public void placeholdersNotResolvedInPropertiesFromSystemProperties() throws Exception { whenPlaceholdersSystemProps(); String text = this.controller.properties("foo", "bar", true).getBody(); assertThat(text).isEqualTo("a.b.c: ${foo}"); } @Test - public void placeholdersNotResolvedInPropertiesFromSystemPropertiesWhenNotFlagged() - throws Exception { + public void placeholdersNotResolvedInPropertiesFromSystemPropertiesWhenNotFlagged() throws Exception { whenPlaceholdersSystemProps(); String text = this.controller.properties("foo", "bar", false).getBody(); assertThat(text).isEqualTo("a.b.c: ${foo}"); } @Test - public void placeholdersNotResolvedInPropertiesFromSystemPropertiesWhenNotFlaggedWithDefault() - throws Exception { + public void placeholdersNotResolvedInPropertiesFromSystemPropertiesWhenNotFlaggedWithDefault() throws Exception { whenPlaceholdersSystemPropsWithDefault(); String text = this.controller.properties("foo", "bar", false).getBody(); assertThat(text).isEqualTo("a.b.c: ${foo:spam}"); @@ -480,16 +448,14 @@ public class EnvironmentControllerTests { public void placeholdersResolvedInJson() throws Exception { whenPlaceholders(); String json = this.controller.jsonProperties("foo", "bar", true).getBody(); - JSONAssert.assertEquals("{\"a\":{\"b\":{\"c\":\"bar\"}},\"foo\":\"bar\"}", json, - JSONCompareMode.STRICT); + JSONAssert.assertEquals("{\"a\":{\"b\":{\"c\":\"bar\"}},\"foo\":\"bar\"}", json, JSONCompareMode.STRICT); } @Test public void placeholdersNotResolvedInJson() throws Exception { whenPlaceholders(); String json = this.controller.jsonProperties("foo", "bar", false).getBody(); - JSONAssert.assertEquals("{\"a\":{\"b\":{\"c\":\"${foo}\"}},\"foo\":\"bar\"}", - json, JSONCompareMode.STRICT); + JSONAssert.assertEquals("{\"a\":{\"b\":{\"c\":\"${foo}\"}},\"foo\":\"bar\"}", json, JSONCompareMode.STRICT); } @Test @@ -500,16 +466,14 @@ public class EnvironmentControllerTests { } @Test - public void placeholdersNotResolvedInJsonFromSystemPropertiesWhenNotFlagged() - throws Exception { + public void placeholdersNotResolvedInJsonFromSystemPropertiesWhenNotFlagged() throws Exception { whenPlaceholdersSystemProps(); String json = this.controller.jsonProperties("foo", "bar", false).getBody(); assertThat(json).isEqualTo("{\"a\":{\"b\":{\"c\":\"${foo}\"}}}"); } @Test - public void placeholdersNotResolvedInJsonFromSystemPropertiesWhenNotFlaggedWithDefault() - throws Exception { + public void placeholdersNotResolvedInJsonFromSystemPropertiesWhenNotFlaggedWithDefault() throws Exception { whenPlaceholdersSystemPropsWithDefault(); String json = this.controller.jsonProperties("foo", "bar", false).getBody(); // If there is a default value we prevent the placeholder being resolved @@ -517,8 +481,7 @@ public class EnvironmentControllerTests { } @Test - public void placeholdersResolvedInJsonFromSystemPropertiesWhenFlagged() - throws Exception { + public void placeholdersResolvedInJsonFromSystemPropertiesWhenFlagged() throws Exception { whenPlaceholdersSystemPropsWithDefault(); String json = this.controller.jsonProperties("foo", "bar", true).getBody(); // If there is a default value we do not prevent the placeholder being resolved @@ -529,44 +492,34 @@ public class EnvironmentControllerTests { Map map = new LinkedHashMap(); map.put("foo", "bar"); this.environment.add(new PropertySource("one", map)); - this.environment.addFirst( - new PropertySource("two", Collections.singletonMap("a.b.c", "${foo}"))); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + this.environment.addFirst(new PropertySource("two", Collections.singletonMap("a.b.c", "${foo}"))); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); } private void whenPlaceholdersSystemProps() { System.setProperty("foo", "bar"); - this.environment.addFirst( - new PropertySource("two", Collections.singletonMap("a.b.c", "${foo}"))); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + this.environment.addFirst(new PropertySource("two", Collections.singletonMap("a.b.c", "${foo}"))); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); } private void whenPlaceholdersSystemPropsWithDefault() { System.setProperty("foo", "bar"); - this.environment.addFirst(new PropertySource("two", - Collections.singletonMap("a.b.c", "${foo:spam}"))); - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + this.environment.addFirst(new PropertySource("two", Collections.singletonMap("a.b.c", "${foo:spam}"))); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); } @Test public void mappingForEnvironment() throws Exception { - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); - mvc.perform(MockMvcRequestBuilders.get("/foo/bar")) - .andExpect(MockMvcResultMatchers.status().isOk()); + mvc.perform(MockMvcRequestBuilders.get("/foo/bar")).andExpect(MockMvcResultMatchers.status().isOk()); } @Test public void mappingForLabelledEnvironment() throws Exception { - when(this.repository.findOne("foo", "bar", "other", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", "other", false)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); - mvc.perform(MockMvcRequestBuilders.get("/foo/bar/other")) - .andExpect(MockMvcResultMatchers.status().isOk()); + mvc.perform(MockMvcRequestBuilders.get("/foo/bar/other")).andExpect(MockMvcResultMatchers.status().isOk()); } @Test @@ -580,101 +533,85 @@ public class EnvironmentControllerTests { @Test public void mappingForYaml() throws Exception { - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); mvc.perform(MockMvcRequestBuilders.get("/foo-bar.yml")) - .andExpect( - MockMvcResultMatchers.content().contentType(MediaType.TEXT_PLAIN)) + .andExpect(MockMvcResultMatchers.content().contentType(MediaType.TEXT_PLAIN)) .andExpect(MockMvcResultMatchers.content().string("{}\n")); } @Test public void mappingForJson() throws Exception { - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); mvc.perform(MockMvcRequestBuilders.get("/foo-bar.json")) - .andExpect(MockMvcResultMatchers.content() - .contentType(MediaType.APPLICATION_JSON)) + .andExpect(MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.content().string("{}")); } @Test public void mappingForLabelledYaml() throws Exception { - when(this.repository.findOne("foo", "bar", "other", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", "other", false)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); - mvc.perform(MockMvcRequestBuilders.get("/other/foo-bar.yml")).andExpect( - MockMvcResultMatchers.content().contentType(MediaType.TEXT_PLAIN)); + mvc.perform(MockMvcRequestBuilders.get("/other/foo-bar.yml")) + .andExpect(MockMvcResultMatchers.content().contentType(MediaType.TEXT_PLAIN)); } @Test public void mappingForLabelledProperties() throws Exception { - when(this.repository.findOne("foo", "bar", "other", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", "other", false)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); - mvc.perform(MockMvcRequestBuilders.get("/other/foo-bar.properties")).andExpect( - MockMvcResultMatchers.content().contentType(MediaType.TEXT_PLAIN)); + mvc.perform(MockMvcRequestBuilders.get("/other/foo-bar.properties")) + .andExpect(MockMvcResultMatchers.content().contentType(MediaType.TEXT_PLAIN)); } @Test public void mappingForProperties() throws Exception { - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); - mvc.perform(MockMvcRequestBuilders.get("/foo-bar.properties")).andExpect( - MockMvcResultMatchers.content().contentType(MediaType.TEXT_PLAIN)); + mvc.perform(MockMvcRequestBuilders.get("/foo-bar.properties")) + .andExpect(MockMvcResultMatchers.content().contentType(MediaType.TEXT_PLAIN)); } @Test public void mappingForLabelledYamlWithHyphen() throws Exception { - when(this.repository.findOne("foo-bar-foo2-bar2", "spam", "other", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo-bar-foo2-bar2", "spam", "other", false)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); mvc.perform(MockMvcRequestBuilders.get("/other/foo-bar-foo2-bar2-spam.yml")) - .andExpect(MockMvcResultMatchers.content() - .contentType(MediaType.TEXT_PLAIN)); + .andExpect(MockMvcResultMatchers.content().contentType(MediaType.TEXT_PLAIN)); } @Test public void mappingforLabelledJsonProperties() throws Exception { - when(this.repository.findOne("foo", "bar", "other", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", "other", false)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); - mvc.perform(MockMvcRequestBuilders.get("/other/foo-bar.json")).andExpect( - MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON)); + mvc.perform(MockMvcRequestBuilders.get("/other/foo-bar.json")) + .andExpect(MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON)); } @Test public void mappingforJsonProperties() throws Exception { - when(this.repository.findOne("foo", "bar", null, false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo", "bar", null, false)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); - mvc.perform(MockMvcRequestBuilders.get("/foo-bar.json")).andExpect( - MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON)); + mvc.perform(MockMvcRequestBuilders.get("/foo-bar.json")) + .andExpect(MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON)); } @Test public void mappingForLabelledJsonPropertiesWithHyphen() throws Exception { - when(this.repository.findOne("foo-bar-foo2-bar2", "spam", "other", false)) - .thenReturn(this.environment); + when(this.repository.findOne("foo-bar-foo2-bar2", "spam", "other", false)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); mvc.perform(MockMvcRequestBuilders.get("/other/foo-bar-foo2-bar2-spam.json")) - .andExpect(MockMvcResultMatchers.content() - .contentType(MediaType.APPLICATION_JSON)); + .andExpect(MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON)); } @Test public void handleEnvironmentException() throws Exception { - when(repository.findOne(eq("exception"), eq("bad-syntax.ext"), any(), eq(false))) - .thenThrow(new FailedToConstructEnvironmentException("Cannot construct", - new RuntimeException("underlier"))); - MockMvc mvc = MockMvcBuilders.standaloneSetup(controller) - .setControllerAdvice(controller).build(); - MvcResult result = mvc - .perform(MockMvcRequestBuilders.get("/exception/bad-syntax.ext")) + when(repository.findOne(eq("exception"), eq("bad-syntax.ext"), any(), eq(false))).thenThrow( + new FailedToConstructEnvironmentException("Cannot construct", new RuntimeException("underlier"))); + MockMvc mvc = MockMvcBuilders.standaloneSetup(controller).setControllerAdvice(controller).build(); + MvcResult result = mvc.perform(MockMvcRequestBuilders.get("/exception/bad-syntax.ext")) .andExpect(MockMvcResultMatchers.status().is(500)).andReturn(); assertThat(result.getResponse().getErrorMessage()).isEqualTo("Cannot construct"); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepositoryTests.java index a574fa4f..0ab003ab 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepositoryTests.java @@ -58,11 +58,9 @@ public class EnvironmentEncryptorEnvironmentRepositoryTests { Map map = new HashMap(); map.put("a.b.c", "d"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", "master", false)) - .thenReturn(this.environment); - assertThat(this.controller.findOne("foo", "bar", "master", false) - .getPropertySources().get(0).getSource().toString()) - .isEqualTo("{foo=bar}"); + when(this.repository.findOne("foo", "bar", "master", false)).thenReturn(this.environment); + assertThat(this.controller.findOne("foo", "bar", "master", false).getPropertySources().get(0).getSource() + .toString()).isEqualTo("{foo=bar}"); } @Test @@ -71,11 +69,9 @@ public class EnvironmentEncryptorEnvironmentRepositoryTests { Map map = new HashMap(); map.put("bar", "foo"); this.environment.add(new PropertySource("one", map)); - when(this.repository.findOne("foo", "bar", "master", false)) - .thenReturn(this.environment); - assertThat(this.controller.findOne("foo", "bar", "master", false) - .getPropertySources().get(0).getSource().toString()) - .isEqualTo("{foo=${bar}}"); + when(this.repository.findOne("foo", "bar", "master", false)).thenReturn(this.environment); + assertThat(this.controller.findOne("foo", "bar", "master", false).getPropertySources().get(0).getSource() + .toString()).isEqualTo("{foo=${bar}}"); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/HttpClientConfigurableHttpConnectionFactoryTest.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/HttpClientConfigurableHttpConnectionFactoryTest.java index 961bd514..ea2b4f4d 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/HttpClientConfigurableHttpConnectionFactoryTest.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/HttpClientConfigurableHttpConnectionFactoryTest.java @@ -43,8 +43,7 @@ public class HttpClientConfigurableHttpConnectionFactoryTest { @Test public void noConfigAdded() throws Exception { - HttpConnection actual = this.connectionFactory - .create(new URL("http://localhost/test.git")); + HttpConnection actual = this.connectionFactory.create(new URL("http://localhost/test.git")); assertThat(actual).isNotNull(); } @@ -64,10 +63,9 @@ public class HttpClientConfigurableHttpConnectionFactoryTest { HttpConnection actualConnection = this.connectionFactory.create(new URL(url)); - HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri - .values().stream().findFirst().get(); - HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder( - actualConnection); + HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri.values().stream() + .findFirst().get(); + HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder(actualConnection); assertThat(actualHttpClientBuilder).isSameAs(expectedHttpClientBuilder); } @@ -78,13 +76,11 @@ public class HttpClientConfigurableHttpConnectionFactoryTest { properties.setUri(url); this.connectionFactory.addConfiguration(properties); - HttpConnection actualConnection = this.connectionFactory - .create(new URL(url + "/some/path.properties")); + HttpConnection actualConnection = this.connectionFactory.create(new URL(url + "/some/path.properties")); - HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri - .values().stream().findFirst().get(); - HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder( - actualConnection); + HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri.values().stream() + .findFirst().get(); + HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder(actualConnection); assertThat(actualHttpClientBuilder).isSameAs(expectedHttpClientBuilder); } @@ -94,13 +90,12 @@ public class HttpClientConfigurableHttpConnectionFactoryTest { properties.setUri("http://localhost/{placeholder}-test.git"); this.connectionFactory.addConfiguration(properties); - HttpConnection actualConnection = this.connectionFactory.create( - new URL("http://localhost/value-test.git" + "/some/path.properties")); + HttpConnection actualConnection = this.connectionFactory + .create(new URL("http://localhost/value-test.git" + "/some/path.properties")); - HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri - .values().stream().findFirst().get(); - HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder( - actualConnection); + HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri.values().stream() + .findFirst().get(); + HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder(actualConnection); assertThat(actualHttpClientBuilder).isSameAs(expectedHttpClientBuilder); } @@ -111,13 +106,11 @@ public class HttpClientConfigurableHttpConnectionFactoryTest { this.connectionFactory.addConfiguration(properties); HttpConnection actualConnection = this.connectionFactory.create( - new URL("https://localhost/v1/repos/pvvts_configs-applicationPasswords" - + "/some/path.properties")); + new URL("https://localhost/v1/repos/pvvts_configs-applicationPasswords" + "/some/path.properties")); - HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri - .values().stream().findFirst().get(); - HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder( - actualConnection); + HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri.values().stream() + .findFirst().get(); + HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder(actualConnection); assertThat(actualHttpClientBuilder).isSameAs(expectedHttpClientBuilder); } @@ -130,13 +123,11 @@ public class HttpClientConfigurableHttpConnectionFactoryTest { this.connectionFactory.addConfiguration(properties1); this.connectionFactory.addConfiguration(properties2); - HttpConnection actualConnection = this.connectionFactory - .create(new URL(properties1.getUri())); + HttpConnection actualConnection = this.connectionFactory.create(new URL(properties1.getUri())); HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri .get(properties1.getUri()); - HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder( - actualConnection); + HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder(actualConnection); assertThat(actualHttpClientBuilder).isSameAs(expectedHttpClientBuilder); } @@ -149,13 +140,11 @@ public class HttpClientConfigurableHttpConnectionFactoryTest { this.connectionFactory.addConfiguration(properties1); this.connectionFactory.addConfiguration(properties2); - HttpConnection actualConnection = this.connectionFactory - .create(new URL(properties1.getUri())); + HttpConnection actualConnection = this.connectionFactory.create(new URL(properties1.getUri())); HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri .get(properties1.getUri()); - HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder( - actualConnection); + HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder(actualConnection); assertThat(actualHttpClientBuilder).isSameAs(expectedHttpClientBuilder); } @@ -171,12 +160,11 @@ public class HttpClientConfigurableHttpConnectionFactoryTest { this.connectionFactory.addConfiguration(properties2); this.connectionFactory.addConfiguration(properties3); - HttpConnection actualConnection = this.connectionFactory.create(new URL( - "https://github.com/user/user-MultiApps.git/info/refs?service=git-upload-pack")); + HttpConnection actualConnection = this.connectionFactory + .create(new URL("https://github.com/user/user-MultiApps.git/info/refs?service=git-upload-pack")); HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri .get(properties2.getUri()); - HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder( - actualConnection); + HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder(actualConnection); assertThat(actualHttpClientBuilder).isSameAs(expectedHttpClientBuilder); } @@ -185,86 +173,71 @@ public class HttpClientConfigurableHttpConnectionFactoryTest { MultipleJGitEnvironmentProperties properties1 = new MultipleJGitEnvironmentProperties(); properties1.setUri("http://localhost/path/{placeholder3}/more/test.git"); MultipleJGitEnvironmentProperties properties2 = new MultipleJGitEnvironmentProperties(); - properties2 - .setUri("http://localhost/{placeholder1}/path/{placeholder2}-test.git"); + properties2.setUri("http://localhost/{placeholder1}/path/{placeholder2}-test.git"); this.connectionFactory.addConfiguration(properties1); this.connectionFactory.addConfiguration(properties2); - HttpConnection actualConnection = this.connectionFactory - .create(new URL(properties2.getUri().replace("{placeholder1}", "value1") - .replace("{placeholder2}", "value2"))); + HttpConnection actualConnection = this.connectionFactory.create( + new URL(properties2.getUri().replace("{placeholder1}", "value1").replace("{placeholder2}", "value2"))); HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri .get(properties2.getUri()); - HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder( - actualConnection); + HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder(actualConnection); assertThat(actualHttpClientBuilder).isSameAs(expectedHttpClientBuilder); } @Test - public void composite_urlsWithPlaceholders_identicalTemplatesWontBeResolvedProperly() - throws Exception { + public void composite_urlsWithPlaceholders_identicalTemplatesWontBeResolvedProperly() throws Exception { MultipleJGitEnvironmentProperties properties1 = new MultipleJGitEnvironmentProperties(); - properties1 - .setUri("http://localhost/{placeholder3}/path/{placeholder4}-test.git"); + properties1.setUri("http://localhost/{placeholder3}/path/{placeholder4}-test.git"); MultipleJGitEnvironmentProperties properties2 = new MultipleJGitEnvironmentProperties(); - properties2 - .setUri("http://localhost/{placeholder1}/path/{placeholder2}-test.git"); + properties2.setUri("http://localhost/{placeholder1}/path/{placeholder2}-test.git"); this.connectionFactory.addConfiguration(properties1); this.connectionFactory.addConfiguration(properties2); - HttpConnection actualConnection = this.connectionFactory - .create(new URL(properties2.getUri().replace("{placeholder1}", "value1") - .replace("{placeholder2}", "value2"))); + HttpConnection actualConnection = this.connectionFactory.create( + new URL(properties2.getUri().replace("{placeholder1}", "value1").replace("{placeholder2}", "value2"))); HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri .get(properties2.getUri()); - HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder( - actualConnection); + HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder(actualConnection); assertThat(actualHttpClientBuilder).isNotSameAs(expectedHttpClientBuilder); } @Test public void composite_longerUrlsWithPlaceholders() throws Exception { MultipleJGitEnvironmentProperties properties1 = new MultipleJGitEnvironmentProperties(); - properties1 - .setUri("http://localhost/path/{placeholder3}/{placeholder4}-test.git"); + properties1.setUri("http://localhost/path/{placeholder3}/{placeholder4}-test.git"); MultipleJGitEnvironmentProperties properties2 = new MultipleJGitEnvironmentProperties(); - properties2 - .setUri("http://localhost/{placeholder1}/path/{placeholder2}-test.git"); + properties2.setUri("http://localhost/{placeholder1}/path/{placeholder2}-test.git"); this.connectionFactory.addConfiguration(properties1); this.connectionFactory.addConfiguration(properties2); - HttpConnection actualConnection = this.connectionFactory - .create(new URL(properties2.getUri().replace("{placeholder1}", "value1") - .replace("{placeholder2}", "value2") + "/some/path.properties")); + HttpConnection actualConnection = this.connectionFactory.create( + new URL(properties2.getUri().replace("{placeholder1}", "value1").replace("{placeholder2}", "value2") + + "/some/path.properties")); HttpClientBuilder expectedHttpClientBuilder = this.connectionFactory.httpClientBuildersByUri .get(properties2.getUri()); - HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder( - actualConnection); + HttpClientBuilder actualHttpClientBuilder = getActualHttpClientBuilder(actualConnection); assertThat(actualHttpClientBuilder).isSameAs(expectedHttpClientBuilder); } private HttpClient getActualHttpClient(HttpConnection actualConnection) { - Field clientField = ReflectionUtils.findField(actualConnection.getClass(), - "client"); + Field clientField = ReflectionUtils.findField(actualConnection.getClass(), "client"); ReflectionUtils.makeAccessible(clientField); return (HttpClient) ReflectionUtils.getField(clientField, actualConnection); } - private HttpClientBuilder getActualHttpClientBuilder( - HttpConnection actualConnection) { + private HttpClientBuilder getActualHttpClientBuilder(HttpConnection actualConnection) { HttpClient actualHttpClient = getActualHttpClient(actualConnection); - Field closeablesField = ReflectionUtils.findField(actualHttpClient.getClass(), - "closeables"); + Field closeablesField = ReflectionUtils.findField(actualHttpClient.getClass(), "closeables"); ReflectionUtils.makeAccessible(closeablesField); - List closables = (List) ReflectionUtils.getField(closeablesField, - actualHttpClient); + List closables = (List) ReflectionUtils.getField(closeablesField, actualHttpClient); return closables.stream().map(o -> { - Field builderField = Arrays.stream(o.getClass().getDeclaredFields()).filter( - field -> HttpClientBuilder.class.isAssignableFrom(field.getType())) - .findFirst().orElse(null); + Field builderField = Arrays.stream(o.getClass().getDeclaredFields()) + .filter(field -> HttpClientBuilder.class.isAssignableFrom(field.getType())).findFirst() + .orElse(null); if (builderField != null) { ReflectionUtils.makeAccessible(builderField); return ReflectionUtils.getField(builderField, o); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/HttpRequestConfigTokenProviderTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/HttpRequestConfigTokenProviderTests.java index 12c11aec..00efe24b 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/HttpRequestConfigTokenProviderTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/HttpRequestConfigTokenProviderTests.java @@ -51,8 +51,7 @@ public class HttpRequestConfigTokenProviderTests { @Test(expected = IllegalArgumentException.class) public void missingTokenHeader() { - when(httpRequestProvider.getIfAvailable()) - .thenReturn(new MockHttpServletRequest()); + when(httpRequestProvider.getIfAvailable()).thenReturn(new MockHttpServletRequest()); tokenProvider.getToken(); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitConfigServerTestData.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitConfigServerTestData.java index 1482597b..261b89dd 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitConfigServerTestData.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitConfigServerTestData.java @@ -45,8 +45,7 @@ public class JGitConfigServerTestData { private ConfigurableApplicationContext context; - public JGitConfigServerTestData(LocalGit serverGit, LocalGit clonedGit, - JGitEnvironmentRepository repository, + public JGitConfigServerTestData(LocalGit serverGit, LocalGit clonedGit, JGitEnvironmentRepository repository, ConfigurableApplicationContext context) { this.serverGit = serverGit; this.clonedGit = clonedGit; @@ -54,13 +53,12 @@ public class JGitConfigServerTestData { this.context = context; } - public static JGitConfigServerTestData prepareClonedGitRepository(Class... sources) - throws Exception { + public static JGitConfigServerTestData prepareClonedGitRepository(Class... sources) throws Exception { return prepareClonedGitRepository(Collections.emptySet(), sources); } - public static JGitConfigServerTestData prepareClonedGitRepository( - Collection additionalProperties, Class... sources) throws Exception { + public static JGitConfigServerTestData prepareClonedGitRepository(Collection additionalProperties, + Class... sources) throws Exception { // setup remote repository String remoteUri = ConfigServerTestUtils.prepareLocalRepo(); File remoteRepoDir = ResourceUtils.getFile(remoteUri); @@ -75,25 +73,18 @@ public class JGitConfigServerTestData { else { clonedRepoDir.mkdirs(); } - Git clonedGit = Git.cloneRepository() - .setURI("file://" + remoteRepoDir.getAbsolutePath()) - .setDirectory(clonedRepoDir).setBranch("master").setCloneAllBranches(true) - .call(); + Git clonedGit = Git.cloneRepository().setURI("file://" + remoteRepoDir.getAbsolutePath()) + .setDirectory(clonedRepoDir).setBranch("master").setCloneAllBranches(true).call(); // setup our test spring application pointing to the local repo Collection properties = new ArrayList<>(additionalProperties); - properties.add("spring.cloud.config.server.git.uri:" + "file://" - + clonedRepoDir.getAbsolutePath()); - ConfigurableApplicationContext context = new SpringApplicationBuilder(sources) - .web(WebApplicationType.NONE) + properties.add("spring.cloud.config.server.git.uri:" + "file://" + clonedRepoDir.getAbsolutePath()); + ConfigurableApplicationContext context = new SpringApplicationBuilder(sources).web(WebApplicationType.NONE) .properties(properties.toArray(new String[0])).run(); - JGitEnvironmentRepository repository = context - .getBean(JGitEnvironmentRepository.class); + JGitEnvironmentRepository repository = context.getBean(JGitEnvironmentRepository.class); - return new JGitConfigServerTestData( - new JGitConfigServerTestData.LocalGit(remoteGit, remoteRepoDir), - new JGitConfigServerTestData.LocalGit(clonedGit, clonedRepoDir), - repository, context); + return new JGitConfigServerTestData(new JGitConfigServerTestData.LocalGit(remoteGit, remoteRepoDir), + new JGitConfigServerTestData.LocalGit(clonedGit, clonedRepoDir), repository, context); } public LocalGit getServerGit() { diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryConcurrencyTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryConcurrencyTests.java index a90530c3..44177b6a 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryConcurrencyTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryConcurrencyTests.java @@ -99,11 +99,9 @@ public class JGitEnvironmentRepositoryConcurrencyTests { @Test public void vanilla() throws Exception { String uri = ConfigServerTestUtils.prepareLocalRepo(); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .properties("spring.cloud.config.server.git.uri:" + uri).run(); - final EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + final EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); ExecutorService threads = Executors.newFixedThreadPool(4); List> tasks = new ArrayList>(); for (int i = 0; i < 30; i++) { @@ -138,8 +136,7 @@ public class JGitEnvironmentRepositoryConcurrencyTests { repository.setCloneOnStart(true); repository.setGitFactory(new DelayedGitFactoryMock()); repository.setBasedir(testData.getClonedGit().getGitWorkingDirectory()); - repository.setUri(testData.getServerGit().getGitWorkingDirectory() - .getAbsolutePath().replace("file://", "")); + repository.setUri(testData.getServerGit().getGitWorkingDirectory().getAbsolutePath().replace("file://", "")); final AtomicInteger errorCount = new AtomicInteger(); @@ -147,11 +144,9 @@ public class JGitEnvironmentRepositoryConcurrencyTests { Thread client = new Thread(new Runnable() { @Override public void run() { - JGitEnvironmentRepositoryConcurrencyTests.this.logger - .info("client start."); + JGitEnvironmentRepositoryConcurrencyTests.this.logger.info("client start."); try { - Environment environment = testData.getRepository().findOne("bar", - "staging", "master"); + Environment environment = testData.getRepository().findOne("bar", "staging", "master"); } catch (Exception e) { errorCount.incrementAndGet(); @@ -165,11 +160,9 @@ public class JGitEnvironmentRepositoryConcurrencyTests { @Override public void run() { try { - JGitEnvironmentRepositoryConcurrencyTests.this.logger - .info("refresh start."); + JGitEnvironmentRepositoryConcurrencyTests.this.logger.info("refresh start."); testData.getRepository().afterPropertiesSet(); - JGitEnvironmentRepositoryConcurrencyTests.this.logger - .info("refresh end."); + JGitEnvironmentRepositoryConcurrencyTests.this.logger.info("refresh end."); } catch (Exception e) { errorCount.incrementAndGet(); @@ -189,14 +182,12 @@ public class JGitEnvironmentRepositoryConcurrencyTests { @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties(ConfigServerProperties.class) - @Import({ PropertyPlaceholderAutoConfiguration.class, - EnvironmentRepositoryConfiguration.class }) + @Import({ PropertyPlaceholderAutoConfiguration.class, EnvironmentRepositoryConfiguration.class }) protected static class TestConfiguration { } - private static class DelayedGitFactoryMock - extends JGitEnvironmentRepository.JGitFactory { + private static class DelayedGitFactoryMock extends JGitEnvironmentRepository.JGitFactory { @Override public Git getGitByOpen(File file) throws IOException { @@ -232,8 +223,7 @@ public class JGitEnvironmentRepositoryConcurrencyTests { private static class DelayedCloneCommand extends CloneCommand { @Override - public Git call() - throws GitAPIException, InvalidRemoteException, TransportException { + public Git call() throws GitAPIException, InvalidRemoteException, TransportException { try { Thread.sleep(250); } @@ -252,8 +242,7 @@ public class JGitEnvironmentRepositoryConcurrencyTests { } @Override - public FetchResult call() - throws GitAPIException, InvalidRemoteException, TransportException { + public FetchResult call() throws GitAPIException, InvalidRemoteException, TransportException { try { Thread.sleep(250); } @@ -272,8 +261,8 @@ public class JGitEnvironmentRepositoryConcurrencyTests { } @Override - public Ref call() throws GitAPIException, RefAlreadyExistsException, - RefNotFoundException, InvalidRefNameException, CheckoutConflictException { + public Ref call() throws GitAPIException, RefAlreadyExistsException, RefNotFoundException, + InvalidRefNameException, CheckoutConflictException { try { Thread.sleep(250); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryIntegrationTests.java index 90e01d7b..c77b9c09 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryIntegrationTests.java @@ -99,11 +99,9 @@ public class JGitEnvironmentRepositoryIntegrationTests { @Test public void vanilla() throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo(); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .properties("spring.cloud.config.server.git.uri:" + uri).run(); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("bar", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); assertThat(environment.getName()).isEqualTo("bar"); @@ -115,14 +113,11 @@ public class JGitEnvironmentRepositoryIntegrationTests { public void pull() throws Exception { ConfigServerTestUtils.prepareLocalRepo(); String uri = ConfigServerTestUtils.copyLocalRepo("config-copy"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .run("--spring.cloud.config.server.git.uri=" + uri); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("bar", "staging", "master"); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("bar"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("bar"); Git git = Git.open(ResourceUtils.getFile(uri).getAbsoluteFile()); git.checkout().setName("master").call(); StreamUtils.copy("foo: foo", Charset.defaultCharset(), @@ -130,8 +125,7 @@ public class JGitEnvironmentRepositoryIntegrationTests { git.add().addFilepattern("bar.properties").call(); git.commit().setMessage("Updated for pull").call(); environment = repository.findOne("bar", "staging", "master"); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("foo"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("foo"); } /** @@ -151,45 +145,36 @@ public class JGitEnvironmentRepositoryIntegrationTests { Git git = Git.open(ResourceUtils.getFile(uri).getAbsoluteFile()); StoredConfig config = git.getRepository().getConfig(); - config.setString("remote", "origin", "url", - remote.getDirectory().getAbsolutePath()); - config.setString("remote", "origin", "fetch", - "+refs/heads/*:refs/remotes/origin/*"); + config.setString("remote", "origin", "url", remote.getDirectory().getAbsolutePath()); + config.setString("remote", "origin", "fetch", "+refs/heads/*:refs/remotes/origin/*"); config.save(); // Pushes the raw branch to remote repository. git.push().call(); - String commitToRevertBeforePull = git.log().setMaxCount(1).call().iterator() - .next().getName(); + String commitToRevertBeforePull = git.log().setMaxCount(1).call().iterator().next().getName(); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .run("--spring.cloud.config.server.git.uri=" + uri); - JGitEnvironmentRepository repository = this.context - .getBean(JGitEnvironmentRepository.class); + JGitEnvironmentRepository repository = this.context.getBean(JGitEnvironmentRepository.class); // Fetches the repository for the first time. - SearchPathLocator.Locations locations = repository.getLocations("bar", "test", - "raw"); + SearchPathLocator.Locations locations = repository.getLocations("bar", "test", "raw"); assertThat(commitToRevertBeforePull).isEqualTo(locations.getVersion()); // Resets to the original commit. git.reset().setMode(ResetType.HARD).setRef("master").call(); // Generate a conflicting commit who will be forced on the origin. - Path applicationFilePath = Paths - .get(ResourceUtils.getFile(uri).getAbsoluteFile() + "/application.yml"); + Path applicationFilePath = Paths.get(ResourceUtils.getFile(uri).getAbsoluteFile() + "/application.yml"); - Files.write(applicationFilePath, - Arrays.asList("info:", " foo: bar", "raw: false"), - StandardCharsets.UTF_8, StandardOpenOption.TRUNCATE_EXISTING); + Files.write(applicationFilePath, Arrays.asList("info:", " foo: bar", "raw: false"), StandardCharsets.UTF_8, + StandardOpenOption.TRUNCATE_EXISTING); git.add().addFilepattern(".").call(); git.commit().setMessage("Conflicting commit.").call(); git.push().setForce(true).call(); - String conflictingCommit = git.log().setMaxCount(1).call().iterator().next() - .getName(); + String conflictingCommit = git.log().setMaxCount(1).call().iterator().next().getName(); // Reset to the raw branch. git.reset().setMode(ResetType.HARD).setRef(commitToRevertBeforePull).call(); @@ -198,33 +183,26 @@ public class JGitEnvironmentRepositoryIntegrationTests { locations = repository.getLocations("bar", "test", "raw"); assertThat(conflictingCommit).isEqualTo(locations.getVersion()); - assertThat(git.status().call().isClean()) - .as("Local repository is not cleaned after retrieving resources.") + assertThat(git.status().call().isClean()).as("Local repository is not cleaned after retrieving resources.") .isTrue(); } @Test public void pullMissingRepo() throws Exception { pull(); - JGitEnvironmentRepository repository = this.context - .getBean(JGitEnvironmentRepository.class); - new File(repository.getUri().replaceAll("file:", ""), ".git/index.lock") - .createNewFile(); + JGitEnvironmentRepository repository = this.context.getBean(JGitEnvironmentRepository.class); + new File(repository.getUri().replaceAll("file:", ""), ".git/index.lock").createNewFile(); Environment environment = repository.findOne("bar", "staging", "master"); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("foo"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("foo"); } @Test public void nested() throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo("another-config-repo"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) // TODO: why didn't .properties() work for me? - .run("--spring.cloud.config.server.git.uri=" + uri, - "--spring.cloud.config.server.git.searchPaths=sub"); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + .run("--spring.cloud.config.server.git.uri=" + uri, "--spring.cloud.config.server.git.searchPaths=sub"); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("bar", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); } @@ -232,13 +210,11 @@ public class JGitEnvironmentRepositoryIntegrationTests { @Test public void nestedWithApplicationPlaceholders() throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo("nested-repo"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) // TODO: why didn't .properties() work for me? .run("--spring.cloud.config.server.git.uri=" + uri, "--spring.cloud.config.server.git.searchPaths={application}"); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("foo,bar", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(3); } @@ -246,13 +222,11 @@ public class JGitEnvironmentRepositoryIntegrationTests { @Test public void nestedWithProfilePlaceholders() throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo("nested-repo"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) // TODO: why didn't .properties() work for me? .run("--spring.cloud.config.server.git.uri=" + uri, "--spring.cloud.config.server.git.searchPaths={profile}"); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("staging", "foo,bar", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(3); } @@ -260,39 +234,31 @@ public class JGitEnvironmentRepositoryIntegrationTests { @Test public void singleElementArrayIndexSearchPath() throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo("nested-repo"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) - .run("--spring.cloud.config.server.git.uri=" + uri, - "--spring.cloud.config.server.git.searchPaths[0]={application}"); - JGitEnvironmentRepository repository = this.context - .getBean(JGitEnvironmentRepository.class); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE).run( + "--spring.cloud.config.server.git.uri=" + uri, + "--spring.cloud.config.server.git.searchPaths[0]={application}"); + JGitEnvironmentRepository repository = this.context.getBean(JGitEnvironmentRepository.class); assertThat(repository.getSearchPaths()).containsExactly("{application}"); - assertThat( - Arrays.equals(repository.getSearchPaths(), - new JGitEnvironmentRepository(repository.getEnvironment(), - new JGitEnvironmentProperties()).getSearchPaths())) - .isFalse(); + assertThat(Arrays.equals(repository.getSearchPaths(), + new JGitEnvironmentRepository(repository.getEnvironment(), new JGitEnvironmentProperties()) + .getSearchPaths())).isFalse(); } @Test public void defaultLabel() throws Exception { String uri = ConfigServerTestUtils.prepareLocalRepo(); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .properties("spring.cloud.config.server.git.uri:" + uri).run(); - JGitEnvironmentRepository repository = this.context - .getBean(JGitEnvironmentRepository.class); + JGitEnvironmentRepository repository = this.context.getBean(JGitEnvironmentRepository.class); assertThat(repository.getDefaultLabel()).isEqualTo("master"); } @Test(expected = NoSuchLabelException.class) public void invalidLabel() throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo(); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .properties("spring.cloud.config.server.git.uri:" + uri).run(); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); repository.findOne("bar", "staging", "unknownlabel"); } @@ -300,12 +266,9 @@ public class JGitEnvironmentRepositoryIntegrationTests { public void findOne_CloneOnStartTrue_FindOneSuccess() throws Exception { ConfigServerTestUtils.prepareLocalRepo(); String uri = ConfigServerTestUtils.copyLocalRepo("config-copy"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) - .run("--spring.cloud.config.server.git.uri=" + uri, - "--spring.cloud.config.server.git.cloneOnStart=true"); - EnvironmentRepository repository = this.context - .getBean(JGitEnvironmentRepository.class); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE).run( + "--spring.cloud.config.server.git.uri=" + uri, "--spring.cloud.config.server.git.cloneOnStart=true"); + EnvironmentRepository repository = this.context.getBean(JGitEnvironmentRepository.class); assertThat(((JGitEnvironmentRepository) repository).isCloneOnStart()).isTrue(); Environment environment = repository.findOne("bar", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); @@ -318,15 +281,11 @@ public class JGitEnvironmentRepositoryIntegrationTests { public void findOne_FileAddedToRepo_FindOneSuccess() throws Exception { ConfigServerTestUtils.prepareLocalRepo(); String uri = ConfigServerTestUtils.copyLocalRepo("config-copy"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) - .run("--spring.cloud.config.server.git.uri=" + uri, - "--spring.cloud.config.server.git.cloneOnStart=true"); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE).run( + "--spring.cloud.config.server.git.uri=" + uri, "--spring.cloud.config.server.git.cloneOnStart=true"); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("bar", "staging", "master"); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("bar"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("bar"); Git git = Git.open(ResourceUtils.getFile(uri).getAbsoluteFile()); git.checkout().setName("master").call(); StreamUtils.copy("foo: foo", Charset.defaultCharset(), @@ -334,36 +293,29 @@ public class JGitEnvironmentRepositoryIntegrationTests { git.add().addFilepattern("bar.properties").call(); git.commit().setMessage("Updated for pull").call(); environment = repository.findOne("bar", "staging", "master"); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("foo"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("foo"); } @Test public void findOne_NestedSearchPath_FindOneSuccess() throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo("another-config-repo"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) // TODO: why didn't .properties() work for me? - .run("--spring.cloud.config.server.git.uri=" + uri, - "--spring.cloud.config.server.git.searchPaths=sub", + .run("--spring.cloud.config.server.git.uri=" + uri, "--spring.cloud.config.server.git.searchPaths=sub", "--spring.cloud.config.server.git.cloneOnStart=true"); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("bar", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); } @Test(expected = NoSuchLabelException.class) - public void findOne_FindInvalidLabel_IllegalStateExceptionThrown() - throws IOException { + public void findOne_FindInvalidLabel_IllegalStateExceptionThrown() throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo(); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .properties("spring.cloud.config.server.git.uri:" + uri, "--spring.cloud.config.server.git.cloneOnStart=true") .run(); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); repository.findOne("bar", "staging", "unknownlabel"); } @@ -373,22 +325,19 @@ public class JGitEnvironmentRepositoryIntegrationTests { .prepareClonedGitRepository(TestConfiguration.class); // get our starting versions - String startingLocalVersion = getCommitID(testData.getClonedGit().getGit(), - "master"); - String startingRemoteVersion = getCommitID(testData.getServerGit().getGit(), - "master"); + String startingLocalVersion = getCommitID(testData.getClonedGit().getGit(), "master"); + String startingRemoteVersion = getCommitID(testData.getServerGit().getGit(), "master"); // make sure we get the right version out of the gate - Environment environment = testData.getRepository().findOne("bar", "staging", - "master"); + Environment environment = testData.getRepository().findOne("bar", "staging", "master"); // make sure the environments version is the same as the remote repo // version assertThat(startingRemoteVersion).isEqualTo(environment.getVersion()); // update the remote repo - FileOutputStream out = new FileOutputStream(new File( - testData.getServerGit().getGitWorkingDirectory(), "bar.properties")); + FileOutputStream out = new FileOutputStream( + new File(testData.getServerGit().getGitWorkingDirectory(), "bar.properties")); StreamUtils.copy("foo: foo", Charset.defaultCharset(), out); testData.getServerGit().getGit().add().addFilepattern("bar.properties").call(); testData.getServerGit().getGit().commit().setMessage("Updated for pull").call(); @@ -398,10 +347,8 @@ public class JGitEnvironmentRepositoryIntegrationTests { environment = testData.getRepository().findOne("bar", "staging", "master"); // do some more check outs to get updated version numbers - String updatedLocalVersion = getCommitID(testData.getClonedGit().getGit(), - "master"); - String updatedRemoteVersion = getCommitID(testData.getClonedGit().getGit(), - "master"); + String updatedLocalVersion = getCommitID(testData.getClonedGit().getGit(), "master"); + String updatedRemoteVersion = getCommitID(testData.getClonedGit().getGit(), "master"); // make sure our versions have been updated assertThat(updatedLocalVersion).isEqualTo(updatedRemoteVersion); @@ -418,29 +365,23 @@ public class JGitEnvironmentRepositoryIntegrationTests { JGitConfigServerTestData testData = JGitConfigServerTestData .prepareClonedGitRepository(TestConfiguration.class); - Environment environment = testData.getRepository().findOne("bar", "staging", - "master"); - Object fooProperty = ConfigServerTestUtils.getProperty(environment, - "bar.properties", "foo"); + Environment environment = testData.getRepository().findOne("bar", "staging", "master"); + Object fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); assertThat("bar").isEqualTo(fooProperty); - testData.getServerGit().getGit().branchCreate().setName("testNewRemoteBranch") - .call(); + testData.getServerGit().getGit().branchCreate().setName("testNewRemoteBranch").call(); testData.getServerGit().getGit().checkout().setName("testNewRemoteBranch").call(); // update the remote repo - FileOutputStream out = new FileOutputStream(new File( - testData.getServerGit().getGitWorkingDirectory(), "/bar.properties")); + FileOutputStream out = new FileOutputStream( + new File(testData.getServerGit().getGitWorkingDirectory(), "/bar.properties")); StreamUtils.copy("foo: branchBar", Charset.defaultCharset(), out); testData.getServerGit().getGit().add().addFilepattern("bar.properties").call(); - testData.getServerGit().getGit().commit().setMessage("Updated for branch test") - .call(); + testData.getServerGit().getGit().commit().setMessage("Updated for branch test").call(); - environment = testData.getRepository().findOne("bar", "staging", - "testNewRemoteBranch"); - fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", - "foo"); + environment = testData.getRepository().findOne("bar", "staging", "testNewRemoteBranch"); + fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); assertThat("branchBar").isEqualTo(fooProperty); } @@ -451,10 +392,8 @@ public class JGitEnvironmentRepositoryIntegrationTests { Git serverGit = testData.getServerGit().getGit(); - Environment environment = testData.getRepository().findOne("bar", "staging", - "master"); - Object fooProperty = ConfigServerTestUtils.getProperty(environment, - "bar.properties", "foo"); + Environment environment = testData.getRepository().findOne("bar", "staging", "master"); + Object fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); assertThat("bar").isEqualTo(fooProperty); serverGit.checkout().setName("master").call(); @@ -463,30 +402,25 @@ public class JGitEnvironmentRepositoryIntegrationTests { serverGit.tag().setName("testTag").setMessage("Testing a tag").call(); // update the remote repo - FileOutputStream out = new FileOutputStream(new File( - testData.getServerGit().getGitWorkingDirectory(), "/bar.properties")); + FileOutputStream out = new FileOutputStream( + new File(testData.getServerGit().getGitWorkingDirectory(), "/bar.properties")); StreamUtils.copy("foo: testAfterTag", Charset.defaultCharset(), out); testData.getServerGit().getGit().add().addFilepattern("bar.properties").call(); - testData.getServerGit().getGit().commit().setMessage("Updated for branch test") - .call(); + testData.getServerGit().getGit().commit().setMessage("Updated for branch test").call(); environment = testData.getRepository().findOne("bar", "staging", "master"); - fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", - "foo"); + fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); assertThat("testAfterTag").isEqualTo(fooProperty); environment = testData.getRepository().findOne("bar", "staging", "testTag"); - fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", - "foo"); + fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); assertThat("bar").isEqualTo(fooProperty); // now move the tag and test again - serverGit.tag().setName("testTag").setForceUpdate(true) - .setMessage("Testing a moved tag").call(); + serverGit.tag().setName("testTag").setForceUpdate(true).setMessage("Testing a moved tag").call(); environment = testData.getRepository().findOne("bar", "staging", "testTag"); - fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", - "foo"); + fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); assertThat("testAfterTag").isEqualTo(fooProperty); } @@ -497,36 +431,30 @@ public class JGitEnvironmentRepositoryIntegrationTests { .prepareClonedGitRepository(TestConfiguration.class); // get our starting versions - String startingRemoteVersion = getCommitID(testData.getServerGit().getGit(), - "master"); + String startingRemoteVersion = getCommitID(testData.getServerGit().getGit(), "master"); // make sure we get the right version out of the gate - Environment environment = testData.getRepository().findOne("bar", "staging", - "master"); + Environment environment = testData.getRepository().findOne("bar", "staging", "master"); assertThat(startingRemoteVersion).isEqualTo(environment.getVersion()); // update the remote repo - FileOutputStream out = new FileOutputStream(new File( - testData.getServerGit().getGitWorkingDirectory(), "bar.properties")); + FileOutputStream out = new FileOutputStream( + new File(testData.getServerGit().getGitWorkingDirectory(), "bar.properties")); StreamUtils.copy("foo: barNewCommit", Charset.defaultCharset(), out); testData.getServerGit().getGit().add().addFilepattern("bar.properties").call(); testData.getServerGit().getGit().commit().setMessage("Updated for pull").call(); - String updatedRemoteVersion = getCommitID(testData.getServerGit().getGit(), - "master"); + String updatedRemoteVersion = getCommitID(testData.getServerGit().getGit(), "master"); // do a normal request and verify we get the new version environment = testData.getRepository().findOne("bar", "staging", "master"); assertThat(updatedRemoteVersion).isEqualTo(environment.getVersion()); - Object fooProperty = ConfigServerTestUtils.getProperty(environment, - "bar.properties", "foo"); + Object fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); assertThat("barNewCommit").isEqualTo(fooProperty); // request the prior commit ID and make sure we get it - environment = testData.getRepository().findOne("bar", "staging", - startingRemoteVersion); + environment = testData.getRepository().findOne("bar", "staging", startingRemoteVersion); assertThat(startingRemoteVersion).isEqualTo(environment.getVersion()); - fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", - "foo"); + fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); assertThat("bar").isEqualTo(fooProperty); } @@ -546,8 +474,7 @@ public class JGitEnvironmentRepositoryIntegrationTests { .prepareClonedGitRepository(TestConfiguration.class); // get our starting versions - String startingRemoteVersion = getCommitID(testData.getServerGit().getGit(), - "master"); + String startingRemoteVersion = getCommitID(testData.getServerGit().getGit(), "master"); // Ask test label configuration first try { @@ -559,18 +486,16 @@ public class JGitEnvironmentRepositoryIntegrationTests { } // make sure we get the right version out of the gate - Environment environment = testData.getRepository().findOne("bar", "staging", - "master"); + Environment environment = testData.getRepository().findOne("bar", "staging", "master"); assertThat(startingRemoteVersion).isEqualTo(environment.getVersion()); // update the remote repo - FileOutputStream out = new FileOutputStream(new File( - testData.getServerGit().getGitWorkingDirectory(), "bar.properties")); + FileOutputStream out = new FileOutputStream( + new File(testData.getServerGit().getGitWorkingDirectory(), "bar.properties")); StreamUtils.copy("foo: barNewCommit", Charset.defaultCharset(), out); testData.getServerGit().getGit().add().addFilepattern("bar.properties").call(); testData.getServerGit().getGit().commit().setMessage("Updated for pull").call(); - String updatedRemoteVersion = getCommitID(testData.getServerGit().getGit(), - "master"); + String updatedRemoteVersion = getCommitID(testData.getServerGit().getGit(), "master"); // Set refresh rate to 60 seconds (now it will fetch the remote repo only once) testData.getRepository().setRefreshRate(60); @@ -587,16 +512,13 @@ public class JGitEnvironmentRepositoryIntegrationTests { // do a normal request and verify we get the new version environment = testData.getRepository().findOne("bar", "staging", "master"); assertThat(updatedRemoteVersion).isEqualTo(environment.getVersion()); - Object fooProperty = ConfigServerTestUtils.getProperty(environment, - "bar.properties", "foo"); + Object fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); assertThat("barNewCommit").isEqualTo(fooProperty); // request the prior commit ID and make sure we get it - environment = testData.getRepository().findOne("bar", "staging", - startingRemoteVersion); + environment = testData.getRepository().findOne("bar", "staging", startingRemoteVersion); assertThat(startingRemoteVersion).isEqualTo(environment.getVersion()); - fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", - "foo"); + fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); assertThat("bar").isEqualTo(fooProperty); } @@ -617,12 +539,10 @@ public class JGitEnvironmentRepositoryIntegrationTests { public void passphrase() throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo("config-repo"); final String passphrase = "thisismypassphrase"; - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) - .run("--spring.cloud.config.server.git.uri=" + uri, - "--spring.cloud.config.server.git.passphrase=" + passphrase); - JGitEnvironmentRepository repository = this.context - .getBean(JGitEnvironmentRepository.class); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE).run( + "--spring.cloud.config.server.git.uri=" + uri, + "--spring.cloud.config.server.git.passphrase=" + passphrase); + JGitEnvironmentRepository repository = this.context.getBean(JGitEnvironmentRepository.class); assertThat(repository.getPassphrase()).contains(passphrase); } @@ -630,66 +550,54 @@ public class JGitEnvironmentRepositoryIntegrationTests { public void strictHostKeyChecking() throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo("config-repo"); final boolean strictHostKeyChecking = true; - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) - .run("--spring.cloud.config.server.git.uri=" + uri, - "--spring.cloud.config.server.git.strict-host-key-checking=" - + strictHostKeyChecking); - JGitEnvironmentRepository repository = this.context - .getBean(JGitEnvironmentRepository.class); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE).run( + "--spring.cloud.config.server.git.uri=" + uri, + "--spring.cloud.config.server.git.strict-host-key-checking=" + strictHostKeyChecking); + JGitEnvironmentRepository repository = this.context.getBean(JGitEnvironmentRepository.class); assertThat(strictHostKeyChecking).isEqualTo(repository.isStrictHostKeyChecking()); } @Test public void shouldSetTransportConfigCallback() throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo(); - this.context = new SpringApplicationBuilder( - TestConfigurationWithTransportConfigCallback.class) - .web(WebApplicationType.NONE) - .properties("spring.cloud.config.server.git.uri:" + uri).run(); + this.context = new SpringApplicationBuilder(TestConfigurationWithTransportConfigCallback.class) + .web(WebApplicationType.NONE).properties("spring.cloud.config.server.git.uri:" + uri).run(); - JGitEnvironmentRepository repository = this.context - .getBean(JGitEnvironmentRepository.class); + JGitEnvironmentRepository repository = this.context.getBean(JGitEnvironmentRepository.class); assertThat(repository.getTransportConfigCallback()).isNotNull(); } @Test - public void testShouldReturnEnvironmentFromLocalBranchInCaseRemoteDeleted() - throws Exception { + public void testShouldReturnEnvironmentFromLocalBranchInCaseRemoteDeleted() throws Exception { JGitConfigServerTestData testData = JGitConfigServerTestData .prepareClonedGitRepository(TestConfiguration.class); String branchToDelete = "branchToDelete"; testData.getServerGit().getGit().branchCreate().setName(branchToDelete).call(); - Environment environment = testData.getRepository().findOne("bar", "staging", - "branchToDelete"); + Environment environment = testData.getRepository().findOne("bar", "staging", "branchToDelete"); assertThat(environment).isNotNull(); - testData.getServerGit().getGit().branchDelete().setBranchNames(branchToDelete) - .call(); + testData.getServerGit().getGit().branchDelete().setBranchNames(branchToDelete).call(); testData.getRepository().findOne("bar", "staging", "branchToDelete"); assertThat(environment).isNotNull(); } @Test(expected = NoSuchLabelException.class) public void testShouldFailIfRemoteBranchWasDeleted() throws Exception { - JGitConfigServerTestData testData = JGitConfigServerTestData - .prepareClonedGitRepository(Collections.singleton( - "spring.cloud.config.server.git.deleteUntrackedBranches=true"), - TestConfiguration.class); + JGitConfigServerTestData testData = JGitConfigServerTestData.prepareClonedGitRepository( + Collections.singleton("spring.cloud.config.server.git.deleteUntrackedBranches=true"), + TestConfiguration.class); String branchToDelete = "branchToDelete"; testData.getServerGit().getGit().branchCreate().setName(branchToDelete).call(); // checkout and simulate regular flow - Environment environment = testData.getRepository().findOne("bar", "staging", - "branchToDelete"); + Environment environment = testData.getRepository().findOne("bar", "staging", "branchToDelete"); assertThat(environment).isNotNull(); // remove branch - testData.getServerGit().getGit().branchDelete().setBranchNames(branchToDelete) - .call(); + testData.getServerGit().getGit().branchDelete().setBranchNames(branchToDelete).call(); // test testData.getRepository().findOne("bar", "staging", "branchToDelete"); @@ -697,16 +605,14 @@ public class JGitEnvironmentRepositoryIntegrationTests { @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties(ConfigServerProperties.class) - @Import({ PropertyPlaceholderAutoConfiguration.class, - EnvironmentRepositoryConfiguration.class }) + @Import({ PropertyPlaceholderAutoConfiguration.class, EnvironmentRepositoryConfiguration.class }) protected static class TestConfiguration { } @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties(ConfigServerProperties.class) - @Import({ PropertyPlaceholderAutoConfiguration.class, - EnvironmentRepositoryConfiguration.class }) + @Import({ PropertyPlaceholderAutoConfiguration.class, EnvironmentRepositoryConfiguration.class }) protected static class TestConfigurationWithTransportConfigCallback { @Bean diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositorySslTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositorySslTests.java index 3bdebdac..6da85987 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositorySslTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositorySslTests.java @@ -46,8 +46,7 @@ public class JGitEnvironmentRepositorySslTests { @BeforeClass public static void setup() throws Exception { - URL repoUrl = JGitEnvironmentRepositorySslTests.class - .getResource("/test1-config-repo/git"); + URL repoUrl = JGitEnvironmentRepositorySslTests.class.getResource("/test1-config-repo/git"); Repository repo = new FileRepository(new File(repoUrl.toURI())); server = new SimpleHttpServer(repo, true); server.start(); @@ -68,12 +67,10 @@ public class JGitEnvironmentRepositorySslTests { @Test(expected = CertificateException.class) public void selfSignedCertIsRejected() throws Throwable { - ConfigurableApplicationContext context = new SpringApplicationBuilder( - TestConfiguration.class).properties(configServerProperties()) - .web(WebApplicationType.NONE).run(); + ConfigurableApplicationContext context = new SpringApplicationBuilder(TestConfiguration.class) + .properties(configServerProperties()).web(WebApplicationType.NONE).run(); - JGitEnvironmentRepository repository = context - .getBean(JGitEnvironmentRepository.class); + JGitEnvironmentRepository repository = context.getBean(JGitEnvironmentRepository.class); try { repository.findOne("bar", "staging", "master"); @@ -91,21 +88,17 @@ public class JGitEnvironmentRepositorySslTests { @Test public void selfSignedCertWithSkipSslValidationIsAccepted() { - ConfigurableApplicationContext context = new SpringApplicationBuilder( - TestConfiguration.class) - .properties(configServerProperties( - "spring.cloud.config.server.git.skipSslValidation=true")) - .web(WebApplicationType.NONE).run(); + ConfigurableApplicationContext context = new SpringApplicationBuilder(TestConfiguration.class) + .properties(configServerProperties("spring.cloud.config.server.git.skipSslValidation=true")) + .web(WebApplicationType.NONE).run(); - JGitEnvironmentRepository repository = context - .getBean(JGitEnvironmentRepository.class); + JGitEnvironmentRepository repository = context.getBean(JGitEnvironmentRepository.class); repository.findOne("bar", "staging", "master"); } @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties(ConfigServerProperties.class) - @Import({ PropertyPlaceholderAutoConfiguration.class, - EnvironmentRepositoryConfiguration.class }) + @Import({ PropertyPlaceholderAutoConfiguration.class, EnvironmentRepositoryConfiguration.class }) static class TestConfiguration { } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryTests.java index 16a4e1f5..83752a79 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryTests.java @@ -112,8 +112,7 @@ public class JGitEnvironmentRepositoryTests { @Before public void init() throws Exception { String uri = ConfigServerTestUtils.prepareLocalRepo(); - this.repository = new JGitEnvironmentRepository(this.environment, - new JGitEnvironmentProperties()); + this.repository = new JGitEnvironmentRepository(this.environment, new JGitEnvironmentProperties()); this.repository.setUri(uri); if (this.basedir.exists()) { FileUtils.delete(this.basedir, FileUtils.RECURSIVE | FileUtils.RETRY); @@ -156,8 +155,7 @@ public class JGitEnvironmentRepositoryTests { private void assertVersion(Environment environment) { String version = environment.getVersion(); assertThat(version).as("version was null").isNotNull(); - assertTrue("version length was wrong", - version.length() >= 40 && version.length() <= 64); + assertTrue("version length was wrong", version.length() >= 40 && version.length() <= 64); } @Test @@ -227,16 +225,15 @@ public class JGitEnvironmentRepositoryTests { } @Test - public void afterPropertiesSet_CloneOnStartTrue_CloneAndFetchCalled() - throws Exception { + public void afterPropertiesSet_CloneOnStartTrue_CloneAndFetchCalled() throws Exception { Git mockGit = mock(Git.class); CloneCommand mockCloneCommand = mock(CloneCommand.class); when(mockCloneCommand.setURI(anyString())).thenReturn(mockCloneCommand); when(mockCloneCommand.setDirectory(any(File.class))).thenReturn(mockCloneCommand); - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri("http://somegitserver/somegitrepo"); envRepository.setCloneOnStart(true); @@ -245,16 +242,15 @@ public class JGitEnvironmentRepositoryTests { } @Test - public void afterPropertiesSet_CloneOnStartFalse_CloneAndFetchNotCalled() - throws Exception { + public void afterPropertiesSet_CloneOnStartFalse_CloneAndFetchNotCalled() throws Exception { Git mockGit = mock(Git.class); CloneCommand mockCloneCommand = mock(CloneCommand.class); when(mockCloneCommand.setURI(anyString())).thenReturn(mockCloneCommand); when(mockCloneCommand.setDirectory(any(File.class))).thenReturn(mockCloneCommand); - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri("http://somegitserver/somegitrepo"); envRepository.afterPropertiesSet(); @@ -263,16 +259,15 @@ public class JGitEnvironmentRepositoryTests { } @Test - public void afterPropertiesSet_CloneOnStartTrueWithFileURL_CloneAndFetchNotCalled() - throws Exception { + public void afterPropertiesSet_CloneOnStartTrueWithFileURL_CloneAndFetchNotCalled() throws Exception { Git mockGit = mock(Git.class); CloneCommand mockCloneCommand = mock(CloneCommand.class); when(mockCloneCommand.setURI(anyString())).thenReturn(mockCloneCommand); when(mockCloneCommand.setDirectory(any(File.class))).thenReturn(mockCloneCommand); - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri("file://somefilesystem/somegitrepo"); envRepository.setCloneOnStart(true); @@ -292,8 +287,7 @@ public class JGitEnvironmentRepositoryTests { when(git.status()).thenReturn(statusCommand); when(git.getRepository()).thenReturn(repository); when(repository.getConfig()).thenReturn(storedConfig); - when(storedConfig.getString("remote", "origin", "url")) - .thenReturn("http://example/git"); + when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git"); when(statusCommand.call()).thenReturn(status); when(status.isClean()).thenReturn(false); @@ -317,8 +311,7 @@ public class JGitEnvironmentRepositoryTests { when(git.status()).thenReturn(statusCommand); when(git.getRepository()).thenReturn(repository); when(repository.getConfig()).thenReturn(storedConfig); - when(storedConfig.getString("remote", "origin", "url")) - .thenReturn("http://example/git"); + when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git"); when(statusCommand.call()).thenReturn(status); when(status.isClean()).thenReturn(false); @@ -341,8 +334,7 @@ public class JGitEnvironmentRepositoryTests { when(git.status()).thenReturn(statusCommand); when(git.getRepository()).thenReturn(repository); when(repository.getConfig()).thenReturn(storedConfig); - when(storedConfig.getString("remote", "origin", "url")) - .thenReturn("http://example/git"); + when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git"); when(statusCommand.call()).thenReturn(status); when(status.isClean()).thenReturn(true); @@ -365,16 +357,14 @@ public class JGitEnvironmentRepositoryTests { when(git.status()).thenReturn(statusCommand); when(git.getRepository()).thenReturn(repository); when(repository.getConfig()).thenReturn(storedConfig); - when(storedConfig.getString("remote", "origin", "url")) - .thenReturn("http://example/git"); + when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git"); when(statusCommand.call()).thenReturn(status); when(status.isClean()).thenReturn(true); JGitEnvironmentProperties properties = new JGitEnvironmentProperties(); properties.setRefreshRate(2); - JGitEnvironmentRepository repo = new JGitEnvironmentRepository(this.environment, - properties); + JGitEnvironmentRepository repo = new JGitEnvironmentRepository(this.environment, properties); repo.setLastRefresh(System.currentTimeMillis() - 5000); @@ -404,24 +394,20 @@ public class JGitEnvironmentRepositoryTests { when(fetchCommand.call()).thenReturn(fetchResult); when(git.fetch()).thenReturn(fetchCommand); when(repository.getConfig()).thenReturn(storedConfig); - when(storedConfig.getString("remote", "origin", "url")) - .thenReturn("http://example/git"); + when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git"); when(statusCommand.call()).thenReturn(status); when(status.isClean()).thenReturn(true); JGitEnvironmentProperties properties = new JGitEnvironmentProperties(); properties.setRefreshRate(1000); - JGitEnvironmentRepository repo = new JGitEnvironmentRepository(this.environment, - properties); + JGitEnvironmentRepository repo = new JGitEnvironmentRepository(this.environment, properties); repo.setLastRefresh(0); repo.fetch(git, "master"); long timeDiff = System.currentTimeMillis() - repo.getLastRefresh(); - assertThat(timeDiff < 1000L) - .as("time difference (" + timeDiff + ") was longer than 1 second") - .isTrue(); + assertThat(timeDiff < 1000L).as("time difference (" + timeDiff + ") was longer than 1 second").isTrue(); } @Test @@ -442,8 +428,7 @@ public class JGitEnvironmentRepositoryTests { when(git.getRepository()).thenReturn(repository); StoredConfig storedConfig = mock(StoredConfig.class); when(repository.getConfig()).thenReturn(storedConfig); - when(storedConfig.getString("remote", "origin", "url")) - .thenReturn("http://example/git"); + when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git"); when(statusCommand.call()).thenReturn(status); when(status.isClean()).thenReturn(true); @@ -451,14 +436,13 @@ public class JGitEnvironmentRepositoryTests { FetchCommand fetchCommand = mock(FetchCommand.class); when(git.fetch()).thenReturn(fetchCommand); when(fetchCommand.setRemote(anyString())).thenReturn(fetchCommand); - when(fetchCommand.call()) - .thenThrow(new InvalidRemoteException("invalid mock remote")); // here - // is - // our - // exception - // we - // are - // testing + when(fetchCommand.call()).thenThrow(new InvalidRemoteException("invalid mock remote")); // here + // is + // our + // exception + // we + // are + // testing // refresh()->checkout CheckoutCommand checkoutCommand = mock(CheckoutCommand.class); @@ -491,8 +475,7 @@ public class JGitEnvironmentRepositoryTests { ObjectId newObjectId = ObjectId.fromRaw(new int[] { 1, 2, 3, 4, 5 }); when(headRef.getObjectId()).thenReturn(newObjectId); - SearchPathLocator.Locations locations = this.repository.getLocations("bar", - "staging", null); + SearchPathLocator.Locations locations = this.repository.getLocations("bar", "staging", null); assertThat(newObjectId.getName()).isEqualTo(locations.getVersion()); verify(git, times(0)).branchDelete(); @@ -558,8 +541,7 @@ public class JGitEnvironmentRepositoryTests { when(git.getRepository()).thenReturn(repository); StoredConfig storedConfig = mock(StoredConfig.class); when(repository.getConfig()).thenReturn(storedConfig); - when(storedConfig.getString("remote", "origin", "url")) - .thenReturn("http://example/git"); + when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git"); when(statusCommand.call()).thenReturn(status); when(status.isClean()).thenReturn(true); @@ -569,8 +551,7 @@ public class JGitEnvironmentRepositoryTests { when(git.fetch()).thenReturn(fetchCommand); when(fetchCommand.setRemote(anyString())).thenReturn(fetchCommand); when(fetchCommand.call()).thenReturn(fetchResult); - when(fetchResult.getTrackingRefUpdates()) - .thenReturn(Collections.emptyList()); + when(fetchResult.getTrackingRefUpdates()).thenReturn(Collections.emptyList()); // refresh()->checkout CheckoutCommand checkoutCommand = mock(CheckoutCommand.class); @@ -598,8 +579,7 @@ public class JGitEnvironmentRepositoryTests { ObjectId newObjectId = ObjectId.fromRaw(new int[] { 1, 2, 3, 4, 5 }); when(headRef.getObjectId()).thenReturn(newObjectId); - SearchPathLocator.Locations locations = this.repository.getLocations("bar", - "staging", "master"); + SearchPathLocator.Locations locations = this.repository.getLocations("bar", "staging", "master"); assertThat(newObjectId.getName()).isEqualTo(locations.getVersion()); verify(git, times(0)).branchDelete(); @@ -632,11 +612,9 @@ public class JGitEnvironmentRepositoryTests { when(git.getRepository()).thenReturn(repository); when(git.checkout()).thenReturn(checkoutCommand); when(git.fetch()).thenReturn(fetchCommand); - when(git.merge()) - .thenReturn(mock(MergeCommand.class, Mockito.RETURNS_DEEP_STUBS)); + when(git.merge()).thenReturn(mock(MergeCommand.class, Mockito.RETURNS_DEEP_STUBS)); when(repository.getConfig()).thenReturn(storedConfig); - when(storedConfig.getString("remote", "origin", "url")) - .thenReturn("http://example/git"); + when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git"); when(statusCommand.call()).thenReturn(status); when(checkoutCommand.call()).thenReturn(ref); when(listBranchCommand.call()).thenReturn(Arrays.asList(branch1Ref)); @@ -678,8 +656,7 @@ public class JGitEnvironmentRepositoryTests { when(git.getRepository()).thenReturn(repository); StoredConfig storedConfig = mock(StoredConfig.class); when(repository.getConfig()).thenReturn(storedConfig); - when(storedConfig.getString("remote", "origin", "url")) - .thenReturn("http://example/git"); + when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git"); when(statusCommand.call()).thenReturn(status); when(status.isClean()).thenReturn(true).thenReturn(false); @@ -689,8 +666,7 @@ public class JGitEnvironmentRepositoryTests { when(git.fetch()).thenReturn(fetchCommand); when(fetchCommand.setRemote(anyString())).thenReturn(fetchCommand); when(fetchCommand.call()).thenReturn(fetchResult); - when(fetchResult.getTrackingRefUpdates()) - .thenReturn(Collections.emptyList()); + when(fetchResult.getTrackingRefUpdates()).thenReturn(Collections.emptyList()); // refresh()->checkout CheckoutCommand checkoutCommand = mock(CheckoutCommand.class); @@ -728,8 +704,7 @@ public class JGitEnvironmentRepositoryTests { ObjectId newObjectId = ObjectId.fromRaw(new int[] { 1, 2, 3, 4, 5 }); when(headRef.getObjectId()).thenReturn(newObjectId); - SearchPathLocator.Locations locations = this.repository.getLocations("bar", - "staging", "master"); + SearchPathLocator.Locations locations = this.repository.getLocations("bar", "staging", "master"); assertThat(newObjectId.getName()).isEqualTo(locations.getVersion()); verify(git, times(0)).branchDelete(); @@ -742,11 +717,10 @@ public class JGitEnvironmentRepositoryTests { when(mockCloneCommand.setURI(anyString())).thenReturn(mockCloneCommand); when(mockCloneCommand.setDirectory(any(File.class))).thenReturn(mockCloneCommand); - when(mockCloneCommand.call()) - .thenThrow(new TransportException("failed to clone")); + when(mockCloneCommand.call()).thenThrow(new TransportException("failed to clone")); - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri("http://somegitserver/somegitrepo"); envRepository.setBasedir(this.basedir); @@ -758,8 +732,7 @@ public class JGitEnvironmentRepositoryTests { // expected - ignore } - assertThat(this.basedir.listFiles().length > 0) - .as("baseDir should be deleted when clone fails").isFalse(); + assertThat(this.basedir.listFiles().length > 0).as("baseDir should be deleted when clone fails").isFalse(); } @Test @@ -767,8 +740,8 @@ public class JGitEnvironmentRepositoryTests { Git mockGit = mock(Git.class); MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit); - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri("git+ssh://git@somegitserver/somegitrepo"); envRepository.setBasedir(new File("./mybasedir")); @@ -779,8 +752,7 @@ public class JGitEnvironmentRepositoryTests { envRepository.setCloneOnStart(true); envRepository.afterPropertiesSet(); - assertTrue(mockCloneCommand - .getCredentialsProvider() instanceof UsernamePasswordCredentialsProvider); + assertTrue(mockCloneCommand.getCredentialsProvider() instanceof UsernamePasswordCredentialsProvider); CredentialsProvider provider = mockCloneCommand.getCredentialsProvider(); CredentialItem.Username usernameCredential = new CredentialItem.Username(); @@ -800,8 +772,8 @@ public class JGitEnvironmentRepositoryTests { Git mockGit = mock(Git.class); MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit); - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri("git+ssh://git@somegitserver/somegitrepo"); envRepository.setBasedir(new File("./mybasedir")); @@ -814,8 +786,8 @@ public class JGitEnvironmentRepositoryTests { CredentialsProvider provider = mockCloneCommand.getCredentialsProvider(); assertThat(provider.isInteractive()).isFalse(); - CredentialItem.StringType stringCredential = new CredentialItem.StringType( - PassphraseCredentialsProvider.PROMPT, true); + CredentialItem.StringType stringCredential = new CredentialItem.StringType(PassphraseCredentialsProvider.PROMPT, + true); assertThat(provider.supports(stringCredential)).isTrue(); provider.get(new URIish(), stringCredential); @@ -823,15 +795,14 @@ public class JGitEnvironmentRepositoryTests { } @Test - public void gitCredentialsProviderFactoryCreatesPassphraseProvider() - throws Exception { + public void gitCredentialsProviderFactoryCreatesPassphraseProvider() throws Exception { final String passphrase = "mypassphrase"; final String gitUri = "git+ssh://git@somegitserver/somegitrepo"; Git mockGit = mock(Git.class); MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit); - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri(gitUri); envRepository.setBasedir(new File("./mybasedir")); @@ -844,8 +815,8 @@ public class JGitEnvironmentRepositoryTests { CredentialsProvider provider = mockCloneCommand.getCredentialsProvider(); assertThat(provider.isInteractive()).isFalse(); - CredentialItem.StringType stringCredential = new CredentialItem.StringType( - PassphraseCredentialsProvider.PROMPT, true); + CredentialItem.StringType stringCredential = new CredentialItem.StringType(PassphraseCredentialsProvider.PROMPT, + true); assertThat(provider.supports(stringCredential)).isTrue(); provider.get(new URIish(), stringCredential); @@ -854,15 +825,14 @@ public class JGitEnvironmentRepositoryTests { } @Test - public void gitCredentialsProviderFactoryCreatesUsernamePasswordProvider() - throws Exception { + public void gitCredentialsProviderFactoryCreatesUsernamePasswordProvider() throws Exception { Git mockGit = mock(Git.class); MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit); final String username = "someuser"; final String password = "mypassword"; - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri("git+ssh://git@somegitserver/somegitrepo"); envRepository.setBasedir(new File("./mybasedir")); @@ -871,8 +841,7 @@ public class JGitEnvironmentRepositoryTests { envRepository.setCloneOnStart(true); envRepository.afterPropertiesSet(); - assertTrue(mockCloneCommand - .getCredentialsProvider() instanceof UsernamePasswordCredentialsProvider); + assertTrue(mockCloneCommand.getCredentialsProvider() instanceof UsernamePasswordCredentialsProvider); CredentialsProvider provider = mockCloneCommand.getCredentialsProvider(); CredentialItem.Username usernameCredential = new CredentialItem.Username(); @@ -887,33 +856,30 @@ public class JGitEnvironmentRepositoryTests { } @Test - public void gitCredentialsProviderFactoryCreatesAwsCodeCommitProvider() - throws Exception { + public void gitCredentialsProviderFactoryCreatesAwsCodeCommitProvider() throws Exception { Git mockGit = mock(Git.class); MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit); final String awsUri = "https://git-codecommit.us-east-1.amazonaws.com/v1/repos/test"; - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri(awsUri); envRepository.setCloneOnStart(true); envRepository.afterPropertiesSet(); - assertTrue(mockCloneCommand - .getCredentialsProvider() instanceof AwsCodeCommitCredentialProvider); + assertTrue(mockCloneCommand.getCredentialsProvider() instanceof AwsCodeCommitCredentialProvider); } @Test - public void gitCredentialsProviderFactoryCreatesSkipSslValidationProvider() - throws Exception { + public void gitCredentialsProviderFactoryCreatesSkipSslValidationProvider() throws Exception { Git mockGit = mock(Git.class); MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit); final String username = "someuser"; final String password = "mypassword"; - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri("https://somegitserver/somegitrepo"); envRepository.setBasedir(new File("./mybasedir")); @@ -941,8 +907,8 @@ public class JGitEnvironmentRepositoryTests { @Test public void shouldPrintStacktraceIfDebugEnabled() throws Exception { final Log mockLogger = mock(Log.class); - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()) { + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()) { @Override public void afterPropertiesSet() throws Exception { this.logger = mockLogger; @@ -957,8 +923,7 @@ public class JGitEnvironmentRepositoryTests { verify(mockLogger).debug(eq("Stacktrace for: "), any(RuntimeException.class)); int numberOfInvocations = mockingDetails(mockLogger).getInvocations().size(); - assertThat(numberOfInvocations).as("should call isDebugEnabled warn and debug") - .isEqualTo(3); + assertThat(numberOfInvocations).as("should call isDebugEnabled warn and debug").isEqualTo(3); } @Test @@ -973,8 +938,8 @@ public class JGitEnvironmentRepositoryTests { when(mockCloneCommand.setDirectory(any(File.class))).thenReturn(mockCloneCommand); TransportConfigCallback configCallback = mock(TransportConfigCallback.class); - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri("http://somegitserver/somegitrepo"); envRepository.setTransportConfigCallback(configCallback); @@ -995,10 +960,9 @@ public class JGitEnvironmentRepositoryTests { when(mockGit.fetch()).thenReturn(fetchCommand); when(fetchCommand.call()).thenReturn(mock(FetchResult.class)); - JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository( - this.environment, new JGitEnvironmentProperties()); - envRepository - .setGitFactory(new MockGitFactory(mockGit, mock(CloneCommand.class))); + JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment, + new JGitEnvironmentProperties()); + envRepository.setGitFactory(new MockGitFactory(mockGit, mock(CloneCommand.class))); envRepository.setUri("http://somegitserver/somegitrepo"); envRepository.setDeleteUntrackedBranches(true); @@ -1024,8 +988,7 @@ public class JGitEnvironmentRepositoryTests { when(git.getRepository()).thenReturn(repository); StoredConfig storedConfig = mock(StoredConfig.class); when(repository.getConfig()).thenReturn(storedConfig); - when(storedConfig.getString("remote", "origin", "url")) - .thenReturn("http://example/git"); + when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git"); when(statusCommand.call()).thenReturn(status); when(status.isClean()).thenReturn(true); @@ -1034,8 +997,7 @@ public class JGitEnvironmentRepositoryTests { FetchResult fetchResult = mock(FetchResult.class); TrackingRefUpdate trackingRefUpdate = mock(TrackingRefUpdate.class); - Collection trackingRefUpdates = Collections - .singletonList(trackingRefUpdate); + Collection trackingRefUpdates = Collections.singletonList(trackingRefUpdate); when(git.fetch()).thenReturn(fetchCommand); when(fetchCommand.setRemote(anyString())).thenReturn(fetchCommand); @@ -1046,13 +1008,11 @@ public class JGitEnvironmentRepositoryTests { ReceiveCommand receiveCommand = mock(ReceiveCommand.class); when(trackingRefUpdate.asReceiveCommand()).thenReturn(receiveCommand); when(receiveCommand.getType()).thenReturn(ReceiveCommand.Type.DELETE); - when(trackingRefUpdate.getLocalName()) - .thenReturn("refs/remotes/origin/feature/deletedBranchFromOrigin"); + when(trackingRefUpdate.getLocalName()).thenReturn("refs/remotes/origin/feature/deletedBranchFromOrigin"); DeleteBranchCommand deleteBranchCommand = mock(DeleteBranchCommand.class); when(git.branchDelete()).thenReturn(deleteBranchCommand); - when(deleteBranchCommand.setBranchNames(eq("feature/deletedBranchFromOrigin"))) - .thenReturn(deleteBranchCommand); + when(deleteBranchCommand.setBranchNames(eq("feature/deletedBranchFromOrigin"))).thenReturn(deleteBranchCommand); when(deleteBranchCommand.setForce(true)).thenReturn(deleteBranchCommand); when(deleteBranchCommand.call()).thenThrow(new NotMergedException()); // here // is @@ -1091,8 +1051,7 @@ public class JGitEnvironmentRepositoryTests { ObjectId newObjectId = ObjectId.fromRaw(new int[] { 1, 2, 3, 4, 5 }); when(headRef.getObjectId()).thenReturn(newObjectId); - SearchPathLocator.Locations locations = this.repository.getLocations("bar", - "staging", "master"); + SearchPathLocator.Locations locations = this.repository.getLocations("bar", "staging", "master"); assertThat(newObjectId.getName()).isEqualTo(locations.getVersion()); verify(deleteBranchCommand).setBranchNames(eq("feature/deletedBranchFromOrigin")); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryConfigurationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryConfigurationTests.java index 6e1eeb45..46f45d54 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryConfigurationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryConfigurationTests.java @@ -37,13 +37,10 @@ public class JdbcEnvironmentRepositoryConfigurationTests { @Test public void jdbcEnvironmentRepositoryBeansConfiguredWhenDefault() throws IOException { - new WebApplicationContextRunner() - .withUserConfiguration(ConfigServerApplication.class) - .withPropertyValues("spring.profiles.active=test,jdbc", - "spring.main.web-application-type=none") + new WebApplicationContextRunner().withUserConfiguration(ConfigServerApplication.class) + .withPropertyValues("spring.profiles.active=test,jdbc", "spring.main.web-application-type=none") .run(context -> { - assertThat(context) - .hasSingleBean(JdbcEnvironmentRepositoryFactory.class); + assertThat(context).hasSingleBean(JdbcEnvironmentRepositoryFactory.class); assertThat(context).hasSingleBean(JdbcEnvironmentRepository.class); }); } @@ -57,26 +54,22 @@ public class JdbcEnvironmentRepositoryConfigurationTests { } @Test - public void jdbcEnvironmentRepositoryFactoryNotConfiguredWhenDisabled() - throws IOException { - getApplicationContextWithJdbcEnabled(false, context -> assertThat(context) - .doesNotHaveBean(JdbcEnvironmentRepositoryFactory.class)); + public void jdbcEnvironmentRepositoryFactoryNotConfiguredWhenDisabled() throws IOException { + getApplicationContextWithJdbcEnabled(false, + context -> assertThat(context).doesNotHaveBean(JdbcEnvironmentRepositoryFactory.class)); } @Test public void jdbcEnvironmentRepositoryNotConfiguredWhenDisabled() throws IOException { - getApplicationContextWithJdbcEnabled(false, context -> assertThat(context) - .doesNotHaveBean(JdbcEnvironmentRepository.class)); + getApplicationContextWithJdbcEnabled(false, + context -> assertThat(context).doesNotHaveBean(JdbcEnvironmentRepository.class)); } private void getApplicationContextWithJdbcEnabled(boolean jdbcEnabled, - ContextConsumer consumer) - throws IOException { + ContextConsumer consumer) throws IOException { String uri = ConfigServerTestUtils.prepareLocalRepo(); - new WebApplicationContextRunner() - .withUserConfiguration(ConfigServerApplication.class) - .withPropertyValues("spring.profiles.active=test,jdbc", - "spring.main.web-application-type=none", + new WebApplicationContextRunner().withUserConfiguration(ConfigServerApplication.class) + .withPropertyValues("spring.profiles.active=test,jdbc", "spring.main.web-application-type=none", "spring.cloud.config.server.git.uri:" + uri, "spring.cloud.config.server.jdbc.enabled:" + jdbcEnabled) .run(consumer); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryTests.java index 18e83f6e..99e3d9f3 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JdbcEnvironmentRepositoryTests.java @@ -38,9 +38,8 @@ import static org.assertj.core.api.Assertions.assertThat; * */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = ApplicationConfiguration.class, - properties = { "spring.datasource.schema=classpath:schema-jdbc.sql", - "spring.datasource.data=classpath:data-jdbc.sql" }) +@SpringBootTest(classes = ApplicationConfiguration.class, properties = { + "spring.datasource.schema=classpath:schema-jdbc.sql", "spring.datasource.data=classpath:data-jdbc.sql" }) @AutoConfigureTestDatabase @DirtiesContext public class JdbcEnvironmentRepositoryTests { @@ -57,10 +56,8 @@ public class JdbcEnvironmentRepositoryTests { assertThat(env.getLabel()).isEqualTo("master"); assertThat(env.getPropertySources()).isNotEmpty(); assertThat(env.getPropertySources().get(0).getName()).isEqualTo("foo-bar"); - assertThat(env.getPropertySources().get(0).getSource().get("a.b.c")) - .isEqualTo("x"); - assertThat(env.getPropertySources().get(1).getName()) - .isEqualTo("application-default"); + assertThat(env.getPropertySources().get(0).getSource().get("a.b.c")).isEqualTo("x"); + assertThat(env.getPropertySources().get(1).getName()).isEqualTo("application-default"); assertThat(env.getPropertySources().get(1).getSource().get("a.b")).isEqualTo("y"); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests.java index a46303c1..dfb21985 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests.java @@ -42,8 +42,8 @@ public class MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests { private StandardEnvironment environment = new StandardEnvironment(); - private MultipleJGitEnvironmentRepository repository = new MultipleJGitEnvironmentRepository( - this.environment, new MultipleJGitEnvironmentProperties()); + private MultipleJGitEnvironmentRepository repository = new MultipleJGitEnvironmentRepository(this.environment, + new MultipleJGitEnvironmentProperties()); @BeforeClass public static void initClass() { @@ -58,19 +58,17 @@ public class MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests { this.repository.setRepos(createRepositories()); } - private Map createRepositories() - throws Exception { + private Map createRepositories() throws Exception { String test1Uri = ConfigServerTestUtils.prepareLocalRepo("test1-config-repo"); ConfigServerTestUtils.prepareLocalRepo("test2-config-repo"); Map repos = new HashMap<>(); - repos.put("templates", createRepository("test", "*-config-repo", - test1Uri.replace("test1-config-repo", "{application}"))); + repos.put("templates", + createRepository("test", "*-config-repo", test1Uri.replace("test1-config-repo", "{application}"))); return repos; } - private PatternMatchingJGitEnvironmentRepository createRepository(String name, - String pattern, String uri) { + private PatternMatchingJGitEnvironmentRepository createRepository(String name, String pattern, String uri) { PatternMatchingJGitEnvironmentRepository repo = new PatternMatchingJGitEnvironmentRepository(); repo.setEnvironment(this.environment); repo.setName(name); @@ -90,10 +88,8 @@ public class MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests { @Test public void missingRepo() { - Environment environment = this.repository.findOne("missing-config-repo", - "staging", "master"); - assertThat(environment.getPropertySources().size()) - .as("Wrong property sources: " + environment).isEqualTo(1); + Environment environment = this.repository.findOne("missing-config-repo", "staging", "master"); + assertThat(environment.getPropertySources().size()).as("Wrong property sources: " + environment).isEqualTo(1); assertThat(environment.getPropertySources().get(0).getName()) .isEqualTo(this.repository.getUri() + "/application.yml"); assertVersion(environment); @@ -101,23 +97,19 @@ public class MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests { @Test public void mappingRepo() { - Environment environment = this.repository.findOne("test1-config-repo", "staging", - "master"); + Environment environment = this.repository.findOne("test1-config-repo", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(1); assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo(getUri("*").replace("{application}", "test1-config-repo") - + "/application.yml"); + .isEqualTo(getUri("*").replace("{application}", "test1-config-repo") + "/application.yml"); assertVersion(environment); } @Test public void otherMappingRepo() { - Environment environment = this.repository.findOne("test2-config-repo", "staging", - "master"); + Environment environment = this.repository.findOne("test2-config-repo", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(1); assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo(getUri("*").replace("{application}", "test2-config-repo") - + "/application.properties"); + .isEqualTo(getUri("*").replace("{application}", "test2-config-repo") + "/application.properties"); assertVersion(environment); } @@ -125,8 +117,7 @@ public class MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests { @Ignore("not supported yet (placeholders in search paths with lists)") public void profilesInSearchPaths() { this.repository.setSearchPaths("{profile}"); - Locations locations = this.repository.getLocations("foo", "dev,one,two", - "master"); + Locations locations = this.repository.getLocations("foo", "dev,one,two", "master"); assertThat(locations.getLocations().length).isEqualTo(3); assertThat(locations.getLocations()[0]).isEqualTo("classpath:/test/dev/"); } @@ -134,15 +125,13 @@ public class MultipleJGitEnvironmentApplicationPlaceholderRepositoryTests { private void assertVersion(Environment environment) { String version = environment.getVersion(); assertThat(version).as("version was null").isNotNull(); - assertThat(version.length() >= 40 && version.length() <= 64) - .as("version length was wrong").isTrue(); + assertThat(version.length() >= 40 && version.length() <= 64).as("version length was wrong").isTrue(); } private String getUri(String pattern) { String uri = null; - Map repoMappings = this.repository - .getRepos(); + Map repoMappings = this.repository.getRepos(); for (PatternMatchingJGitEnvironmentRepository repo : repoMappings.values()) { String[] mappingPattern = repo.getPattern(); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentLabelPlaceholderRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentLabelPlaceholderRepositoryTests.java index 03d48776..04093c7a 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentLabelPlaceholderRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentLabelPlaceholderRepositoryTests.java @@ -37,8 +37,8 @@ public class MultipleJGitEnvironmentLabelPlaceholderRepositoryTests { private StandardEnvironment environment = new StandardEnvironment(); - private MultipleJGitEnvironmentRepository repository = new MultipleJGitEnvironmentRepository( - this.environment, new MultipleJGitEnvironmentProperties()); + private MultipleJGitEnvironmentRepository repository = new MultipleJGitEnvironmentRepository(this.environment, + new MultipleJGitEnvironmentProperties()); private String defaultUri; @@ -50,8 +50,7 @@ public class MultipleJGitEnvironmentLabelPlaceholderRepositoryTests { @Before public void init() throws Exception { - this.defaultUri = ConfigServerTestUtils - .prepareLocalRepo("master-labeltest-config-repo"); + this.defaultUri = ConfigServerTestUtils.prepareLocalRepo("master-labeltest-config-repo"); this.repository.setUri(this.defaultUri.replace("master-", "{label}-")); } @@ -59,19 +58,15 @@ public class MultipleJGitEnvironmentLabelPlaceholderRepositoryTests { public void defaultRepo() { Environment environment = this.repository.findOne("bar", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(1); - assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo(this.defaultUri + "application.yml"); + assertThat(environment.getPropertySources().get(0).getName()).isEqualTo(this.defaultUri + "application.yml"); assertVersion(environment); } @Test public void missingRepo() { - Environment environment = this.repository.findOne("missing-config-repo", - "staging", "master"); - assertThat(environment.getPropertySources().size()) - .as("Wrong property sources: " + environment).isEqualTo(1); - assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo(this.defaultUri + "application.yml"); + Environment environment = this.repository.findOne("missing-config-repo", "staging", "master"); + assertThat(environment.getPropertySources().size()).as("Wrong property sources: " + environment).isEqualTo(1); + assertThat(environment.getPropertySources().get(0).getName()).isEqualTo(this.defaultUri + "application.yml"); assertVersion(environment); } @@ -79,16 +74,14 @@ public class MultipleJGitEnvironmentLabelPlaceholderRepositoryTests { public void defaultLabelRepo() { Environment environment = this.repository.findOne("bar", "staging", null); assertThat(environment.getPropertySources().size()).isEqualTo(1); - assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo(this.defaultUri + "application.yml"); + assertThat(environment.getPropertySources().get(0).getName()).isEqualTo(this.defaultUri + "application.yml"); assertVersion(environment); } private void assertVersion(Environment environment) { String version = environment.getVersion(); assertThat(version).as("version was null").isNotNull(); - assertThat(version.length() >= 40 && version.length() <= 64) - .as("version length was wrong").isTrue(); + assertThat(version.length() >= 40 && version.length() <= 64).as("version length was wrong").isTrue(); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentProfilePlaceholderRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentProfilePlaceholderRepositoryTests.java index b5777c88..38836de1 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentProfilePlaceholderRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentProfilePlaceholderRepositoryTests.java @@ -44,8 +44,8 @@ public class MultipleJGitEnvironmentProfilePlaceholderRepositoryTests { private StandardEnvironment environment = new StandardEnvironment(); - private MultipleJGitEnvironmentRepository repository = new MultipleJGitEnvironmentRepository( - this.environment, new MultipleJGitEnvironmentProperties()); + private MultipleJGitEnvironmentRepository repository = new MultipleJGitEnvironmentRepository(this.environment, + new MultipleJGitEnvironmentProperties()); @BeforeClass public static void initClass() { @@ -61,19 +61,17 @@ public class MultipleJGitEnvironmentProfilePlaceholderRepositoryTests { this.repository.setRepos(createRepositories()); } - private Map createRepositories() - throws Exception { + private Map createRepositories() throws Exception { String test1Uri = ConfigServerTestUtils.prepareLocalRepo("test1-config-repo"); ConfigServerTestUtils.prepareLocalRepo("test2-config-repo"); Map repos = new HashMap<>(); - repos.put("templates", createRepository("test", "*-config-repo", - test1Uri.replace("test1-config-repo", "{profile}"))); + repos.put("templates", + createRepository("test", "*-config-repo", test1Uri.replace("test1-config-repo", "{profile}"))); return repos; } - private PatternMatchingJGitEnvironmentRepository createRepository(String name, - String pattern, String uri) { + private PatternMatchingJGitEnvironmentRepository createRepository(String name, String pattern, String uri) { PatternMatchingJGitEnvironmentRepository repo = new PatternMatchingJGitEnvironmentRepository(); repo.setEnvironment(this.environment); repo.setName(name); @@ -94,48 +92,39 @@ public class MultipleJGitEnvironmentProfilePlaceholderRepositoryTests { @Test public void mappingRepo() { - Environment environment = this.repository.findOne("application", - "test1-config-repo", "master"); + Environment environment = this.repository.findOne("application", "test1-config-repo", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(1); String uri = getUri("*").replace("{profile}", "test1-config-repo"); - assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo(uri + "/application.yml"); + assertThat(environment.getPropertySources().get(0).getName()).isEqualTo(uri + "/application.yml"); assertVersion(environment); - assertThat(StringUtils.cleanPath(getRepository(uri).getBasedir().toString())) - .contains("target/repos"); + assertThat(StringUtils.cleanPath(getRepository(uri).getBasedir().toString())).contains("target/repos"); } @Test public void otherMappingRepo() { - Environment environment = this.repository.findOne("application", - "test2-config-repo", "master"); + Environment environment = this.repository.findOne("application", "test2-config-repo", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(1); assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo(getUri("*").replace("{profile}", "test2-config-repo") - + "/application.properties"); + .isEqualTo(getUri("*").replace("{profile}", "test2-config-repo") + "/application.properties"); assertVersion(environment); } @Test public void locationsTwoProfiles() throws Exception { - Locations locations = this.repository.getLocations("application", - "test1-config-repo,test2-config-repo", "master"); + Locations locations = this.repository.getLocations("application", "test1-config-repo,test2-config-repo", + "master"); assertThat(locations.getLocations().length).isEqualTo(1); - assertThat(new File(locations.getLocations()[0].replace("file:", "")) - .getCanonicalPath()).isEqualTo( - new File(getUri("*").replace("{profile}", "test2-config-repo") - .replace("file:", "")).getCanonicalPath()); + assertThat(new File(locations.getLocations()[0].replace("file:", "")).getCanonicalPath()) + .isEqualTo(new File(getUri("*").replace("{profile}", "test2-config-repo").replace("file:", "")) + .getCanonicalPath()); } @Test public void locationsMissingProfile() throws Exception { - Locations locations = this.repository.getLocations("application", - "not-there,another-not-there", "master"); + Locations locations = this.repository.getLocations("application", "not-there,another-not-there", "master"); assertThat(locations.getLocations().length).isEqualTo(1); - assertThat(new File(locations.getLocations()[0].replace("file:", "")) - .getCanonicalPath()) - .isEqualTo(new File(this.repository.getUri().replace("file:", "")) - .getCanonicalPath()); + assertThat(new File(locations.getLocations()[0].replace("file:", "")).getCanonicalPath()) + .isEqualTo(new File(this.repository.getUri().replace("file:", "")).getCanonicalPath()); } @Test @@ -144,11 +133,10 @@ public class MultipleJGitEnvironmentProfilePlaceholderRepositoryTests { "test1-config-repo,test2-config-repo,missing-config-repo", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(1); assertThat(environment.getPropertySources().get(0).getName()) - .isEqualTo(getUri("*").replace("{profile}", "test2-config-repo") - + "/application.properties"); + .isEqualTo(getUri("*").replace("{profile}", "test2-config-repo") + "/application.properties"); assertVersion(environment); - assertThat(new String[] { "test1-config-repo", "test2-config-repo", - "missing-config-repo" }).isEqualTo(environment.getProfiles()); + assertThat(new String[] { "test1-config-repo", "test2-config-repo", "missing-config-repo" }) + .isEqualTo(environment.getProfiles()); } @SuppressWarnings("unchecked") @@ -161,15 +149,13 @@ public class MultipleJGitEnvironmentProfilePlaceholderRepositoryTests { private void assertVersion(Environment environment) { String version = environment.getVersion(); assertThat(version).as("version was null").isNotNull(); - assertThat(version.length() >= 40 && version.length() <= 64) - .as("version length was wrong").isTrue(); + assertThat(version.length() >= 40 && version.length() <= 64).as("version length was wrong").isTrue(); } private String getUri(String pattern) { String uri = null; - Map repoMappings = this.repository - .getRepos(); + Map repoMappings = this.repository.getRepos(); for (PatternMatchingJGitEnvironmentRepository repo : repoMappings.values()) { String[] mappingPattern = repo.getPattern(); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryIntegrationTests.java index 20fc9948..38e6e927 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryIntegrationTests.java @@ -86,11 +86,9 @@ public class MultipleJGitEnvironmentRepositoryIntegrationTests { @Test public void defaultRepo() throws IOException { String defaultRepoUri = ConfigServerTestUtils.prepareLocalRepo("config-repo"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri).run(); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("bar", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); } @@ -103,12 +101,9 @@ public class MultipleJGitEnvironmentRepositoryIntegrationTests { Map repoMapping = new LinkedHashMap(); repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern", "*test1*"); repoMapping.put("spring.cloud.config.server.git.repos[test1].uri", test1RepoUri); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) - .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri) - .properties(repoMapping).run(); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri).properties(repoMapping).run(); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("test1-svc", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); } @@ -122,16 +117,13 @@ public class MultipleJGitEnvironmentRepositoryIntegrationTests { repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern", "*test1*"); repoMapping.put("spring.cloud.config.server.git.repos[test1].uri", test1RepoUri); repoMapping.put("spring.cloud.config.server.git.refresh-rate", "30"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) - .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri) - .properties(repoMapping).run(); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri).properties(repoMapping).run(); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("test1-svc", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); - assertThat(30).isEqualTo(((MultipleJGitEnvironmentRepository) repository) - .getRepos().get("test1").getRefreshRate()); + assertThat(30) + .isEqualTo(((MultipleJGitEnvironmentRepository) repository).getRepos().get("test1").getRefreshRate()); } @Test @@ -140,15 +132,11 @@ public class MultipleJGitEnvironmentRepositoryIntegrationTests { String test1RepoUri = ConfigServerTestUtils.prepareLocalRepo("test1-config-repo"); Map repoMapping = new LinkedHashMap(); - repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern", - "*/staging"); + repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern", "*/staging"); repoMapping.put("spring.cloud.config.server.git.repos[test1].uri", test1RepoUri); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) - .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri) - .properties(repoMapping).run(); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri).properties(repoMapping).run(); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("test1-svc", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); } @@ -159,17 +147,12 @@ public class MultipleJGitEnvironmentRepositoryIntegrationTests { String test1RepoUri = ConfigServerTestUtils.prepareLocalRepo("test1-config-repo"); Map repoMapping = new LinkedHashMap(); - repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern", - "*/staging"); + repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern", "*/staging"); repoMapping.put("spring.cloud.config.server.git.repos[test1].uri", test1RepoUri); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) - .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri) - .properties(repoMapping).run(); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); - Environment environment = repository.findOne("test1-svc", "staging,cloud", - "master"); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri).properties(repoMapping).run(); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); + Environment environment = repository.findOne("test1-svc", "staging,cloud", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); } @@ -179,21 +162,14 @@ public class MultipleJGitEnvironmentRepositoryIntegrationTests { String test1RepoUri = ConfigServerTestUtils.prepareLocalRepo("test1-config-repo"); Map repoMapping = new LinkedHashMap(); - repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern[0]", - "*/staging,*"); - repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern[1]", - "*/*,staging"); - repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern[2]", - "*/staging"); + repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern[0]", "*/staging,*"); + repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern[1]", "*/*,staging"); + repoMapping.put("spring.cloud.config.server.git.repos[test1].pattern[2]", "*/staging"); repoMapping.put("spring.cloud.config.server.git.repos[test1].uri", test1RepoUri); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) - .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri) - .properties(repoMapping).run(); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); - Environment environment = repository.findOne("test1-svc", "cloud,staging", - "master"); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri).properties(repoMapping).run(); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); + Environment environment = repository.findOne("test1-svc", "cloud,staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); environment = repository.findOne("test1-svc", "staging,cloud", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); @@ -205,14 +181,10 @@ public class MultipleJGitEnvironmentRepositoryIntegrationTests { String test1RepoUri = ConfigServerTestUtils.prepareLocalRepo("test1-config-repo"); Map repoMapping = new LinkedHashMap(); - repoMapping.put("spring.cloud.config.server.git.repos.test1-svc.uri", - test1RepoUri); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) - .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri) - .properties(repoMapping).run(); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + repoMapping.put("spring.cloud.config.server.git.repos.test1-svc.uri", test1RepoUri); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri).properties(repoMapping).run(); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("test1-svc", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); } @@ -220,10 +192,8 @@ public class MultipleJGitEnvironmentRepositoryIntegrationTests { @Test public void nonWritableBasedir() throws IOException { String defaultRepoUri = ConfigServerTestUtils.prepareLocalRepo("config-repo"); - this.expected.expectCause(ThrowableMessageMatcher - .hasMessage(containsString("Cannot write parent"))); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.expected.expectCause(ThrowableMessageMatcher.hasMessage(containsString("Cannot write parent"))); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .properties("spring.cloud.config.server.git.uri:" + defaultRepoUri, "spring.cloud.config.server.git.basedir:/tmp") .run(); @@ -234,21 +204,18 @@ public class MultipleJGitEnvironmentRepositoryIntegrationTests { String defaultRepoUri = ConfigServerTestUtils.prepareLocalRepo("config-repo"); String test1RepoUri = ConfigServerTestUtils.prepareLocalRepo("test1-config-repo"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) .properties("spring.cloud.config.server.git.repos.admin:" + test1RepoUri, "spring.cloud.config.server.git.uri:" + defaultRepoUri) .run(); - MultipleJGitEnvironmentProperties properties = this.context - .getBean(MultipleJGitEnvironmentProperties.class); + MultipleJGitEnvironmentProperties properties = this.context.getBean(MultipleJGitEnvironmentProperties.class); Assertions.assertThat(properties.getRepos()).hasSize(1).containsOnlyKeys("admin"); } @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties(ConfigServerProperties.class) - @Import({ PropertyPlaceholderAutoConfiguration.class, - EnvironmentRepositoryConfiguration.class }) + @Import({ PropertyPlaceholderAutoConfiguration.class, EnvironmentRepositoryConfiguration.class }) protected static class TestConfiguration { } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryTests.java index 987d9b9b..cde9cd5a 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryTests.java @@ -72,8 +72,7 @@ public class MultipleJGitEnvironmentRepositoryTests { this.repository.setRepos(createRepositories()); } - private Map createRepositories() - throws Exception { + private Map createRepositories() throws Exception { String test1Uri = ConfigServerTestUtils.prepareLocalRepo("test1-config-repo"); Map repos = new HashMap<>(); @@ -81,8 +80,7 @@ public class MultipleJGitEnvironmentRepositoryTests { return repos; } - private PatternMatchingJGitEnvironmentRepository createRepository(String name, - String pattern, String uri) { + private PatternMatchingJGitEnvironmentRepository createRepository(String name, String pattern, String uri) { PatternMatchingJGitEnvironmentRepository repo = new PatternMatchingJGitEnvironmentRepository(); repo.setEnvironment(this.environment); repo.setName(name); @@ -103,20 +101,17 @@ public class MultipleJGitEnvironmentRepositoryTests { @Test public void baseDirRepo() { - this.repository - .setUri(this.repository.getUri().replace("config-repo", "{application}")); + this.repository.setUri(this.repository.getUri().replace("config-repo", "{application}")); repository.setBasedir(new File("target/testBase")); - JGitEnvironmentRepository newRepo = this.repository.getRepository(this.repository, - "config-repo", "staging", "master"); - assertThat(newRepo.getBasedir().getAbsolutePath().contains("target/testBase")) - .isTrue(); + JGitEnvironmentRepository newRepo = this.repository.getRepository(this.repository, "config-repo", "staging", + "master"); + assertThat(newRepo.getBasedir().getAbsolutePath().contains("target/testBase")).isTrue(); } private void assertVersion(Environment environment) { String version = environment.getVersion(); assertThat(version).as("version was null").isNotNull(); - assertThat(version.length() >= 40 && version.length() <= 64) - .as("version length was wrong").isTrue(); + assertThat(version.length() >= 40 && version.length() <= 64).as("version length was wrong").isTrue(); } @Test @@ -162,14 +157,12 @@ public class MultipleJGitEnvironmentRepositoryTests { public void defaultRepoBasedir() { this.repository.setBasedir(new File("target/testBase")); assertThat(this.repository.getBasedir().toString()).contains("target/testBase"); - assertThat(this.repository.getRepos().get("test1").getBasedir().toString()) - .contains("/test1"); + assertThat(this.repository.getRepos().get("test1").getBasedir().toString()).contains("/test1"); } @Test public void mappingRepo() { - Environment environment = this.repository.findOne("test1-svc", "staging", - "master"); + Environment environment = this.repository.findOne("test1-svc", "staging", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); assertThat(environment.getPropertySources().get(0).getName()) .isEqualTo(getUri("*test1*") + "/test1-svc.properties"); @@ -202,11 +195,9 @@ public class MultipleJGitEnvironmentRepositoryTests { TransportConfigCallback mockCallback1 = mock(TransportConfigCallback.class); TransportConfigCallback mockCallback2 = mock(TransportConfigCallback.class); - PatternMatchingJGitEnvironmentRepository repo1 = createRepository("test1", - "*test1*", "test1Uri"); + PatternMatchingJGitEnvironmentRepository repo1 = createRepository("test1", "*test1*", "test1Uri"); - PatternMatchingJGitEnvironmentRepository repo2 = createRepository("test2", - "*test2*", "test2Uri"); + PatternMatchingJGitEnvironmentRepository repo2 = createRepository("test2", "*test2*", "test2Uri"); repo2.setTransportConfigCallback(mockCallback2); Map repos = new HashMap<>(); @@ -229,12 +220,10 @@ public class MultipleJGitEnvironmentRepositoryTests { final String multiRepoUsername = "multi-repo-username"; final String multiRepoPassword = "multi-repo-password"; final String multiRepoPassphrase = "multi-repo-passphrase"; - PatternMatchingJGitEnvironmentRepository repo1 = createRepository("test1", - "*test1*", "test1Uri"); + PatternMatchingJGitEnvironmentRepository repo1 = createRepository("test1", "*test1*", "test1Uri"); repo1.setUsername(repo1Username); repo1.setPassword(repo1Password); - PatternMatchingJGitEnvironmentRepository repo2 = createRepository("test2", - "*test2*", "test2Uri"); + PatternMatchingJGitEnvironmentRepository repo2 = createRepository("test2", "*test2*", "test2Uri"); repo2.setPassphrase(repo2Passphrase); Map repos = new HashMap<>(); @@ -247,23 +236,20 @@ public class MultipleJGitEnvironmentRepositoryTests { this.repository.setPassphrase(multiRepoPassphrase); this.repository.afterPropertiesSet(); - assertThat(repo1Username) - .as("Repo1 has its own username which should not be overwritten") + assertThat(repo1Username).as("Repo1 has its own username which should not be overwritten") .isEqualTo(repo1.getUsername()); - assertThat(repo1Password) - .as("Repo1 has its own password which should not be overwritten") + assertThat(repo1Password).as("Repo1 has its own password which should not be overwritten") .isEqualTo(repo1.getPassword()); - assertThat(multiRepoPassphrase).as( - "Repo1 did not specify a passphrase so this should have been copied from the multi repo") + assertThat(multiRepoPassphrase) + .as("Repo1 did not specify a passphrase so this should have been copied from the multi repo") .isEqualTo(repo1.getPassphrase()); - assertThat(multiRepoUsername).as( - "Repo2 did not specify a username so this should have been copied from the multi repo") + assertThat(multiRepoUsername) + .as("Repo2 did not specify a username so this should have been copied from the multi repo") .isEqualTo(repo2.getUsername()); - assertThat(multiRepoPassword).as( - "Repo2 did not specify a username so this should have been copied from the multi repo") + assertThat(multiRepoPassword) + .as("Repo2 did not specify a username so this should have been copied from the multi repo") .isEqualTo(repo2.getPassword()); - assertThat(repo2Passphrase) - .as("Repo2 has its own passphrase which should not have been overwritten") + assertThat(repo2Passphrase).as("Repo2 has its own passphrase which should not have been overwritten") .isEqualTo(repo2.getPassphrase()); } @@ -271,11 +257,9 @@ public class MultipleJGitEnvironmentRepositoryTests { public void setSkipSslValidation() throws Exception { final boolean repo1SkipSslValidation = false; final boolean repo2SkipSslValidation = true; - PatternMatchingJGitEnvironmentRepository repo1 = createRepository("test1", - "*test1*", "test1Uri"); + PatternMatchingJGitEnvironmentRepository repo1 = createRepository("test1", "*test1*", "test1Uri"); repo1.setSkipSslValidation(repo1SkipSslValidation); - PatternMatchingJGitEnvironmentRepository repo2 = createRepository("test2", - "*test2*", "test2Uri"); + PatternMatchingJGitEnvironmentRepository repo2 = createRepository("test2", "*test2*", "test2Uri"); repo2.setSkipSslValidation(repo2SkipSslValidation); Map repos = new HashMap<>(); @@ -285,11 +269,11 @@ public class MultipleJGitEnvironmentRepositoryTests { this.repository.setRepos(repos); this.repository.setSkipSslValidation(false); this.repository.afterPropertiesSet(); - assertThat(repo1.isSkipSslValidation()).as( - "If skip SSL validation is false at multi-repo level, then per-repo settings take priority") + assertThat(repo1.isSkipSslValidation()) + .as("If skip SSL validation is false at multi-repo level, then per-repo settings take priority") .isFalse(); - assertThat(repo2.isSkipSslValidation()).as( - "If skip SSL validation is false at multi-repo level, then per-repo settings take priority") + assertThat(repo2.isSkipSslValidation()) + .as("If skip SSL validation is false at multi-repo level, then per-repo settings take priority") .isTrue(); this.repository.setSkipSslValidation(true); @@ -319,8 +303,7 @@ public class MultipleJGitEnvironmentRepositoryTests { @Test // test for gh-700 - public void exceptionThrownIfBasedirDoesnotExistAndCannotBeCreated() - throws Exception { + public void exceptionThrownIfBasedirDoesnotExistAndCannotBeCreated() throws Exception { File basedir = mock(File.class); File absoluteBasedir = mock(File.class); when(basedir.getAbsoluteFile()).thenReturn(absoluteBasedir); @@ -337,8 +320,7 @@ public class MultipleJGitEnvironmentRepositoryTests { } @Test - public void exceptionNotThrownIfRelativeBasedirIsPassedByProperties() - throws Exception { + public void exceptionNotThrownIfRelativeBasedirIsPassedByProperties() throws Exception { MultipleJGitEnvironmentProperties props = new MultipleJGitEnvironmentProperties(); props.setBasedir(new File("relative")); this.repository = new MultipleJGitEnvironmentRepository(this.environment, props); @@ -351,8 +333,7 @@ public class MultipleJGitEnvironmentRepositoryTests { private String getUri(String pattern) { String uri = null; - Map repoMappings = this.repository - .getRepos(); + Map repoMappings = this.repository.getRepos(); for (PatternMatchingJGitEnvironmentRepository repo : repoMappings.values()) { String[] mappingPattern = repo.getPattern(); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryFactoryTest.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryFactoryTest.java index e9343543..8f5af1a0 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryFactoryTest.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryFactoryTest.java @@ -32,21 +32,19 @@ public class NativeEnvironmentRepositoryFactoryTest { public void testDefaultLabel() { ConfigServerProperties props = new ConfigServerProperties(); props.setDefaultLabel("mylabel"); - NativeEnvironmentRepositoryFactory factory = new NativeEnvironmentRepositoryFactory( - new StandardEnvironment(), props); + NativeEnvironmentRepositoryFactory factory = new NativeEnvironmentRepositoryFactory(new StandardEnvironment(), + props); NativeEnvironmentProperties environmentProperties = new NativeEnvironmentProperties(); NativeEnvironmentRepository repo = factory.build(environmentProperties); assertThat(repo.getDefaultLabel()).isEqualTo("mylabel"); - factory = new NativeEnvironmentRepositoryFactory(new StandardEnvironment(), - props); + factory = new NativeEnvironmentRepositoryFactory(new StandardEnvironment(), props); environmentProperties = new NativeEnvironmentProperties(); environmentProperties.setDefaultLabel("mynewlabel"); repo = factory.build(environmentProperties); assertThat(repo.getDefaultLabel()).isEqualTo("mylabel"); - factory = new NativeEnvironmentRepositoryFactory(new StandardEnvironment(), - new ConfigServerProperties()); + factory = new NativeEnvironmentRepositoryFactory(new StandardEnvironment(), new ConfigServerProperties()); environmentProperties = new NativeEnvironmentProperties(); environmentProperties.setDefaultLabel("mynewlabel"); repo = factory.build(environmentProperties); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryTests.java index 98d27fd5..f005e15e 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryTests.java @@ -41,11 +41,9 @@ public class NativeEnvironmentRepositoryTests { @Before public void init() { - ConfigurableApplicationContext context = new SpringApplicationBuilder( - NativeEnvironmentRepositoryTests.class).web(WebApplicationType.NONE) - .run(); - this.repository = new NativeEnvironmentRepository(context.getEnvironment(), - new NativeEnvironmentProperties()); + ConfigurableApplicationContext context = new SpringApplicationBuilder(NativeEnvironmentRepositoryTests.class) + .web(WebApplicationType.NONE).run(); + this.repository = new NativeEnvironmentRepository(context.getEnvironment(), new NativeEnvironmentProperties()); this.repository.setVersion("myversion"); this.repository.setDefaultLabel(null); context.close(); @@ -62,8 +60,7 @@ public class NativeEnvironmentRepositoryTests { public void vanilla() { Environment environment = this.repository.findOne("foo", "development", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); - assertThat(environment.getVersion()).as("version was wrong") - .isEqualTo("myversion"); + assertThat(environment.getVersion()).as("version was wrong").isEqualTo("myversion"); } @Test @@ -71,8 +68,7 @@ public class NativeEnvironmentRepositoryTests { System.setProperty("spring.profiles.active", "cloud"); Environment environment = this.repository.findOne("foo", "main", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(1); - assertThat(environment.getVersion()).as("version was wrong") - .isEqualTo("myversion"); + assertThat(environment.getVersion()).as("version was wrong").isEqualTo("myversion"); } @Test @@ -80,8 +76,7 @@ public class NativeEnvironmentRepositoryTests { this.repository.setSearchLocations("classpath:/test"); Environment environment = this.repository.findOne("foo", "development", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); - assertThat(environment.getVersion()).as("version was wrong") - .isEqualTo("myversion"); + assertThat(environment.getVersion()).as("version was wrong").isEqualTo("myversion"); } @Test @@ -89,23 +84,19 @@ public class NativeEnvironmentRepositoryTests { this.repository.setSearchLocations("file:./src/test/resources/test"); Environment environment = this.repository.findOne("foo", "development", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); - assertThat(environment.getVersion()).as("version was wrong") - .isEqualTo("myversion"); + assertThat(environment.getVersion()).as("version was wrong").isEqualTo("myversion"); } @Test @Ignore // FIXME: configdata public void labelled() { this.repository.setSearchLocations("classpath:/test"); - Environment environment = this.repository.findOne("foo", "development", "dev", - false); + Environment environment = this.repository.findOne("foo", "development", "dev", false); assertThat(environment.getPropertySources().size()).isEqualTo(3); // position 1 because it has higher precedence than anything except the // foo-development.properties - assertThat(environment.getPropertySources().get(1).getSource().get("foo")) - .isEqualTo("dev_bar"); - assertThat(environment.getVersion()).as("version was wrong") - .isEqualTo("myversion"); + assertThat(environment.getPropertySources().get(1).getSource().get("foo")).isEqualTo("dev_bar"); + assertThat(environment.getVersion()).as("version was wrong").isEqualTo("myversion"); } @Test @@ -113,8 +104,7 @@ public class NativeEnvironmentRepositoryTests { this.repository.setSearchLocations("classpath:/test/{label}/"); Environment environment = this.repository.findOne("foo", "development", "dev"); assertThat(environment.getPropertySources().size()).isEqualTo(1); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("dev_bar"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("dev_bar"); } @Test @@ -122,8 +112,7 @@ public class NativeEnvironmentRepositoryTests { this.repository.setSearchLocations("classpath:/test/{profile}/"); Environment environment = this.repository.findOne("foo", "dev", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(1); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("dev_bar"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("dev_bar"); } @Test @@ -131,8 +120,7 @@ public class NativeEnvironmentRepositoryTests { this.repository.setSearchLocations("classpath:/test/{profile}/"); Environment environment = this.repository.findOne("foo", "dev,mysql", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(2); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("mysql"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("mysql"); } @Test @@ -140,8 +128,7 @@ public class NativeEnvironmentRepositoryTests { this.repository.setSearchLocations("classpath:/test/{profile}/{application}/"); Environment environment = this.repository.findOne("app", "dev", "master"); assertThat(environment.getPropertySources().size()).isEqualTo(1); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("app"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("app"); } @Test @@ -164,8 +151,7 @@ public class NativeEnvironmentRepositoryTests { @Test public void locationProfilesApplication() { this.repository.setSearchLocations("classpath:/test/{profile}"); - Locations locations = this.repository.getLocations("foo", "dev,one,two", - "master"); + Locations locations = this.repository.getLocations("foo", "dev,one,two", "master"); assertThat(locations.getLocations().length).isEqualTo(3); assertThat(locations.getLocations()[0]).isEqualTo("classpath:/test/dev/"); } @@ -175,8 +161,7 @@ public class NativeEnvironmentRepositoryTests { this.repository.setSearchLocations("classpath:/test/{label}"); Environment environment = this.repository.findOne("foo", "development", "dev"); assertThat(environment.getPropertySources().size()).isEqualTo(1); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("dev_bar"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("dev_bar"); } @Test @@ -184,8 +169,7 @@ public class NativeEnvironmentRepositoryTests { this.repository.setSearchLocations("classpath:/test/dev/"); Environment environment = this.repository.findOne("foo", "development", "ignore"); assertThat(environment.getPropertySources().size()).isEqualTo(2); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isNotEqualTo("dev_bar"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isNotEqualTo("dev_bar"); } @Test @@ -193,8 +177,7 @@ public class NativeEnvironmentRepositoryTests { this.repository.setSearchLocations("classpath:/test/reactive/"); Environment environment = this.repository.findOne("foo", "master", "default"); assertThat(environment.getPropertySources().size()).isEqualTo(1); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("reactive"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("reactive"); } @Test @@ -203,14 +186,12 @@ public class NativeEnvironmentRepositoryTests { this.repository.setAddLabelLocations(false); Environment environment = this.repository.findOne("foo", "development", "ignore"); assertThat(environment.getPropertySources().size()).isEqualTo(1); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("dev_bar"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("dev_bar"); } @Test public void locationNoDuplicates() { - this.repository.setSearchLocations("classpath:/test/{profile}", - "classpath:/test/dev"); + this.repository.setSearchLocations("classpath:/test/{profile}", "classpath:/test/dev"); Locations locations = this.repository.getLocations("foo", "dev", null); assertThat(locations.getLocations().length).isEqualTo(1); } @@ -218,8 +199,8 @@ public class NativeEnvironmentRepositoryTests { @Test public void testDefaultLabel() { this.repository.setDefaultLabel("test"); - assertThat(this.repository.findOne("foo", "default", null).getPropertySources() - .get(0).getSource().get("foo")).isEqualTo("test_bar"); + assertThat(this.repository.findOne("foo", "default", null).getPropertySources().get(0).getSource().get("foo")) + .isEqualTo("test_bar"); } @Test @@ -229,9 +210,8 @@ public class NativeEnvironmentRepositoryTests { assertThatExceptionOfType(FailedToConstructEnvironmentException.class) .isThrownBy(() -> repo.findOne("foo", "master", "default")).withMessage( "Could not construct context for config=foo profile=master label=default includeOrigin=false; nested exception is while constructing a mapping\n" - + " in 'reader', line 1, column 1:\n" + " key: value\n" - + " ^\n" + "found duplicate key key\n" - + " in 'reader', line 2, column 1:\n" + " key: value\n" + + " in 'reader', line 1, column 1:\n" + " key: value\n" + " ^\n" + + "found duplicate key key\n" + " in 'reader', line 2, column 1:\n" + " key: value\n" + " ^\n"); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/PassthruEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/PassthruEnvironmentRepositoryTests.java index 813f3f51..5724280d 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/PassthruEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/PassthruEnvironmentRepositoryTests.java @@ -35,13 +35,10 @@ public class PassthruEnvironmentRepositoryTests { public void originTrackedPropertySourceWithoutOriginWorks() { MockEnvironment mockEnvironment = new MockEnvironment(); mockEnvironment.setProperty("normalKey", "normalValue"); - mockEnvironment.getPropertySources() - .addFirst(new OriginTrackedMapPropertySource("myorigintrackedsource", - Collections.singletonMap("keyNoOrigin", "valueNoOrigin"))); - PassthruEnvironmentRepository repository = new PassthruEnvironmentRepository( - mockEnvironment); - Environment environment = repository.findOne("testapp", "default", "master", - true); + mockEnvironment.getPropertySources().addFirst(new OriginTrackedMapPropertySource("myorigintrackedsource", + Collections.singletonMap("keyNoOrigin", "valueNoOrigin"))); + PassthruEnvironmentRepository repository = new PassthruEnvironmentRepository(mockEnvironment); + Environment environment = repository.findOne("testapp", "default", "master", true); assertThat(environment).isNotNull(); List propertySources = environment.getPropertySources(); assertThat(propertySources).hasSize(2); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepositoryIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepositoryIntegrationTests.java index 67e08156..ce3e1c09 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepositoryIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/RedisEnvironmentRepositoryIntegrationTests.java @@ -61,12 +61,11 @@ public class RedisEnvironmentRepositoryIntegrationTests { bound.put("name", "foo"); bound.put("tag", "myapp"); - Environment env = new RedisEnvironmentRepository(redis, - new RedisEnvironmentProperties()).findOne("foo", "bar", ""); + Environment env = new RedisEnvironmentRepository(redis, new RedisEnvironmentProperties()).findOne("foo", "bar", + ""); assertThat(env.getName()).isEqualTo("foo"); assertThat(env.getPropertySources()).isNotEmpty(); - assertThat(env.getPropertySources().get(0).getSource().get("tag")) - .isEqualTo("myapp"); + assertThat(env.getPropertySources().get(0).getSource().get("tag")).isEqualTo("myapp"); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryIntegrationTests.java index 67999b95..c13a968a 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryIntegrationTests.java @@ -75,37 +75,28 @@ public class SVNKitEnvironmentRepositoryIntegrationTests { @Test public void vanilla() throws Exception { - String uri = ConfigServerTestUtils.prepareLocalSvnRepo( - "src/test/resources/svn-config-repo", "target/config"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE).profiles("subversion") - .run("--spring.cloud.config.server.svn.uri=" + uri); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + String uri = ConfigServerTestUtils.prepareLocalSvnRepo("src/test/resources/svn-config-repo", "target/config"); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .profiles("subversion").run("--spring.cloud.config.server.svn.uri=" + uri); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("bar", "staging", "trunk"); assertThat(environment.getPropertySources().size()).isEqualTo(2); } @Test public void update() throws Exception { - String uri = ConfigServerTestUtils.prepareLocalSvnRepo( - "src/test/resources/svn-config-repo", "target/config"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE).profiles("subversion") - .run("--spring.cloud.config.server.svn.uri=" + uri); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + String uri = ConfigServerTestUtils.prepareLocalSvnRepo("src/test/resources/svn-config-repo", "target/config"); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .profiles("subversion").run("--spring.cloud.config.server.svn.uri=" + uri); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("bar", "staging", "trunk"); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("bar"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("bar"); updateRepoForUpdate(uri); environment = repository.findOne("bar", "staging", "trunk"); - assertThat(environment.getPropertySources().get(0).getSource().get("foo")) - .isEqualTo("foo"); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("foo"); } - private void updateRepoForUpdate(String uri) - throws SVNException, FileNotFoundException, IOException { + private void updateRepoForUpdate(String uri) throws SVNException, FileNotFoundException, IOException { SvnOperationFactory svnFactory = new SvnOperationFactory(); final SvnCheckout checkout = svnFactory.createCheckout(); checkout.setSource(SvnTarget.fromURL(SVNURL.parseURIEncoded(uri))); @@ -114,8 +105,7 @@ public class SVNKitEnvironmentRepositoryIntegrationTests { // update bar.properties File barProps = new File(this.workingDir, "trunk/bar.properties"); - StreamUtils.copy("foo: foo", Charset.defaultCharset(), - new FileOutputStream(barProps)); + StreamUtils.copy("foo: foo", Charset.defaultCharset(), new FileOutputStream(barProps)); // commit to repo SvnCommit svnCommit = svnFactory.createCommit(); svnCommit.setCommitMessage("update bar.properties"); @@ -125,48 +115,37 @@ public class SVNKitEnvironmentRepositoryIntegrationTests { @Test public void defaultLabel() throws Exception { - String uri = ConfigServerTestUtils.prepareLocalSvnRepo( - "src/test/resources/svn-config-repo", "target/config"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE).profiles("subversion") - .run("--spring.cloud.config.server.svn.uri=" + uri); - SvnKitEnvironmentRepository repository = this.context - .getBean(SvnKitEnvironmentRepository.class); + String uri = ConfigServerTestUtils.prepareLocalSvnRepo("src/test/resources/svn-config-repo", "target/config"); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .profiles("subversion").run("--spring.cloud.config.server.svn.uri=" + uri); + SvnKitEnvironmentRepository repository = this.context.getBean(SvnKitEnvironmentRepository.class); assertThat(repository.getDefaultLabel()).isEqualTo("trunk"); } @Test(expected = NoSuchLabelException.class) public void invalidLabel() throws Exception { - String uri = ConfigServerTestUtils.prepareLocalSvnRepo( - "src/test/resources/svn-config-repo", "target/config"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE).profiles("subversion") - .run("--spring.cloud.config.server.svn.uri=" + uri); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + String uri = ConfigServerTestUtils.prepareLocalSvnRepo("src/test/resources/svn-config-repo", "target/config"); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .profiles("subversion").run("--spring.cloud.config.server.svn.uri=" + uri); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("bar", "staging", "unknownlabel"); assertThat(environment.getPropertySources().size()).isEqualTo(0); } @Test public void branchLabel() throws Exception { - String uri = ConfigServerTestUtils.prepareLocalSvnRepo( - "src/test/resources/svn-config-repo", "target/config"); - this.context = new SpringApplicationBuilder(TestConfiguration.class) - .web(WebApplicationType.NONE).profiles("subversion") - .run("--spring.cloud.config.server.svn.uri=" + uri); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + String uri = ConfigServerTestUtils.prepareLocalSvnRepo("src/test/resources/svn-config-repo", "target/config"); + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(WebApplicationType.NONE) + .profiles("subversion").run("--spring.cloud.config.server.svn.uri=" + uri); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); Environment environment = repository.findOne("bar", "staging", "demobranch"); - assertThat(environment.getPropertySources().get(0).getName() - .contains("bar.properties")).isTrue(); + assertThat(environment.getPropertySources().get(0).getName().contains("bar.properties")).isTrue(); assertThat(environment.getPropertySources().size()).isEqualTo(1); } @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties(ConfigServerProperties.class) - @Import({ PropertyPlaceholderAutoConfiguration.class, - EnvironmentRepositoryConfiguration.class }) + @Import({ PropertyPlaceholderAutoConfiguration.class, EnvironmentRepositoryConfiguration.class }) protected static class TestConfiguration { } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryTests.java index e8afa989..19bdf6e6 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryTests.java @@ -43,15 +43,14 @@ public class SVNKitEnvironmentRepositoryTests { private StandardEnvironment environment = new StandardEnvironment(); - private SvnKitEnvironmentRepository repository = new SvnKitEnvironmentRepository( - this.environment, new SvnKitEnvironmentProperties()); + private SvnKitEnvironmentRepository repository = new SvnKitEnvironmentRepository(this.environment, + new SvnKitEnvironmentProperties()); private File basedir = new File("target/config"); @Before public void init() throws Exception { - String uri = ConfigServerTestUtils.prepareLocalSvnRepo( - "src/test/resources/" + REPOSITORY_NAME, + String uri = ConfigServerTestUtils.prepareLocalSvnRepo("src/test/resources/" + REPOSITORY_NAME, "target/repos/" + REPOSITORY_NAME); this.repository.setUri(uri); if (this.basedir.exists()) { @@ -63,10 +62,8 @@ public class SVNKitEnvironmentRepositoryTests { public void vanilla() { Environment environment = this.findOne(); assertThat(environment.getPropertySources().size()).isEqualTo(2); - assertThat(environment.getPropertySources().get(0).getName() - .contains("bar.properties")).isTrue(); - assertThat(environment.getPropertySources().get(1).getName() - .contains("application.yml")).isTrue(); + assertThat(environment.getPropertySources().get(0).getName().contains("bar.properties")).isTrue(); + assertThat(environment.getPropertySources().get(1).getName().contains("application.yml")).isTrue(); } @Test @@ -74,10 +71,8 @@ public class SVNKitEnvironmentRepositoryTests { this.repository.setBasedir(this.basedir); Environment environment = this.findOne(); assertThat(environment.getPropertySources().size()).isEqualTo(2); - assertThat(environment.getPropertySources().get(0).getName() - .contains("bar.properties")).isTrue(); - assertThat(environment.getPropertySources().get(1).getName() - .contains("application.yml")).isTrue(); + assertThat(environment.getPropertySources().get(0).getName().contains("bar.properties")).isTrue(); + assertThat(environment.getPropertySources().get(1).getName().contains("application.yml")).isTrue(); } @Test @@ -91,28 +86,22 @@ public class SVNKitEnvironmentRepositoryTests { Environment environment = this.findOne(); assertThat(environment.getPropertySources().size()).isEqualTo(2); - assertThat(environment.getPropertySources().get(0).getName() - .contains("bar.properties")).isTrue(); - assertThat(environment.getPropertySources().get(1).getName() - .contains("application.yml")).isTrue(); + assertThat(environment.getPropertySources().get(0).getName().contains("bar.properties")).isTrue(); + assertThat(environment.getPropertySources().get(1).getName().contains("application.yml")).isTrue(); } @Test public void branch() { - Environment environment = this.repository.findOne("bar", "staging", - "branches/demobranch"); + Environment environment = this.repository.findOne("bar", "staging", "branches/demobranch"); assertThat(environment.getPropertySources().size()).isEqualTo(1); - assertThat(environment.getPropertySources().get(0).getName() - .contains("bar.properties")).isTrue(); + assertThat(environment.getPropertySources().get(0).getName().contains("bar.properties")).isTrue(); } @Test public void branch_no_folder() { - Environment environment = this.repository.findOne("bar", "staging", "demobranch", - false); + Environment environment = this.repository.findOne("bar", "staging", "demobranch", false); assertThat(environment.getPropertySources().size()).isEqualTo(1); - assertThat(environment.getPropertySources().get(0).getName() - .contains("bar.properties")).isTrue(); + assertThat(environment.getPropertySources().get(0).getName().contains("bar.properties")).isTrue(); } @Test @@ -120,16 +109,13 @@ public class SVNKitEnvironmentRepositoryTests { this.findOne(); Environment environment = this.findOne(); assertThat(environment.getPropertySources().size()).isEqualTo(2); - assertThat(environment.getPropertySources().get(0).getName() - .contains("bar.properties")).isTrue(); - assertThat(environment.getPropertySources().get(1).getName() - .contains("application.yml")).isTrue(); + assertThat(environment.getPropertySources().get(0).getName().contains("bar.properties")).isTrue(); + assertThat(environment.getPropertySources().get(1).getName().contains("application.yml")).isTrue(); } @Test(expected = NoSuchLabelException.class) public void invalidLabel() { - Environment environment = this.repository.findOne("bar", "staging", - "unknownlabel"); + Environment environment = this.repository.findOne("bar", "staging", "unknownlabel"); assertThat(environment.getPropertySources().size()).isEqualTo(0); } @@ -152,16 +138,13 @@ public class SVNKitEnvironmentRepositoryTests { public static void main(String[] args) throws Exception { File basedir = new File("target/config"); - String uri = ConfigServerTestUtils.prepareLocalSvnRepo( - "src/test/resources/" + REPOSITORY_NAME, + String uri = ConfigServerTestUtils.prepareLocalSvnRepo("src/test/resources/" + REPOSITORY_NAME, "target/repos/" + REPOSITORY_NAME); if (basedir.exists()) { FileUtils.delete(basedir, FileUtils.RECURSIVE | FileUtils.RETRY); } new SpringApplicationBuilder(TestApplication.class).profiles("subversion") - .properties("server.port=8888", - "spring.cloud.config.server.svn.uri:" + uri) - .run(args); + .properties("server.port=8888", "spring.cloud.config.server.svn.uri:" + uri).run(args); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryIntegrationTests.java index e2b16a62..9e3d795f 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryIntegrationTests.java @@ -44,11 +44,9 @@ import static org.mockito.Mockito.when; * @author Dylan Roberts */ @RunWith(SpringRunner.class) -@SpringBootTest( - classes = VaultEnvironmentRepositoryIntegrationTests.TestApplication.class, +@SpringBootTest(classes = VaultEnvironmentRepositoryIntegrationTests.TestApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - properties = { "server.ssl.key-store=classpath:ssl-test.jks", - "server.ssl.key-store-password=password", + properties = { "server.ssl.key-store=classpath:ssl-test.jks", "server.ssl.key-store-password=password", "server.ssl.key-password=password", "server.key-alias=ssl-test" }) public class VaultEnvironmentRepositoryIntegrationTests { @@ -62,8 +60,7 @@ public class VaultEnvironmentRepositoryIntegrationTests { public void withSslValidation() throws Exception { ObjectProvider request = withRequest(); VaultEnvironmentRepositoryFactory vaultEnvironmentRepositoryFactory = new VaultEnvironmentRepositoryFactory( - request, new EnvironmentWatch.Default(), - Optional.of(new HttpClientVaultRestTemplateFactory()), + request, new EnvironmentWatch.Default(), Optional.of(new HttpClientVaultRestTemplateFactory()), withTokenProvider(request)); VaultEnvironmentRepository vaultEnvironmentRepository = vaultEnvironmentRepositoryFactory .build(withEnvironmentProperties(false)); @@ -76,20 +73,17 @@ public class VaultEnvironmentRepositoryIntegrationTests { public void skipSslValidation() throws Exception { ObjectProvider request = withRequest(); VaultEnvironmentRepositoryFactory vaultEnvironmentRepositoryFactory = new VaultEnvironmentRepositoryFactory( - request, new EnvironmentWatch.Default(), - Optional.of(new HttpClientVaultRestTemplateFactory()), + request, new EnvironmentWatch.Default(), Optional.of(new HttpClientVaultRestTemplateFactory()), withTokenProvider(request)); VaultEnvironmentRepository vaultEnvironmentRepository = vaultEnvironmentRepositoryFactory .build(withEnvironmentProperties(true)); - Environment actual = vaultEnvironmentRepository.findOne("application", "profile", - "label"); + Environment actual = vaultEnvironmentRepository.findOne("application", "profile", "label"); assertThat(actual).isNotNull(); } - private VaultEnvironmentProperties withEnvironmentProperties( - boolean skipSslValidation) { + private VaultEnvironmentProperties withEnvironmentProperties(boolean skipSslValidation) { VaultEnvironmentProperties environmentProperties = new VaultEnvironmentProperties(); environmentProperties.setPort(Integer.decode(this.localServerPort)); environmentProperties.setScheme("https"); @@ -105,8 +99,7 @@ public class VaultEnvironmentRepositoryIntegrationTests { return requestProvider; } - private ConfigTokenProvider withTokenProvider( - ObjectProvider request) { + private ConfigTokenProvider withTokenProvider(ObjectProvider request) { return new HttpRequestConfigTokenProvider(request); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryTests.java index 749fdc3e..58b1a707 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultEnvironmentRepositoryTests.java @@ -71,39 +71,35 @@ public class VaultEnvironmentRepositoryTests { VaultResponse myAppVaultResp = mock(VaultResponse.class); when(myAppVaultResp.getData()).thenReturn("{\"foo\":\"bar\"}"); when(myAppResp.getBody()).thenReturn(myAppVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("myapp"))).thenReturn(myAppResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("myapp"))).thenReturn(myAppResp); ResponseEntity appResp = mock(ResponseEntity.class); when(appResp.getStatusCode()).thenReturn(HttpStatus.OK); VaultResponse appVaultResp = mock(VaultResponse.class); when(appVaultResp.getData()).thenReturn("{\"def-foo\":\"def-bar\"}"); when(appResp.getBody()).thenReturn(appVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("application"))).thenReturn(appResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("application"))).thenReturn(appResp); - VaultEnvironmentRepository repo = new VaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), rest, - new VaultEnvironmentProperties(), mockTokenProvider()); + VaultEnvironmentRepository repo = new VaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), rest, new VaultEnvironmentProperties(), mockTokenProvider()); Environment e = repo.findOne("myapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp"); + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp"); assertThat(e.getPropertySources().size()).as( "Properties for specified application and default application with key 'application' should be returned") .isEqualTo(2); Map firstResult = new HashMap<>(); firstResult.put("foo", "bar"); - assertThat(e.getPropertySources().get(0).getSource()).as( - "Properties for specified application should be returned in priority position") + assertThat(e.getPropertySources().get(0).getSource()) + .as("Properties for specified application should be returned in priority position") .isEqualTo(firstResult); Map secondResult = new HashMap<>(); secondResult.put("def-foo", "def-bar"); - assertThat(e.getPropertySources().get(1).getSource()).as( - "Properties for default application with key 'application' should be returned in second position") + assertThat(e.getPropertySources().get(1).getSource()) + .as("Properties for default application with key 'application' should be returned in second position") .isEqualTo(secondResult); } @@ -117,42 +113,38 @@ public class VaultEnvironmentRepositoryTests { VaultResponse myAppVaultResp = mock(VaultResponse.class); when(myAppVaultResp.getData()).thenReturn("{\"foo\":\"bar\"}"); when(myAppResp.getBody()).thenReturn(myAppVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/foo/bar/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("myapp"))).thenReturn(myAppResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/foo/bar/secret/{key}"), eq(HttpMethod.GET), + any(HttpEntity.class), eq(VaultResponse.class), eq("myapp"))).thenReturn(myAppResp); ResponseEntity appResp = mock(ResponseEntity.class); when(appResp.getStatusCode()).thenReturn(HttpStatus.OK); VaultResponse appVaultResp = mock(VaultResponse.class); when(appVaultResp.getData()).thenReturn("{\"def-foo\":\"def-bar\"}"); when(appResp.getBody()).thenReturn(appVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/foo/bar/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("application"))).thenReturn(appResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/foo/bar/secret/{key}"), eq(HttpMethod.GET), + any(HttpEntity.class), eq(VaultResponse.class), eq("application"))).thenReturn(appResp); VaultEnvironmentProperties properties = new VaultEnvironmentProperties(); properties.setBackend("foo/bar/secret"); - VaultEnvironmentRepository repo = new VaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), rest, properties, - mockTokenProvider()); + VaultEnvironmentRepository repo = new VaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), rest, properties, mockTokenProvider()); Environment e = repo.findOne("myapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp"); + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp"); assertThat(e.getPropertySources().size()).as( "Properties for specified application and default application with key 'application' should be returned") .isEqualTo(2); Map firstResult = new HashMap<>(); firstResult.put("foo", "bar"); - assertThat(e.getPropertySources().get(0).getSource()).as( - "Properties for specified application should be returned in priority position") + assertThat(e.getPropertySources().get(0).getSource()) + .as("Properties for specified application should be returned in priority position") .isEqualTo(firstResult); Map secondResult = new HashMap<>(); secondResult.put("def-foo", "def-bar"); - assertThat(e.getPropertySources().get(1).getSource()).as( - "Properties for default application with key 'application' should be returned in second position") + assertThat(e.getPropertySources().get(1).getSource()) + .as("Properties for default application with key 'application' should be returned in second position") .isEqualTo(secondResult); } @@ -166,41 +158,37 @@ public class VaultEnvironmentRepositoryTests { VaultResponse myAppVaultResp = mock(VaultResponse.class); when(myAppVaultResp.getData()).thenReturn("{\"foo\":\"bar\"}"); when(myAppResp.getBody()).thenReturn(myAppVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("myapp"))).thenReturn(myAppResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("myapp"))).thenReturn(myAppResp); ResponseEntity myDefaultKeyResp = mock(ResponseEntity.class); when(myDefaultKeyResp.getStatusCode()).thenReturn(HttpStatus.OK); VaultResponse myDefaultKeyVaultResp = mock(VaultResponse.class); when(myDefaultKeyVaultResp.getData()).thenReturn("{\"def-foo\":\"def-bar\"}"); when(myDefaultKeyResp.getBody()).thenReturn(myDefaultKeyVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("mydefaultkey"))).thenReturn(myDefaultKeyResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("mydefaultkey"))).thenReturn(myDefaultKeyResp); - VaultEnvironmentRepository repo = new VaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), rest, - new VaultEnvironmentProperties(), mockTokenProvider()); + VaultEnvironmentRepository repo = new VaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), rest, new VaultEnvironmentProperties(), mockTokenProvider()); repo.setDefaultKey("mydefaultkey"); Environment e = repo.findOne("myapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp"); + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp"); assertThat(e.getPropertySources().size()).as( "Properties for specified application and default application with key 'mydefaultkey' should be returned") .isEqualTo(2); Map firstResult = new HashMap<>(); firstResult.put("foo", "bar"); - assertThat(e.getPropertySources().get(0).getSource()).as( - "Properties for specified application should be returned in priority position") + assertThat(e.getPropertySources().get(0).getSource()) + .as("Properties for specified application should be returned in priority position") .isEqualTo(firstResult); Map secondResult = new HashMap<>(); secondResult.put("def-foo", "def-bar"); - assertThat(e.getPropertySources().get(1).getSource()).as( - "Properties for default application with key 'mydefaultkey' should be returned in second position") + assertThat(e.getPropertySources().get(1).getSource()) + .as("Properties for default application with key 'mydefaultkey' should be returned in second position") .isEqualTo(secondResult); } @@ -214,56 +202,51 @@ public class VaultEnvironmentRepositoryTests { VaultResponse myAppVaultResp = mock(VaultResponse.class); when(myAppVaultResp.getData()).thenReturn("{\"myapp-foo\":\"myapp-bar\"}"); when(myAppResp.getBody()).thenReturn(myAppVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("myapp"))).thenReturn(myAppResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("myapp"))).thenReturn(myAppResp); ResponseEntity yourAppResp = mock(ResponseEntity.class); when(yourAppResp.getStatusCode()).thenReturn(HttpStatus.OK); VaultResponse yourAppVaultResp = mock(VaultResponse.class); when(yourAppVaultResp.getData()).thenReturn("{\"yourapp-foo\":\"yourapp-bar\"}"); when(yourAppResp.getBody()).thenReturn(yourAppVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("yourapp"))).thenReturn(yourAppResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("yourapp"))).thenReturn(yourAppResp); ResponseEntity myDefaultKeyResp = mock(ResponseEntity.class); when(myDefaultKeyResp.getStatusCode()).thenReturn(HttpStatus.OK); VaultResponse myDefaultKeyVaultResp = mock(VaultResponse.class); when(myDefaultKeyVaultResp.getData()).thenReturn("{\"def-foo\":\"def-bar\"}"); when(myDefaultKeyResp.getBody()).thenReturn(myDefaultKeyVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("mydefaultkey"))).thenReturn(myDefaultKeyResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("mydefaultkey"))).thenReturn(myDefaultKeyResp); - VaultEnvironmentRepository repo = new VaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), rest, - new VaultEnvironmentProperties(), mockTokenProvider()); + VaultEnvironmentRepository repo = new VaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), rest, new VaultEnvironmentProperties(), mockTokenProvider()); repo.setDefaultKey("mydefaultkey"); Environment e = repo.findOne("myapp,yourapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp,yourapp"); + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp,yourapp"); assertThat(e.getPropertySources().size()).as( "Properties for specified applications and default application with key 'mydefaultkey' should be returned") .isEqualTo(3); Map firstResult = new HashMap<>(); firstResult.put("yourapp-foo", "yourapp-bar"); - assertThat(e.getPropertySources().get(0).getSource()).as( - "Properties for first specified application should be returned in priority position") + assertThat(e.getPropertySources().get(0).getSource()) + .as("Properties for first specified application should be returned in priority position") .isEqualTo(firstResult); Map secondResult = new HashMap<>(); secondResult.put("myapp-foo", "myapp-bar"); - assertThat(e.getPropertySources().get(1).getSource()).as( - "Properties for second specified application should be returned in priority position") + assertThat(e.getPropertySources().get(1).getSource()) + .as("Properties for second specified application should be returned in priority position") .isEqualTo(secondResult); Map thirdResult = new HashMap<>(); thirdResult.put("def-foo", "def-bar"); - assertThat(e.getPropertySources().get(2).getSource()).as( - "Properties for default application with key 'mydefaultkey' should be returned in second position") + assertThat(e.getPropertySources().get(2).getSource()) + .as("Properties for default application with key 'mydefaultkey' should be returned in second position") .isEqualTo(thirdResult); } @@ -277,36 +260,30 @@ public class VaultEnvironmentRepositoryTests { VaultResponse myAppVaultResp = mock(VaultResponse.class); when(myAppVaultResp.getData()).thenReturn("{\"foo\":\"bar\"}"); when(myAppResp.getBody()).thenReturn(myAppVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("myapp"))).thenReturn(myAppResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("myapp"))).thenReturn(myAppResp); ResponseEntity appResp = mock(ResponseEntity.class); when(appResp.getStatusCode()).thenReturn(HttpStatus.OK); VaultResponse appVaultResp = mock(VaultResponse.class); when(appVaultResp.getData()).thenReturn("{\"def-foo\":\"def-bar\"}"); when(appResp.getBody()).thenReturn(appVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("application"))).thenReturn(appResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("application"))).thenReturn(appResp); - VaultEnvironmentRepository repo = new VaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), rest, - new VaultEnvironmentProperties(), mockTokenProvider()); + VaultEnvironmentRepository repo = new VaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), rest, new VaultEnvironmentProperties(), mockTokenProvider()); repo.setDefaultKey("myapp"); Environment e = repo.findOne("myapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp"); - assertThat(e.getPropertySources().size()) - .as("Only properties for specified application should be returned") + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp"); + assertThat(e.getPropertySources().size()).as("Only properties for specified application should be returned") .isEqualTo(1); Map result = new HashMap<>(); result.put("foo", "bar"); assertThat(e.getPropertySources().get(0).getSource()) - .as("Properties should be returned for specified application") - .isEqualTo(result); + .as("Properties should be returned for specified application").isEqualTo(result); } @Test(expected = IllegalArgumentException.class) @@ -314,9 +291,8 @@ public class VaultEnvironmentRepositoryTests { ConfigTokenProvider tokenProvider = mock(ConfigTokenProvider.class); when(tokenProvider.getToken()).thenReturn(null); - VaultEnvironmentRepository repo = new VaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), - mock(RestTemplate.class), new VaultEnvironmentProperties(), + VaultEnvironmentRepository repo = new VaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), mock(RestTemplate.class), new VaultEnvironmentProperties(), tokenProvider); repo.findOne("myapp", null, null); } @@ -328,38 +304,32 @@ public class VaultEnvironmentRepositoryTests { ResponseEntity myAppResp = mock(ResponseEntity.class); when(myAppResp.getStatusCode()).thenReturn(HttpStatus.OK); - VaultResponse myAppVaultResp = getVaultResponse( - "{\"data\": {\"data\": {\"foo\": \"bar\"}}}"); + VaultResponse myAppVaultResp = getVaultResponse("{\"data\": {\"data\": {\"foo\": \"bar\"}}}"); when(myAppResp.getBody()).thenReturn(myAppVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/data/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("myapp"))).thenReturn(myAppResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/data/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("myapp"))).thenReturn(myAppResp); ResponseEntity appResp = mock(ResponseEntity.class); when(appResp.getStatusCode()).thenReturn(HttpStatus.OK); - VaultResponse appVaultResp = getVaultResponse( - "{\"data\": {\"data\": {\"def-foo\":\"def-bar\"}}}"); + VaultResponse appVaultResp = getVaultResponse("{\"data\": {\"data\": {\"def-foo\":\"def-bar\"}}}"); when(appResp.getBody()).thenReturn(appVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/data/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("application"))).thenReturn(appResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/data/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("application"))).thenReturn(appResp); final VaultEnvironmentProperties vaultEnvironmentProperties = new VaultEnvironmentProperties(); vaultEnvironmentProperties.setKvVersion(2); - VaultEnvironmentRepository repo = new VaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), rest, - vaultEnvironmentProperties, mockTokenProvider()); + VaultEnvironmentRepository repo = new VaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), rest, vaultEnvironmentProperties, mockTokenProvider()); Environment e = repo.findOne("myapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp"); + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp"); assertThat(e.getPropertySources().size()).as( "Properties for specified application and default application with key 'application' should be returned") .isEqualTo(2); Map firstResult = new HashMap<>(); firstResult.put("foo", "bar"); - assertThat(e.getPropertySources().get(0).getSource()).as( - "Properties for specified application should be returned in priority position") + assertThat(e.getPropertySources().get(0).getSource()) + .as("Properties for specified application should be returned in priority position") .isEqualTo(firstResult); } @@ -373,32 +343,28 @@ public class VaultEnvironmentRepositoryTests { VaultResponse myAppVaultResp = mock(VaultResponse.class); when(myAppVaultResp.getData()).thenReturn("{\"foo\":\"bar\"}"); when(myAppResp.getBody()).thenReturn(myAppVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("myapp"))).thenReturn(myAppResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("myapp"))).thenReturn(myAppResp); ResponseEntity appResp = mock(ResponseEntity.class); when(appResp.getStatusCode()).thenReturn(HttpStatus.OK); VaultResponse appVaultResp = mock(VaultResponse.class); when(appVaultResp.getData()).thenReturn("{\"def-foo\":\"def-bar\"}"); when(appResp.getBody()).thenReturn(appVaultResp); - when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), - eq(HttpMethod.GET), any(HttpEntity.class), eq(VaultResponse.class), - eq("application"))).thenReturn(appResp); + when(rest.exchange(eq("http://127.0.0.1:8200/v1/secret/{key}"), eq(HttpMethod.GET), any(HttpEntity.class), + eq(VaultResponse.class), eq("application"))).thenReturn(appResp); VaultEnvironmentProperties properties = new VaultEnvironmentProperties(); properties.setNamespace("mynamespace"); - VaultEnvironmentRepository repo = new VaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), rest, properties, - mockTokenProvider()); + VaultEnvironmentRepository repo = new VaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), rest, properties, mockTokenProvider()); TestAccessStrategy accessStrategy = new TestAccessStrategy(rest, properties); repo.setAccessStrategy(accessStrategy); repo.findOne("myapp", null, null); - assertThat(accessStrategy.headers).containsEntry( - VaultEnvironmentRepository.VAULT_NAMESPACE, + assertThat(accessStrategy.headers).containsEntry(VaultEnvironmentRepository.VAULT_NAMESPACE, Collections.singletonList("mynamespace")); } @@ -431,17 +397,15 @@ public class VaultEnvironmentRepositoryTests { private HttpHeaders headers; - TestAccessStrategy(RestTemplate restTemplate, - VaultEnvironmentProperties properties) { - String baseUrl = String.format("%s://%s:%s", properties.getScheme(), - properties.getHost(), properties.getPort()); - this.accessStrategy = VaultKvAccessStrategyFactory.forVersion(restTemplate, - baseUrl, properties.getKvVersion()); + TestAccessStrategy(RestTemplate restTemplate, VaultEnvironmentProperties properties) { + String baseUrl = String.format("%s://%s:%s", properties.getScheme(), properties.getHost(), + properties.getPort()); + this.accessStrategy = VaultKvAccessStrategyFactory.forVersion(restTemplate, baseUrl, + properties.getKvVersion()); } @Override - public String getData(HttpHeaders headers, String backend, String key) - throws RestClientException { + public String getData(HttpHeaders headers, String backend, String key) throws RestClientException { this.headers = headers; return this.accessStrategy.getData(headers, backend, key); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyFactoryTest.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyFactoryTest.java index c9aa16c7..681fbb69 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyFactoryTest.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyFactoryTest.java @@ -30,15 +30,13 @@ public class VaultKvAccessStrategyFactoryTest { @Test public void testGetV1Strategy() { - VaultKvAccessStrategy vaultKvAccessStrategy = VaultKvAccessStrategyFactory - .forVersion(null, "foo", 1); + VaultKvAccessStrategy vaultKvAccessStrategy = VaultKvAccessStrategyFactory.forVersion(null, "foo", 1); assertThat(vaultKvAccessStrategy instanceof V1VaultKvAccessStrategy).isTrue(); } @Test public void testGetV2Strategy() { - VaultKvAccessStrategy vaultKvAccessStrategy = VaultKvAccessStrategyFactory - .forVersion(null, "foo", 2); + VaultKvAccessStrategy vaultKvAccessStrategy = VaultKvAccessStrategyFactory.forVersion(null, "foo", 2); assertThat(vaultKvAccessStrategy instanceof V2VaultKvAccessStrategy).isTrue(); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyTest.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyTest.java index 9e70ffca..677c95c8 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyTest.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/VaultKvAccessStrategyTest.java @@ -36,8 +36,7 @@ public class VaultKvAccessStrategyTest { private ObjectMapper objectMapper = new ObjectMapper(); private static VaultKvAccessStrategySupport getStrategy(int version) { - return (VaultKvAccessStrategySupport) VaultKvAccessStrategyFactory - .forVersion(null, "foo", version); + return (VaultKvAccessStrategySupport) VaultKvAccessStrategyFactory.forVersion(null, "foo", version); } @Test diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfigurationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfigurationTests.java index 7d3f6b61..70a13145 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfigurationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfigurationTests.java @@ -95,22 +95,16 @@ class SpringVaultClientConfigurationTests { @BeforeEach public void setUp() { authProviders = Arrays.asList(new AppRoleClientAuthenticationProvider(), - new AwsEc2ClientAuthenticationProvider(), - new AwsIamClientAuthenticationProvider(), - new AzureMsiClientAuthenticationProvider(), - new CertificateClientAuthenticationProvider(), - new CubbyholeClientAuthenticationProvider(), - new GcpGceClientAuthenticationProvider(), - new GcpIamClientAuthenticationProvider(), - new KubernetesClientAuthenticationProvider(), - new PcfClientAuthenticationProvider(), - new TokenClientAuthenticationProvider()); + new AwsEc2ClientAuthenticationProvider(), new AwsIamClientAuthenticationProvider(), + new AzureMsiClientAuthenticationProvider(), new CertificateClientAuthenticationProvider(), + new CubbyholeClientAuthenticationProvider(), new GcpGceClientAuthenticationProvider(), + new GcpIamClientAuthenticationProvider(), new KubernetesClientAuthenticationProvider(), + new PcfClientAuthenticationProvider(), new TokenClientAuthenticationProvider()); } @Test public void defaultAuthentication() { - assertClientAuthenticationOfType(properties, - ConfigTokenProviderAuthentication.class); + assertClientAuthenticationOfType(properties, ConfigTokenProviderAuthentication.class); } @Test @@ -150,23 +144,20 @@ class SpringVaultClientConfigurationTests { assertClientAuthenticationOfType(properties, AzureMsiAuthentication.class); - AzureMsiAuthentication clientAuthentication = (AzureMsiAuthentication) getConfiguration( - properties).clientAuthentication(); + AzureMsiAuthentication clientAuthentication = (AzureMsiAuthentication) getConfiguration(properties) + .clientAuthentication(); AzureMsiAuthenticationOptions options = (AzureMsiAuthenticationOptions) ReflectionTestUtils .getField(clientAuthentication, "options"); - assertThat(options.getIdentityTokenServiceUri()) - .isEqualTo(DEFAULT_IDENTITY_TOKEN_SERVICE_URI); - assertThat(options.getInstanceMetadataServiceUri()) - .isEqualTo(DEFAULT_INSTANCE_METADATA_SERVICE_URI); + assertThat(options.getIdentityTokenServiceUri()).isEqualTo(DEFAULT_IDENTITY_TOKEN_SERVICE_URI); + assertThat(options.getInstanceMetadataServiceUri()).isEqualTo(DEFAULT_INSTANCE_METADATA_SERVICE_URI); } @Test public void clientCertificateAuthentication() { properties.setAuthentication(CERT); - assertClientAuthenticationOfType(properties, - ClientCertificateAuthentication.class); + assertClientAuthenticationOfType(properties, ClientCertificateAuthentication.class); } @Test @@ -188,10 +179,8 @@ class SpringVaultClientConfigurationTests { @Test public void gcpIamAuthentication() { - final String GCE_JSON = "{" + " \"type\": \"service_account\"," - + " \"project_id\": \"project\"," - + " \"private_key_id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"," - + " \"private_key\": \"" + final String GCE_JSON = "{" + " \"type\": \"service_account\"," + " \"project_id\": \"project\"," + + " \"private_key_id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"," + " \"private_key\": \"" + "-----BEGIN PRIVATE KEY-----\\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC5qHafKgP/FAKE\\n" + "xfRl0i47zXKbGQJvGAGpcmiXRgeWkZp+kwNwBguOYNwO1qDcmewKvMPazj7EL0hV\\n" + "XMkPxgshZ9ZSxPwg7/XHHcyGCYBJhDc2hyunQvc2WGUOlQKg/nOlq3Dg8d9c/0yF\\n" @@ -216,9 +205,8 @@ class SpringVaultClientConfigurationTests { + "NnxmVJcO3jOHGAIoVqwaObVvKoFnOZq7gbjSdT82Smes4ADAlasEIAx4nK//+S3p\\n" + "kjJ24/ut/9kyIuyd9qym9Y7BI4hv6AZ79EBEMwsCgYEAgXzq5+NCfJIi6Zduugym\\n" + "iUU3y/3CWc/pLhnw3XZ5r3M5fLXokLhLU6FsNflTpdcf2QoNL58mE0tanPqg09Xh\\n" - + "7fHWR/8rISt2TsMlqFjc5rQxWg8yRpdd5Ti/Ln8v7EV3RGbhFlOqlC9hiyqfyd7V\\n" - + "qZjZg4zUxPO1I8ae8hbGMWs=\\n" + "-----END PRIVATE KEY-----\\n\"," - + " \"client_email\": \"test@example.com\"," + + "7fHWR/8rISt2TsMlqFjc5rQxWg8yRpdd5Ti/Ln8v7EV3RGbhFlOqlC9hiyqfyd7V\\n" + "qZjZg4zUxPO1I8ae8hbGMWs=\\n" + + "-----END PRIVATE KEY-----\\n\"," + " \"client_email\": \"test@example.com\"," + " \"client_id\": \"111111111111111111111\"," + " \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\"," + " \"token_uri\": \"https://accounts.google.com/o/oauth2/token\"," @@ -250,10 +238,8 @@ class SpringVaultClientConfigurationTests { public void pcfAuthentication() { properties.setAuthentication(PCF); properties.getPcf().setRole("my-role"); - properties.getPcf() - .setInstanceKey(new ClassPathResource("configserver-test.yml")); - properties.getPcf() - .setInstanceCertificate(new ClassPathResource("configserver-test.yml")); + properties.getPcf().setInstanceKey(new ClassPathResource("configserver-test.yml")); + properties.getPcf().setInstanceCertificate(new ClassPathResource("configserver-test.yml")); assertClientAuthenticationOfType(properties, PcfAuthentication.class); } @@ -273,10 +259,8 @@ class SpringVaultClientConfigurationTests { SpringVaultClientConfiguration configuration = getConfiguration(properties); SslConfiguration sslConfiguration = configuration.sslConfiguration(); - assertThat(sslConfiguration.getKeyStoreConfiguration()) - .isEqualTo(KeyStoreConfiguration.unconfigured()); - assertThat(sslConfiguration.getTrustStoreConfiguration()) - .isEqualTo(KeyStoreConfiguration.unconfigured()); + assertThat(sslConfiguration.getKeyStoreConfiguration()).isEqualTo(KeyStoreConfiguration.unconfigured()); + assertThat(sslConfiguration.getTrustStoreConfiguration()).isEqualTo(KeyStoreConfiguration.unconfigured()); } @Test @@ -290,16 +274,12 @@ class SpringVaultClientConfigurationTests { SpringVaultClientConfiguration configuration = getConfiguration(properties); SslConfiguration sslConfiguration = configuration.sslConfiguration(); - KeyStoreConfiguration keyStoreConfiguration = sslConfiguration - .getKeyStoreConfiguration(); - KeyStoreConfiguration trustStoreConfiguration = sslConfiguration - .getTrustStoreConfiguration(); + KeyStoreConfiguration keyStoreConfiguration = sslConfiguration.getKeyStoreConfiguration(); + KeyStoreConfiguration trustStoreConfiguration = sslConfiguration.getTrustStoreConfiguration(); assertThat(keyStoreConfiguration.isPresent()).isTrue(); - assertThat(new String(keyStoreConfiguration.getStorePassword())) - .isEqualTo("password"); + assertThat(new String(keyStoreConfiguration.getStorePassword())).isEqualTo("password"); assertThat(trustStoreConfiguration.isPresent()).isTrue(); - assertThat(new String(trustStoreConfiguration.getStorePassword())) - .isEqualTo("password"); + assertThat(new String(trustStoreConfiguration.getStorePassword())).isEqualTo("password"); } @Test @@ -308,8 +288,7 @@ class SpringVaultClientConfigurationTests { SpringVaultClientConfiguration configuration = getConfiguration(properties); HttpRequest request = invokeInterceptors(configuration.restOperations()); - assertThat(request.getHeaders().getFirst(VaultHttpHeaders.VAULT_NAMESPACE)) - .isNull(); + assertThat(request.getHeaders().getFirst(VaultHttpHeaders.VAULT_NAMESPACE)).isNull(); } @Test @@ -319,18 +298,15 @@ class SpringVaultClientConfigurationTests { SpringVaultClientConfiguration configuration = getConfiguration(properties); HttpRequest request = invokeInterceptors(configuration.restOperations()); - assertThat(request.getHeaders().getFirst(VaultHttpHeaders.VAULT_NAMESPACE)) - .isEqualTo("test-namespace"); + assertThat(request.getHeaders().getFirst(VaultHttpHeaders.VAULT_NAMESPACE)).isEqualTo("test-namespace"); } - private HttpRequest invokeInterceptors(RestOperations restOperations) - throws IOException { + private HttpRequest invokeInterceptors(RestOperations restOperations) throws IOException { assertThat(restOperations).isInstanceOf(RestTemplate.class); RestTemplate restTemplate = (RestTemplate) restOperations; MockClientHttpRequest request = new MockClientHttpRequest(); - ClientHttpRequestExecution execution = Mockito - .mock(ClientHttpRequestExecution.class); + ClientHttpRequestExecution execution = Mockito.mock(ClientHttpRequestExecution.class); byte[] body = new byte[] {}; for (ClientHttpRequestInterceptor interceptor : restTemplate.getInterceptors()) { interceptor.intercept(request, body, execution); @@ -340,16 +316,14 @@ class SpringVaultClientConfigurationTests { private void assertClientAuthenticationOfType(VaultEnvironmentProperties properties, Class type) { - ClientAuthentication clientAuthentication = getConfiguration(properties) - .clientAuthentication(); + ClientAuthentication clientAuthentication = getConfiguration(properties).clientAuthentication(); assertThat(clientAuthentication).isInstanceOf(type); } - private SpringVaultClientConfiguration getConfiguration( - VaultEnvironmentProperties properties) { - SpringVaultClientConfiguration configuration = new SpringVaultClientConfiguration( - properties, () -> null, authProviders); + private SpringVaultClientConfiguration getConfiguration(VaultEnvironmentProperties properties) { + SpringVaultClientConfiguration configuration = new SpringVaultClientConfiguration(properties, () -> null, + authProviders); configuration.afterPropertiesSet(); return configuration; } @@ -361,17 +335,11 @@ class SpringVaultClientConfigurationTests { @Test @SuppressWarnings("deprecation") public void springVaultClientConfigurationIsAProxy() { - new WebApplicationContextRunner() - .withPropertyValues("spring.profiles.active=vault") + new WebApplicationContextRunner().withPropertyValues("spring.profiles.active=vault") .withConfiguration(UserConfigurations.of(ConfigServerConfiguration.class)) - .withConfiguration( - AutoConfigurations.of(ConfigServerAutoConfiguration.class)) - .run(context -> { - assertThat(context).getBean(SpringVaultClientConfiguration.class) - .isNotNull() - .matches(svcc -> ClassUtils - .isCglibProxyClassName(svcc.getClass().getName()), - "is a proxy"); + .withConfiguration(AutoConfigurations.of(ConfigServerAutoConfiguration.class)).run(context -> { + assertThat(context).getBean(SpringVaultClientConfiguration.class).isNotNull() + .matches(svcc -> ClassUtils.isCglibProxyClassName(svcc.getClass().getName()), "is a proxy"); }); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryFactoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryFactoryTests.java index be1fb0ad..54cad6ec 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryFactoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryFactoryTests.java @@ -43,13 +43,10 @@ public class SpringVaultEnvironmentRepositoryFactoryTests { VaultEnvironmentProperties properties = new VaultEnvironmentProperties(); SpringVaultEnvironmentRepository environmentRepository = new SpringVaultEnvironmentRepositoryFactory( - mockHttpRequest(), new EnvironmentWatch.Default(), - mockClientConfiguration()).build(properties); + mockHttpRequest(), new EnvironmentWatch.Default(), mockClientConfiguration()).build(properties); - VaultKeyValueOperations keyValueTemplate = environmentRepository - .getKeyValueTemplate(); - assertThat(keyValueTemplate.getApiVersion()) - .isEqualTo(VaultKeyValueOperationsSupport.KeyValueBackend.KV_1); + VaultKeyValueOperations keyValueTemplate = environmentRepository.getKeyValueTemplate(); + assertThat(keyValueTemplate.getApiVersion()).isEqualTo(VaultKeyValueOperationsSupport.KeyValueBackend.KV_1); } @Test @@ -58,22 +55,17 @@ public class SpringVaultEnvironmentRepositoryFactoryTests { properties.setKvVersion(2); SpringVaultEnvironmentRepository environmentRepository = new SpringVaultEnvironmentRepositoryFactory( - mockHttpRequest(), new EnvironmentWatch.Default(), - mockClientConfiguration()).build(properties); + mockHttpRequest(), new EnvironmentWatch.Default(), mockClientConfiguration()).build(properties); - VaultKeyValueOperations keyValueTemplate = environmentRepository - .getKeyValueTemplate(); - assertThat(keyValueTemplate.getApiVersion()) - .isEqualTo(VaultKeyValueOperationsSupport.KeyValueBackend.KV_2); + VaultKeyValueOperations keyValueTemplate = environmentRepository.getKeyValueTemplate(); + assertThat(keyValueTemplate.getApiVersion()).isEqualTo(VaultKeyValueOperationsSupport.KeyValueBackend.KV_2); } private SpringVaultClientConfiguration mockClientConfiguration() { - VaultTemplate vaultTemplate = new VaultTemplate( - VaultEndpoint.create("localhost", 8200), + VaultTemplate vaultTemplate = new VaultTemplate(VaultEndpoint.create("localhost", 8200), new TokenAuthentication("token")); - SpringVaultClientConfiguration clientConfiguration = mock( - SpringVaultClientConfiguration.class); + SpringVaultClientConfiguration clientConfiguration = mock(SpringVaultClientConfiguration.class); when(clientConfiguration.vaultTemplate()).thenReturn(vaultTemplate); return clientConfiguration; diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryTests.java index 43b47228..df0c3627 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultEnvironmentRepositoryTests.java @@ -50,25 +50,22 @@ public class SpringVaultEnvironmentRepositoryTests { public void testFindOneNoDefaultKey() { VaultKeyValueOperations keyValueTemplate = mock(VaultKeyValueOperations.class); when(keyValueTemplate.get("myapp")).thenReturn(withVaultResponse("foo", "bar")); - when(keyValueTemplate.get("application")) - .thenReturn(withVaultResponse("def-foo", "def-bar")); + when(keyValueTemplate.get("application")).thenReturn(withVaultResponse("def-foo", "def-bar")); - SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), - new VaultEnvironmentProperties(), keyValueTemplate); + SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), new VaultEnvironmentProperties(), keyValueTemplate); Environment e = repo.findOne("myapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp"); + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp"); assertThat(e.getPropertySources()).as( "Properties for specified application and default application with key 'application' should be returned") .hasSize(2); - assertThat(e.getPropertySources().get(0).getSource()).as( - "Properties for specified application should be returned in priority position") + assertThat(e.getPropertySources().get(0).getSource()) + .as("Properties for specified application should be returned in priority position") .containsOnly((Map.Entry) entry("foo", "bar")); - assertThat(e.getPropertySources().get(1).getSource()).as( - "Properties for default application with key 'application' should be returned in second position") + assertThat(e.getPropertySources().get(1).getSource()) + .as("Properties for default application with key 'application' should be returned in second position") .containsOnly((Map.Entry) entry("def-foo", "def-bar")); } @@ -76,28 +73,25 @@ public class SpringVaultEnvironmentRepositoryTests { public void testBackendWithSlashes() { VaultKeyValueOperations keyValueTemplate = mock(VaultKeyValueOperations.class); when(keyValueTemplate.get("myapp")).thenReturn(withVaultResponse("foo", "bar")); - when(keyValueTemplate.get("application")) - .thenReturn(withVaultResponse("def-foo", "def-bar")); + when(keyValueTemplate.get("application")).thenReturn(withVaultResponse("def-foo", "def-bar")); VaultEnvironmentProperties properties = new VaultEnvironmentProperties(); properties.setBackend("foo/bar/secret"); - SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), properties, - keyValueTemplate); + SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), properties, keyValueTemplate); Environment e = repo.findOne("myapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp"); + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp"); assertThat(e.getPropertySources()).as( "Properties for specified application and default application with key 'application' should be returned") .hasSize(2); - assertThat(e.getPropertySources().get(0).getSource()).as( - "Properties for specified application should be returned in priority position") + assertThat(e.getPropertySources().get(0).getSource()) + .as("Properties for specified application should be returned in priority position") .containsOnly((Map.Entry) entry("foo", "bar")); - assertThat(e.getPropertySources().get(1).getSource()).as( - "Properties for default application with key 'application' should be returned in second position") + assertThat(e.getPropertySources().get(1).getSource()) + .as("Properties for default application with key 'application' should be returned in second position") .containsOnly((Map.Entry) entry("def-foo", "def-bar")); } @@ -105,61 +99,53 @@ public class SpringVaultEnvironmentRepositoryTests { public void testFindOneDefaultKeySetAndDifferentToApplication() { VaultKeyValueOperations keyValueTemplate = mock(VaultKeyValueOperations.class); when(keyValueTemplate.get("myapp")).thenReturn(withVaultResponse("foo", "bar")); - when(keyValueTemplate.get("mydefaultkey")) - .thenReturn(withVaultResponse("def-foo", "def-bar")); + when(keyValueTemplate.get("mydefaultkey")).thenReturn(withVaultResponse("def-foo", "def-bar")); - SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), - new VaultEnvironmentProperties(), keyValueTemplate); + SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), new VaultEnvironmentProperties(), keyValueTemplate); repo.setDefaultKey("mydefaultkey"); Environment e = repo.findOne("myapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp"); + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp"); assertThat(e.getPropertySources()).as( "Properties for specified application and default application with key 'mydefaultkey' should be returned") .hasSize(2); - assertThat(e.getPropertySources().get(0).getSource()).as( - "Properties for specified application should be returned in priority position") + assertThat(e.getPropertySources().get(0).getSource()) + .as("Properties for specified application should be returned in priority position") .containsOnly((Map.Entry) entry("foo", "bar")); - assertThat(e.getPropertySources().get(1).getSource()).as( - "Properties for default application with key 'mydefaultkey' should be returned in second position") + assertThat(e.getPropertySources().get(1).getSource()) + .as("Properties for default application with key 'mydefaultkey' should be returned in second position") .containsOnly((Map.Entry) entry("def-foo", "def-bar")); } @Test public void testFindOneDefaultKeySetAndDifferentToMultipleApplications() { VaultKeyValueOperations keyValueTemplate = mock(VaultKeyValueOperations.class); - when(keyValueTemplate.get("myapp")) - .thenReturn(withVaultResponse("myapp-foo", "myapp-bar")); - when(keyValueTemplate.get("yourapp")) - .thenReturn(withVaultResponse("yourapp-foo", "yourapp-bar")); - when(keyValueTemplate.get("mydefaultkey")) - .thenReturn(withVaultResponse("def-foo", "def-bar")); + when(keyValueTemplate.get("myapp")).thenReturn(withVaultResponse("myapp-foo", "myapp-bar")); + when(keyValueTemplate.get("yourapp")).thenReturn(withVaultResponse("yourapp-foo", "yourapp-bar")); + when(keyValueTemplate.get("mydefaultkey")).thenReturn(withVaultResponse("def-foo", "def-bar")); - SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), - new VaultEnvironmentProperties(), keyValueTemplate); + SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), new VaultEnvironmentProperties(), keyValueTemplate); repo.setDefaultKey("mydefaultkey"); Environment e = repo.findOne("myapp,yourapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp,yourapp"); + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp,yourapp"); assertThat(e.getPropertySources()).as( "Properties for specified applications and default application with key 'mydefaultkey' should be returned") .hasSize(3); - assertThat(e.getPropertySources().get(0).getSource()).as( - "Properties for first specified application should be returned in priority position") + assertThat(e.getPropertySources().get(0).getSource()) + .as("Properties for first specified application should be returned in priority position") .containsOnly((Map.Entry) entry("yourapp-foo", "yourapp-bar")); - assertThat(e.getPropertySources().get(1).getSource()).as( - "Properties for second specified application should be returned in priority position") + assertThat(e.getPropertySources().get(1).getSource()) + .as("Properties for second specified application should be returned in priority position") .containsOnly((Map.Entry) entry("myapp-foo", "myapp-bar")); - assertThat(e.getPropertySources().get(2).getSource()).as( - "Properties for default application with key 'mydefaultkey' should be returned in second position") + assertThat(e.getPropertySources().get(2).getSource()) + .as("Properties for default application with key 'mydefaultkey' should be returned in second position") .containsOnly((Map.Entry) entry("def-foo", "def-bar")); } @@ -167,19 +153,15 @@ public class SpringVaultEnvironmentRepositoryTests { public void testFindOneDefaultKeySetAndEqualToApplication() { VaultKeyValueOperations keyValueTemplate = mock(VaultKeyValueOperations.class); when(keyValueTemplate.get("myapp")).thenReturn(withVaultResponse("foo", "bar")); - when(keyValueTemplate.get("application")) - .thenReturn(withVaultResponse("def-foo", "def-bar")); + when(keyValueTemplate.get("application")).thenReturn(withVaultResponse("def-foo", "def-bar")); - SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), - new VaultEnvironmentProperties(), keyValueTemplate); + SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), new VaultEnvironmentProperties(), keyValueTemplate); repo.setDefaultKey("myapp"); Environment e = repo.findOne("myapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp"); - assertThat(e.getPropertySources()) - .as("Only properties for specified application should be returned") + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp"); + assertThat(e.getPropertySources()).as("Only properties for specified application should be returned") .hasSize(1); assertThat(e.getPropertySources().get(0).getSource()) @@ -191,24 +173,21 @@ public class SpringVaultEnvironmentRepositoryTests { public void testVaultVersioning() { VaultKeyValueOperations keyValueTemplate = mock(VaultKeyValueOperations.class); when(keyValueTemplate.get("myapp")).thenReturn(withVaultResponse("foo", "bar")); - when(keyValueTemplate.get("application")) - .thenReturn(withVaultResponse("def-foo", "def-bar")); + when(keyValueTemplate.get("application")).thenReturn(withVaultResponse("def-foo", "def-bar")); final VaultEnvironmentProperties vaultEnvironmentProperties = new VaultEnvironmentProperties(); vaultEnvironmentProperties.setKvVersion(2); - SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository( - mockHttpRequest(), new EnvironmentWatch.Default(), - vaultEnvironmentProperties, keyValueTemplate); + SpringVaultEnvironmentRepository repo = new SpringVaultEnvironmentRepository(mockHttpRequest(), + new EnvironmentWatch.Default(), vaultEnvironmentProperties, keyValueTemplate); Environment e = repo.findOne("myapp", null, null); - assertThat(e.getName()).as("Name should be the same as the application argument") - .isEqualTo("myapp"); + assertThat(e.getName()).as("Name should be the same as the application argument").isEqualTo("myapp"); assertThat(e.getPropertySources()).as( "Properties for specified application and default application with key 'application' should be returned") .hasSize(2); - assertThat(e.getPropertySources().get(0).getSource()).as( - "Properties for specified application should be returned in priority position") + assertThat(e.getPropertySources().get(0).getSource()) + .as("Properties for specified application should be returned in priority position") .containsOnly((Map.Entry) entry("foo", "bar")); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/authentication/AppRoleClientAuthenticationProviderTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/authentication/AppRoleClientAuthenticationProviderTests.java index 0f647b53..2f62d41a 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/authentication/AppRoleClientAuthenticationProviderTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/authentication/AppRoleClientAuthenticationProviderTests.java @@ -40,8 +40,7 @@ class AppRoleClientAuthenticationProviderTests { .getAppRoleAuthenticationOptions(properties); assertThat(options.getRoleId()).isInstanceOf(RoleId.provided("foo").getClass()); - assertThat(options.getSecretId()) - .isInstanceOf(SecretId.provided("bar").getClass()); + assertThat(options.getSecretId()).isInstanceOf(SecretId.provided("bar").getClass()); } @Test @@ -70,8 +69,7 @@ class AppRoleClientAuthenticationProviderTests { assertThat(options.getAppRole()).isEqualTo("my-role"); assertThat(options.getRoleId()).isInstanceOf(RoleId.provided("foo").getClass()); - assertThat(options.getSecretId()) - .isInstanceOf(SecretId.pull(VaultToken.of("token")).getClass()); + assertThat(options.getSecretId()).isInstanceOf(SecretId.pull(VaultToken.of("token")).getClass()); } @Test @@ -85,10 +83,8 @@ class AppRoleClientAuthenticationProviderTests { .getAppRoleAuthenticationOptions(properties); assertThat(options.getAppRole()).isEqualTo("my-role"); - assertThat(options.getRoleId()) - .isInstanceOf(RoleId.pull(VaultToken.of("token")).getClass()); - assertThat(options.getSecretId()) - .isInstanceOf(SecretId.pull(VaultToken.of("token")).getClass()); + assertThat(options.getRoleId()).isInstanceOf(RoleId.pull(VaultToken.of("token")).getClass()); + assertThat(options.getSecretId()).isInstanceOf(SecretId.pull(VaultToken.of("token")).getClass()); } @Test @@ -100,10 +96,8 @@ class AppRoleClientAuthenticationProviderTests { AppRoleAuthenticationOptions options = AppRoleClientAuthenticationProvider .getAppRoleAuthenticationOptions(properties); - assertThat(options.getRoleId()) - .isInstanceOf(RoleId.wrapped(VaultToken.of("token")).getClass()); - assertThat(options.getSecretId()) - .isInstanceOf(SecretId.wrapped(VaultToken.of("token")).getClass()); + assertThat(options.getRoleId()).isInstanceOf(RoleId.wrapped(VaultToken.of("token")).getClass()); + assertThat(options.getSecretId()).isInstanceOf(SecretId.wrapped(VaultToken.of("token")).getClass()); } @Test @@ -116,10 +110,8 @@ class AppRoleClientAuthenticationProviderTests { AppRoleAuthenticationOptions options = AppRoleClientAuthenticationProvider .getAppRoleAuthenticationOptions(properties); - assertThat(options.getRoleId()) - .isInstanceOf(RoleId.wrapped(VaultToken.of("token")).getClass()); - assertThat(options.getSecretId()) - .isInstanceOf(SecretId.provided("bar").getClass()); + assertThat(options.getRoleId()).isInstanceOf(RoleId.wrapped(VaultToken.of("token")).getClass()); + assertThat(options.getSecretId()).isInstanceOf(SecretId.provided("bar").getClass()); } @Test @@ -133,8 +125,7 @@ class AppRoleClientAuthenticationProviderTests { .getAppRoleAuthenticationOptions(properties); assertThat(options.getRoleId()).isInstanceOf(RoleId.provided("foo").getClass()); - assertThat(options.getSecretId()) - .isInstanceOf(SecretId.wrapped(VaultToken.of("token")).getClass()); + assertThat(options.getSecretId()).isInstanceOf(SecretId.wrapped(VaultToken.of("token")).getClass()); } @Test @@ -142,9 +133,8 @@ class AppRoleClientAuthenticationProviderTests { VaultEnvironmentProperties properties = new VaultEnvironmentProperties(); - assertThatThrownBy(() -> AppRoleClientAuthenticationProvider - .getAppRoleAuthenticationOptions(properties)) - .isInstanceOf(IllegalArgumentException.class); + assertThatThrownBy(() -> AppRoleClientAuthenticationProvider.getAppRoleAuthenticationOptions(properties)) + .isInstanceOf(IllegalArgumentException.class); } @Test @@ -153,9 +143,8 @@ class AppRoleClientAuthenticationProviderTests { VaultEnvironmentProperties properties = new VaultEnvironmentProperties(); properties.getAppRole().setRole("my-role"); - assertThatThrownBy(() -> AppRoleClientAuthenticationProvider - .getAppRoleAuthenticationOptions(properties)) - .isInstanceOf(IllegalArgumentException.class); + assertThatThrownBy(() -> AppRoleClientAuthenticationProvider.getAppRoleAuthenticationOptions(properties)) + .isInstanceOf(IllegalArgumentException.class); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/GenericResourceRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/GenericResourceRepositoryTests.java index 062a2c36..c916bfa9 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/GenericResourceRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/GenericResourceRepositoryTests.java @@ -60,11 +60,10 @@ public class GenericResourceRepositoryTests { @Before public void init() { - this.context = new SpringApplicationBuilder( - NativeEnvironmentRepositoryTests.class).web(WebApplicationType.NONE) - .run(); - this.nativeRepository = new NativeEnvironmentRepository( - this.context.getEnvironment(), new NativeEnvironmentProperties()); + this.context = new SpringApplicationBuilder(NativeEnvironmentRepositoryTests.class).web(WebApplicationType.NONE) + .run(); + this.nativeRepository = new NativeEnvironmentRepository(this.context.getEnvironment(), + new NativeEnvironmentProperties()); this.repository = new GenericResourceRepository(this.nativeRepository); this.repository.setResourceLoader(this.context); this.context.close(); @@ -72,36 +71,30 @@ public class GenericResourceRepositoryTests { @Test public void locateResource() { - assertThat(this.repository.findOne("blah", "default", "master", "foo.properties")) - .isNotNull(); + assertThat(this.repository.findOne("blah", "default", "master", "foo.properties")).isNotNull(); } @Test public void locateProfiledResource() { - assertThat(this.repository.findOne("blah", "local", "master", "foo.txt")) - .isNotNull(); + assertThat(this.repository.findOne("blah", "local", "master", "foo.txt")).isNotNull(); } @Test public void locateProfiledResourceWithPlaceholder() { this.nativeRepository.setSearchLocations("classpath:/test/{profile}"); - assertThat(this.repository.findOne("blah", "local", "master", "foo.txt")) - .isNotNull(); + assertThat(this.repository.findOne("blah", "local", "master", "foo.txt")).isNotNull(); } @Test(expected = NoSuchResourceException.class) public void locateMissingResource() { - assertThat(this.repository.findOne("blah", "default", "master", "foo.txt")) - .isNotNull(); + assertThat(this.repository.findOne("blah", "default", "master", "foo.txt")).isNotNull(); } @Test public void invalidPath() { this.exception.expect(NoSuchResourceException.class); - this.nativeRepository - .setSearchLocations("file:./src/test/resources/test/{profile}"); - this.output.expect(containsString( - "Path contains \"../\" after call to StringUtils#cleanPath")); + this.nativeRepository.setSearchLocations("file:./src/test/resources/test/{profile}"); + this.output.expect(containsString("Path contains \"../\" after call to StringUtils#cleanPath")); this.repository.findOne("blah", "local", "master", "..%2F..%2Fdata-jdbc.sql"); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/ResourceControllerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/ResourceControllerIntegrationTests.java index 6fbed72f..5733be90 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/ResourceControllerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/ResourceControllerIntegrationTests.java @@ -87,8 +87,7 @@ public class ResourceControllerIntegrationTests { @Test public void environmentNoLabel() throws Exception { - when(this.repository.findOne("foo", "default", "master", false)) - .thenReturn(new Environment("foo", "default")); + when(this.repository.findOne("foo", "default", "master", false)).thenReturn(new Environment("foo", "default")); when(this.resources.findOne("foo", "default", "master", "foo.txt")) .thenReturn(new ClassPathResource("resource-controller/foo.txt")); this.mvc.perform(MockMvcRequestBuilders.get("/foo/default/master/foo.txt")) @@ -116,8 +115,8 @@ public class ResourceControllerIntegrationTests { when(this.resources.findOne("foo", "default", "master", "foo.txt")) .thenReturn(new ClassPathResource("resource-controller/foo.txt")); - ResponseEntity response = new TestRestTemplate().getForEntity( - "http://localhost:" + port + "/foo/default/master/foo.txt", String.class); + ResponseEntity response = new TestRestTemplate() + .getForEntity("http://localhost:" + port + "/foo/default/master/foo.txt", String.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); verify(this.repository).findOne("foo", "default", "master", false); verify(this.resources).findOne("foo", "default", "master", "foo.txt"); @@ -130,8 +129,7 @@ public class ResourceControllerIntegrationTests { .thenReturn(new Environment("foo", "default", "master")); when(this.resources.findOne("foo", "default", null, "foo.txt")) .thenReturn(new ClassPathResource("resource-controller/foo.txt")); - this.mvc.perform(MockMvcRequestBuilders.get("/foo/default/foo.txt") - .param("useDefaultLabel", "")) + this.mvc.perform(MockMvcRequestBuilders.get("/foo/default/foo.txt").param("useDefaultLabel", "")) .andExpect(MockMvcResultMatchers.status().isOk()); verify(this.repository).findOne("foo", "default", null, false); verify(this.resources).findOne("foo", "default", null, "foo.txt"); @@ -145,8 +143,8 @@ public class ResourceControllerIntegrationTests { when(this.resources.findOne("foo", "default", null, "foo.txt")) .thenReturn(new ClassPathResource("resource-controller/foo.txt")); - ResponseEntity response = new TestRestTemplate().getForEntity( - "http://localhost:" + port + "/foo/default/master/foo.txt", String.class); + ResponseEntity response = new TestRestTemplate() + .getForEntity("http://localhost:" + port + "/foo/default/master/foo.txt", String.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); verify(this.repository).findOne("foo", "default", null, false); verify(this.resources).findOne("foo", "default", null, "foo.txt"); @@ -159,8 +157,7 @@ public class ResourceControllerIntegrationTests { .thenReturn(new Environment("foo", "default", "master")); when(this.resources.findOne("foo", "default", null, "foo.txt")) .thenReturn(new ClassPathResource("resource-controller/foo.txt")); - this.mvc.perform(MockMvcRequestBuilders.get("/foo/default/foo.txt") - .param("useDefaultLabel", "") + this.mvc.perform(MockMvcRequestBuilders.get("/foo/default/foo.txt").param("useDefaultLabel", "") .header(HttpHeaders.ACCEPT, MimeTypeUtils.APPLICATION_OCTET_STREAM_VALUE)) .andExpect(MockMvcResultMatchers.status().isOk()); verify(this.repository).findOne("foo", "default", null, false); @@ -193,8 +190,7 @@ public class ResourceControllerIntegrationTests { @Bean public ResourceController resourceController() { - return new ResourceController(resourceRepository(), environmentRepository(), - resourceEncryptorMap); + return new ResourceController(resourceRepository(), environmentRepository(), resourceEncryptorMap); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/ResourceControllerTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/ResourceControllerTests.java index f575a5bd..80b0a404 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/ResourceControllerTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/ResourceControllerTests.java @@ -67,15 +67,14 @@ public class ResourceControllerTests { @Before public void init() { - this.context = new SpringApplicationBuilder( - NativeEnvironmentRepositoryTests.class).web(WebApplicationType.NONE) - .run(); - this.environmentRepository = new NativeEnvironmentRepository( - this.context.getEnvironment(), new NativeEnvironmentProperties()); + this.context = new SpringApplicationBuilder(NativeEnvironmentRepositoryTests.class).web(WebApplicationType.NONE) + .run(); + this.environmentRepository = new NativeEnvironmentRepository(this.context.getEnvironment(), + new NativeEnvironmentProperties()); this.repository = new GenericResourceRepository(this.environmentRepository); this.repository.setResourceLoader(this.context); - this.controller = new ResourceController(this.repository, - this.environmentRepository, this.resourceEncryptorMap); + this.controller = new ResourceController(this.repository, this.environmentRepository, + this.resourceEncryptorMap); this.context.close(); } @@ -83,45 +82,37 @@ public class ResourceControllerTests { @Ignore // FIXME: configdata public void templateReplacement() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); - String resource = this.controller.retrieve("foo", "bar", "dev", "template.json", - true); - assertThat(replaceNewLines(resource)) - .matches("\\{\\s*\"foo\": \"dev_bar\"\\s*\\}") + String resource = this.controller.retrieve("foo", "bar", "dev", "template.json", true); + assertThat(replaceNewLines(resource)).matches("\\{\\s*\"foo\": \"dev_bar\"\\s*\\}") .as("Wrong content: " + resource); } @Test public void templateReplacementNotForResolvePlaceholdersFalse() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); - String resource = this.controller.retrieve("foo", "bar", "dev", "template.json", - false); - assertThat(replaceNewLines(resource)) - .matches("\\{\\s*\"foo\": \"\\$\\{foo\\}\"\\s*\\}") + String resource = this.controller.retrieve("foo", "bar", "dev", "template.json", false); + assertThat(replaceNewLines(resource)).matches("\\{\\s*\"foo\": \"\\$\\{foo\\}\"\\s*\\}") .as("Wrong content: " + resource); } @Test public void templateReplacementNotForBinary() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); - String resource = new String( - this.controller.binary("foo", "bar", "dev", "template.json")); - assertThat(replaceNewLines(resource)) - .matches("\\{\\s*\"foo\": \"\\$\\{foo\\}\"\\s*\\}") + String resource = new String(this.controller.binary("foo", "bar", "dev", "template.json")); + assertThat(replaceNewLines(resource)).matches("\\{\\s*\"foo\": \"\\$\\{foo\\}\"\\s*\\}") .as("Wrong content: " + resource); } @Test public void escapedPlaceholder() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); - String resource = this.controller.retrieve("foo", "bar", "dev", "placeholder.txt", - true); + String resource = this.controller.retrieve("foo", "bar", "dev", "placeholder.txt", true); assertThat(resource).isEqualToIgnoringNewLines("foo: ${foo}"); } @Test public void applicationAndLabelPlaceholdersWithoutSlash() throws Exception { - this.environmentRepository - .setSearchLocations("classpath:/test/{application}/{label}"); + this.environmentRepository.setSearchLocations("classpath:/test/{application}/{label}"); String resource = this.controller.retrieve("dev", "bar", "spam", "foo.txt", true); assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); } @@ -129,32 +120,28 @@ public class ResourceControllerTests { @Test public void applicationPlaceholderWithSlash() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test/{application}"); - String resource = this.controller.retrieve("dev(_)spam", "bar", "", "foo.txt", - true); + String resource = this.controller.retrieve("dev(_)spam", "bar", "", "foo.txt", true); assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); } @Test public void applicationPlaceholderWithSlashNullLabel() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test/{application}"); - String resource = this.controller.retrieve("dev(_)spam", "bar", null, "foo.txt", - true); + String resource = this.controller.retrieve("dev(_)spam", "bar", null, "foo.txt", true); assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); } @Test public void labelPlaceholderWithSlash() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test/{label}"); - String resource = this.controller.retrieve("dev", "bar", "dev(_)spam", "foo.txt", - true); + String resource = this.controller.retrieve("dev", "bar", "dev(_)spam", "foo.txt", true); assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); } @Test public void profilePlaceholderNullLabel() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test/{profile}"); - String resource = this.controller.retrieve("bar", "dev", null, "spam/foo.txt", - true); + String resource = this.controller.retrieve("bar", "dev", null, "spam/foo.txt", true); assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); } @@ -172,8 +159,7 @@ public class ResourceControllerTests { @Test public void labelWithSlash() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); - String resource = this.controller.retrieve("foo", "bar", "dev(_)spam", "foo.txt", - true); + String resource = this.controller.retrieve("foo", "bar", "dev(_)spam", "foo.txt", true); assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); } @@ -187,8 +173,7 @@ public class ResourceControllerTests { @Test public void resourceWithSlash() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); - String resource = this.controller.retrieve("foo", "bar", "dev", "spam/foo.txt", - true); + String resource = this.controller.retrieve("foo", "bar", "dev", "spam/foo.txt", true); assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); } @@ -196,8 +181,7 @@ public class ResourceControllerTests { public void resourceWithSlashRequest() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); MockHttpServletRequest request = new MockHttpServletRequest(); - ServletWebRequest webRequest = new ServletWebRequest(request, - new MockHttpServletResponse()); + ServletWebRequest webRequest = new ServletWebRequest(request, new MockHttpServletResponse()); request.setRequestURI("/foo/bar/dev/" + "spam/foo.txt"); String resource = this.controller.retrieve("foo", "bar", "dev", webRequest, true); assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); @@ -207,8 +191,7 @@ public class ResourceControllerTests { public void resourceWithSlashRequestAndServletPath() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); MockHttpServletRequest request = new MockHttpServletRequest(); - ServletWebRequest webRequest = new ServletWebRequest(request, - new MockHttpServletResponse()); + ServletWebRequest webRequest = new ServletWebRequest(request, new MockHttpServletResponse()); request.setServletPath("/spring"); request.setRequestURI("/foo/bar/dev/" + "spam/foo.txt"); String resource = this.controller.retrieve("foo", "bar", "dev", webRequest, true); @@ -218,16 +201,14 @@ public class ResourceControllerTests { @Test public void labelWithSlashForResolvePlaceholdersFalse() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); - String resource = this.controller.retrieve("foo", "bar", "dev(_)spam", "foo.txt", - false); + String resource = this.controller.retrieve("foo", "bar", "dev(_)spam", "foo.txt", false); assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); } @Test public void resourceWithSlashForResolvePlaceholdersFalse() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); - String resource = this.controller.retrieve("foo", "bar", "dev", "spam/foo.txt", - false); + String resource = this.controller.retrieve("foo", "bar", "dev", "spam/foo.txt", false); assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); } @@ -235,18 +216,15 @@ public class ResourceControllerTests { public void resourceWithSlashForResolvePlaceholdersFalseRequest() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); MockHttpServletRequest request = new MockHttpServletRequest(); - ServletWebRequest webRequest = new ServletWebRequest(request, - new MockHttpServletResponse()); + ServletWebRequest webRequest = new ServletWebRequest(request, new MockHttpServletResponse()); request.setRequestURI("/foo/bar/dev/" + "spam/foo.txt"); - String resource = this.controller.retrieve("foo", "bar", "dev", webRequest, - false); + String resource = this.controller.retrieve("foo", "bar", "dev", webRequest, false); assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); } @Test public void applicationAndLabelPlaceholdersWithoutSlashForBinary() throws Exception { - this.environmentRepository - .setSearchLocations("classpath:/test/{application}/{label}"); + this.environmentRepository.setSearchLocations("classpath:/test/{application}/{label}"); byte[] resource = this.controller.binary("dev", "bar", "spam", "foo.txt"); assertThat(new String(resource)).isEqualToIgnoringNewLines("foo: dev_bar/spam"); } @@ -308,8 +286,7 @@ public class ResourceControllerTests { public void resourceWithSlashForBinaryRequest() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test"); MockHttpServletRequest request = new MockHttpServletRequest(); - ServletWebRequest webRequest = new ServletWebRequest(request, - new MockHttpServletResponse()); + ServletWebRequest webRequest = new ServletWebRequest(request, new MockHttpServletResponse()); request.setRequestURI("/foo/bar/dev/" + "spam/foo.txt"); byte[] resource = this.controller.binary("foo", "bar", "dev", webRequest); assertThat(new String(resource)).isEqualToIgnoringNewLines("foo: dev_bar/spam"); @@ -323,8 +300,7 @@ public class ResourceControllerTests { public void defaultLabelForBinary() throws Exception { this.environmentRepository.setSearchLocations("classpath:/test/{application}"); MockHttpServletRequest request = new MockHttpServletRequest(); - ServletWebRequest webRequest = new ServletWebRequest(request, - new MockHttpServletResponse()); + ServletWebRequest webRequest = new ServletWebRequest(request, new MockHttpServletResponse()); request.setRequestURI("/dev/spam/bar/" + "foo.txt"); byte[] resource = this.controller.binary("dev/spam", "bar", webRequest); assertThat(new String(resource)).isEqualToIgnoringNewLines("foo: dev_bar/spam"); @@ -343,8 +319,7 @@ public class ResourceControllerTests { this.controller.setPlainTextEncryptEnabled(true); // when - String resource = this.controller.retrieve("foo", "bar", "dev", "template.json", - false); + String resource = this.controller.retrieve("foo", "bar", "dev", "template.json", false); // then assertThat(resource).isEqualTo(decryptedStr); @@ -363,8 +338,7 @@ public class ResourceControllerTests { this.controller.setPlainTextEncryptEnabled(true); // when - String resource = this.controller.retrieve("foo", "bar", "dev", "spam/foo.txt", - false); + String resource = this.controller.retrieve("foo", "bar", "dev", "spam/foo.txt", false); // then assertThat(resource).isEqualToIgnoringNewLines("foo: dev_bar/spam"); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/PropertyBasedSshSessionFactoryTest.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/PropertyBasedSshSessionFactoryTest.java index 70cc47c4..ff53b77a 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/PropertyBasedSshSessionFactoryTest.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/PropertyBasedSshSessionFactoryTest.java @@ -81,8 +81,7 @@ public class PropertyBasedSshSessionFactoryTest { public static String getResourceAsString(String path) { try { Resource resource = new ClassPathResource(path); - try (BufferedReader br = new BufferedReader( - new InputStreamReader(resource.getInputStream()))) { + try (BufferedReader br = new BufferedReader(new InputStreamReader(resource.getInputStream()))) { StringBuilder builder = new StringBuilder(); String line; while ((line = br.readLine()) != null) { @@ -145,10 +144,8 @@ public class PropertyBasedSshSessionFactoryTest { sshKey.setPrivateKey(PRIVATE_KEY); setupSessionFactory(sshKey); - this.factory.createSession(this.hc, null, - SshUriPropertyProcessor.getHostname(sshKey.getUri()), 22, null); - verify(this.jSch).addIdentity("gitlab.example.local", PRIVATE_KEY.getBytes(), - null, null); + this.factory.createSession(this.hc, null, SshUriPropertyProcessor.getHostname(sshKey.getUri()), 22, null); + verify(this.jSch).addIdentity("gitlab.example.local", PRIVATE_KEY.getBytes(), null, null); } @Test @@ -159,8 +156,7 @@ public class PropertyBasedSshSessionFactoryTest { sshKey.setPrivateKey(PRIVATE_KEY); setupSessionFactory(sshKey); - this.factory.createSession(this.hc, null, - SshUriPropertyProcessor.getHostname(sshKey.getUri()), 22, null); + this.factory.createSession(this.hc, null, SshUriPropertyProcessor.getHostname(sshKey.getUri()), 22, null); ArgumentCaptor captor = ArgumentCaptor.forClass(HostKey.class); verify(this.hostKeyRepository).add(captor.capture(), isNull()); HostKey hostKey = captor.getValue(); @@ -177,8 +173,7 @@ public class PropertyBasedSshSessionFactoryTest { setupSessionFactory(sshKey); this.factory.configure(this.hc, this.session); - verify(this.session).setConfig("PreferredAuthentications", - "password,keyboard-interactive"); + verify(this.session).setConfig("PreferredAuthentications", "password,keyboard-interactive"); verify(this.session).setConfig("StrictHostKeyChecking", "no"); verifyNoMoreInteractions(this.session); } @@ -191,8 +186,7 @@ public class PropertyBasedSshSessionFactoryTest { sshKey.setKnownHostsFile("/ssh/known_hosts"); setupSessionFactory(sshKey); - this.factory.createSession(this.hc, null, - SshUriPropertyProcessor.getHostname(sshKey.getUri()), 22, null); + this.factory.createSession(this.hc, null, SshUriPropertyProcessor.getHostname(sshKey.getUri()), 22, null); ArgumentCaptor captor = ArgumentCaptor.forClass(String.class); verify(this.jSch).setKnownHosts(captor.capture()); @@ -222,8 +216,7 @@ public class PropertyBasedSshSessionFactoryTest { private void setupSessionFactory(JGitEnvironmentProperties sshKey) { Map sshKeysByHostname = new HashMap<>(); - sshKeysByHostname.put(SshUriPropertyProcessor.getHostname(sshKey.getUri()), - sshKey); + sshKeysByHostname.put(SshUriPropertyProcessor.getHostname(sshKey.getUri()), sshKey); this.factory = new PropertyBasedSshSessionFactory(sshKeysByHostname, this.jSch) { @Override @@ -231,8 +224,7 @@ public class PropertyBasedSshSessionFactoryTest { return proxyMock; } }; - when(this.hc.getHostName()) - .thenReturn(SshUriPropertyProcessor.getHostname(sshKey.getUri())); + when(this.hc.getHostName()).thenReturn(SshUriPropertyProcessor.getHostname(sshKey.getUri())); when(this.jSch.getHostKeyRepository()).thenReturn(this.hostKeyRepository); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/SshPropertyValidatorTest.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/SshPropertyValidatorTest.java index 0e7902b1..322991dd 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/SshPropertyValidatorTest.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/SshPropertyValidatorTest.java @@ -64,8 +64,7 @@ public class SshPropertyValidatorTest { + "E1xUIdRbUIWhVZrr0VufG6hG/P0T7Y6Tpi6G0pKtvMkF3LcD9TS3adboix8H2ZXx\n" + "4L7MRQKBgQC0OO3qqNXOjIVYWOoqXLybOY/Wqu9lxCAgGyCYaMcstnBI7W0MZTBr\n" + "/syluvGsaFc1sE7MMGOOzKi1tF4YvDmSnzA/R1nmaPguuD9fOA+w7Pwkv5vLvuJq\n" - + "2U7EeNwxq1I1L3Ag6E7wH4BHLHd4TKaZR6agFkn8oomz71yZPGjuZQ==\n" - + "-----END RSA PRIVATE KEY-----"; + + "2U7EeNwxq1I1L3Ag6E7wH4BHLHd4TKaZR6agFkn8oomz71yZPGjuZQ==\n" + "-----END RSA PRIVATE KEY-----"; private static final String VALID_HOST_KEY = "AAAAB3NzaC1yc2EAAAADAQABAAABAQDg6/W" + "/5cbk/npvzpae7ZEa54F4rkwh2V3NiuqVZ5hWr+8O4/6SmrS7yBvRHAFeAJNb0LOCjE/7tjd1" @@ -166,8 +165,7 @@ public class SshPropertyValidatorTest { useLocal.setIgnoreLocalSshSettings(false); useLocal.setPrivateKey("invalid_key"); - Set> constraintViolations = validator - .validate(useLocal); + Set> constraintViolations = validator.validate(useLocal); assertThat(constraintViolations).hasSize(0); } @@ -179,8 +177,7 @@ public class SshPropertyValidatorTest { httpsUri.setIgnoreLocalSshSettings(true); httpsUri.setPrivateKey("invalid_key"); - Set> constraintViolations = validator - .validate(httpsUri); + Set> constraintViolations = validator.validate(httpsUri); assertThat(constraintViolations).hasSize(0); } @@ -190,8 +187,7 @@ public class SshPropertyValidatorTest { MultipleJGitEnvironmentProperties sshUriProperties = new MultipleJGitEnvironmentProperties(); assertThat(validator.validate(sshUriProperties)).hasSize(0); - sshUriProperties.setPreferredAuthentications( - "keyboard-interactive, public-key ,kerberos"); + sshUriProperties.setPreferredAuthentications("keyboard-interactive, public-key ,kerberos"); assertThat(validator.validate(sshUriProperties)).hasSize(0); sshUriProperties.setPreferredAuthentications(",,"); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/SshUriPropertyProcessorTest.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/SshUriPropertyProcessorTest.java index ee499b73..a5ec94a9 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/SshUriPropertyProcessorTest.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ssh/SshUriPropertyProcessorTest.java @@ -64,10 +64,8 @@ public class SshUriPropertyProcessorTest { @Test public void testSingleSshUriProperties() { - SshUriPropertyProcessor sshUriPropertyProcessor = new SshUriPropertyProcessor( - mainRepoPropertiesFixture()); - Map sshKeysByHostname = sshUriPropertyProcessor - .getSshKeysByHostname(); + SshUriPropertyProcessor sshUriPropertyProcessor = new SshUriPropertyProcessor(mainRepoPropertiesFixture()); + Map sshKeysByHostname = sshUriPropertyProcessor.getSshKeysByHostname(); assertThat(sshKeysByHostname.values()).hasSize(1); @@ -89,11 +87,9 @@ public class SshUriPropertyProcessorTest { addRepoProperties(sshUriProperties, nestedSshUriProperties1, "repo2"); addRepoProperties(sshUriProperties, nestedSshUriProperties2, "repo3"); - SshUriPropertyProcessor sshUriPropertyProcessor = new SshUriPropertyProcessor( - sshUriProperties); + SshUriPropertyProcessor sshUriPropertyProcessor = new SshUriPropertyProcessor(sshUriProperties); - Map sshKeysByHostname = sshUriPropertyProcessor - .getSshKeysByHostname(); + Map sshKeysByHostname = sshUriPropertyProcessor.getSshKeysByHostname(); assertThat(sshKeysByHostname.values()).hasSize(3); @@ -102,16 +98,14 @@ public class SshUriPropertyProcessorTest { JGitEnvironmentProperties sshKey2 = sshKeysByHostname.get(HOST2); - assertThat(SshUriPropertyProcessor.getHostname(sshKey2.getUri())) - .isEqualTo(HOST2); + assertThat(SshUriPropertyProcessor.getHostname(sshKey2.getUri())).isEqualTo(HOST2); assertThat(sshKey2.getHostKeyAlgorithm()).isNull(); assertThat(sshKey2.getHostKey()).isNull(); assertThat(sshKey2.getPrivateKey()).isEqualTo(PRIVATE_KEY2); JGitEnvironmentProperties sshKey3 = sshKeysByHostname.get(HOST3); - assertThat(SshUriPropertyProcessor.getHostname(sshKey3.getUri())) - .isEqualTo(HOST3); + assertThat(SshUriPropertyProcessor.getHostname(sshKey3.getUri())).isEqualTo(HOST3); assertThat(sshKey3.getHostKeyAlgorithm()).isNull(); assertThat(sshKey3.getHostKey()).isNull(); assertThat(sshKey3.getPrivateKey()).isEqualTo(PRIVATE_KEY3); @@ -128,10 +122,8 @@ public class SshUriPropertyProcessorTest { nestedSshUriProperties.setHostKeyAlgorithm(ALGO1); addRepoProperties(sshUriProperties, nestedSshUriProperties, "repo2"); - SshUriPropertyProcessor sshUriPropertyProcessor = new SshUriPropertyProcessor( - sshUriProperties); - Map sshKeysByHostname = sshUriPropertyProcessor - .getSshKeysByHostname(); + SshUriPropertyProcessor sshUriPropertyProcessor = new SshUriPropertyProcessor(sshUriProperties); + Map sshKeysByHostname = sshUriPropertyProcessor.getSshKeysByHostname(); assertThat(sshKeysByHostname.values()).hasSize(1); @@ -143,8 +135,7 @@ public class SshUriPropertyProcessorTest { public void testNoSshUriProperties() { SshUriPropertyProcessor sshUriPropertyProcessor = new SshUriPropertyProcessor( new MultipleJGitEnvironmentProperties()); - Map sshKeysByHostname = sshUriPropertyProcessor - .getSshKeysByHostname(); + Map sshKeysByHostname = sshUriPropertyProcessor.getSshKeysByHostname(); assertThat(sshKeysByHostname.values()).hasSize(0); } @@ -152,10 +143,8 @@ public class SshUriPropertyProcessorTest { public void testInvalidUriDoesNotAddEntry() { MultipleJGitEnvironmentProperties sshUriProperties = new MultipleJGitEnvironmentProperties(); sshUriProperties.setUri("invalid_uri"); - SshUriPropertyProcessor sshUriPropertyProcessor = new SshUriPropertyProcessor( - sshUriProperties); - Map sshKeysByHostname = sshUriPropertyProcessor - .getSshKeysByHostname(); + SshUriPropertyProcessor sshUriPropertyProcessor = new SshUriPropertyProcessor(sshUriProperties); + Map sshKeysByHostname = sshUriPropertyProcessor.getSshKeysByHostname(); assertThat(sshKeysByHostname.values()).hasSize(0); } @@ -163,10 +152,8 @@ public class SshUriPropertyProcessorTest { public void testHttpsUriDoesNotAddEntry() { MultipleJGitEnvironmentProperties sshUriProperties = new MultipleJGitEnvironmentProperties(); sshUriProperties.setUri("https://user@github.com/proj/repo.git"); - SshUriPropertyProcessor sshUriPropertyProcessor = new SshUriPropertyProcessor( - sshUriProperties); - Map sshKeysByHostname = sshUriPropertyProcessor - .getSshKeysByHostname(); + SshUriPropertyProcessor sshUriPropertyProcessor = new SshUriPropertyProcessor(sshUriProperties); + Map sshKeysByHostname = sshUriPropertyProcessor.getSshKeysByHostname(); assertThat(sshKeysByHostname.values()).hasSize(0); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/GitSkipSslValidationCredentialsProviderTest.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/GitSkipSslValidationCredentialsProviderTest.java index 529b50c3..d0ebd5fa 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/GitSkipSslValidationCredentialsProviderTest.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/GitSkipSslValidationCredentialsProviderTest.java @@ -47,27 +47,21 @@ public class GitSkipSslValidationCredentialsProviderTest { @Before public void setup() { - this.skipSslValidationCredentialsProvider = new GitSkipSslValidationCredentialsProvider( - null); + this.skipSslValidationCredentialsProvider = new GitSkipSslValidationCredentialsProvider(null); } @Test public void testCanHandle() { - assertThat(GitSkipSslValidationCredentialsProvider - .canHandle("https://github.com/org/repo")).as( - "GitSkipSslValidationCredentialsProvider only handles HTTPS uris") - .isTrue(); - assertThat(GitSkipSslValidationCredentialsProvider - .canHandle("git@github.com:org/repo")).as( - "GitSkipSslValidationCredentialsProvider only handles HTTPS uris") - .isFalse(); + assertThat(GitSkipSslValidationCredentialsProvider.canHandle("https://github.com/org/repo")) + .as("GitSkipSslValidationCredentialsProvider only handles HTTPS uris").isTrue(); + assertThat(GitSkipSslValidationCredentialsProvider.canHandle("git@github.com:org/repo")) + .as("GitSkipSslValidationCredentialsProvider only handles HTTPS uris").isFalse(); } @Test public void testIsInteractive() { - assertThat(this.skipSslValidationCredentialsProvider.isInteractive()).as( - "GitSkipSslValidationCredentialsProvider with no delegate requires no user interaction") - .isFalse(); + assertThat(this.skipSslValidationCredentialsProvider.isInteractive()) + .as("GitSkipSslValidationCredentialsProvider with no delegate requires no user interaction").isFalse(); } @Test @@ -77,25 +71,22 @@ public class GitSkipSslValidationCredentialsProviderTest { when(this.mockDelegateCredentialsProvider.isInteractive()).thenReturn(true); - assertThat(this.skipSslValidationCredentialsProvider.isInteractive()).as( - "With a delegate provider, isInteractive value depends on the delegate") - .isTrue(); + assertThat(this.skipSslValidationCredentialsProvider.isInteractive()) + .as("With a delegate provider, isInteractive value depends on the delegate").isTrue(); } @Test public void testSupportsSslFailureInformationalMessage() { CredentialItem informationalMessage = new CredentialItem.InformationalMessage( "text " + JGitText.get().sslFailureTrustExplanation + " more text"); - assertThat(this.skipSslValidationCredentialsProvider - .supports(informationalMessage)).as( - "GitSkipSslValidationCredentialsProvider should always support SSL failure InformationalMessage") - .isTrue(); + assertThat(this.skipSslValidationCredentialsProvider.supports(informationalMessage)) + .as("GitSkipSslValidationCredentialsProvider should always support SSL failure InformationalMessage") + .isTrue(); informationalMessage = new CredentialItem.InformationalMessage("unrelated"); - assertThat(this.skipSslValidationCredentialsProvider - .supports(informationalMessage)).as( - "GitSkipSslValidationCredentialsProvider should not support unrelated InformationalMessage items") - .isFalse(); + assertThat(this.skipSslValidationCredentialsProvider.supports(informationalMessage)) + .as("GitSkipSslValidationCredentialsProvider should not support unrelated InformationalMessage items") + .isFalse(); } @Test @@ -108,27 +99,24 @@ public class GitSkipSslValidationCredentialsProviderTest { @Test public void testSupportsSslValidationYesNoTypes() { - CredentialItem yesNoType = new CredentialItem.YesNoType( - JGitText.get().sslTrustNow); - assertThat(this.skipSslValidationCredentialsProvider.supports(yesNoType)).as( - "GitSkipSslValidationCredentialsProvider should always support the trust now YesNoType item") + CredentialItem yesNoType = new CredentialItem.YesNoType(JGitText.get().sslTrustNow); + assertThat(this.skipSslValidationCredentialsProvider.supports(yesNoType)) + .as("GitSkipSslValidationCredentialsProvider should always support the trust now YesNoType item") .isTrue(); - yesNoType = new CredentialItem.YesNoType( - MessageFormat.format(JGitText.get().sslTrustForRepo, "/a/path.git")); - assertThat(this.skipSslValidationCredentialsProvider.supports(yesNoType)).as( - "GitSkipSslValidationCredentialsProvider should always support the trust repo YesNoType item") + yesNoType = new CredentialItem.YesNoType(MessageFormat.format(JGitText.get().sslTrustForRepo, "/a/path.git")); + assertThat(this.skipSslValidationCredentialsProvider.supports(yesNoType)) + .as("GitSkipSslValidationCredentialsProvider should always support the trust repo YesNoType item") .isTrue(); yesNoType = new CredentialItem.YesNoType(JGitText.get().sslTrustAlways); - assertThat(this.skipSslValidationCredentialsProvider.supports(yesNoType)).as( - "GitSkipSslValidationCredentialsProvider should always support the trust always YesNoType item") + assertThat(this.skipSslValidationCredentialsProvider.supports(yesNoType)) + .as("GitSkipSslValidationCredentialsProvider should always support the trust always YesNoType item") .isTrue(); yesNoType = new CredentialItem.YesNoType("unrelated"); - assertThat(this.skipSslValidationCredentialsProvider.supports(yesNoType)).as( - "GitSkipSslValidationCredentialsProvider should not support unrelated YesNoType items") - .isFalse(); + assertThat(this.skipSslValidationCredentialsProvider.supports(yesNoType)) + .as("GitSkipSslValidationCredentialsProvider should not support unrelated YesNoType items").isFalse(); } @Test @@ -143,12 +131,10 @@ public class GitSkipSslValidationCredentialsProviderTest { public void testSupportsUnrelatedCredentialItemTypes() { CredentialItem usernameCredentialItem = new CredentialItem.Username(); - boolean supportsItems = this.skipSslValidationCredentialsProvider - .supports(usernameCredentialItem); + boolean supportsItems = this.skipSslValidationCredentialsProvider.supports(usernameCredentialItem); - assertThat(supportsItems).as( - "Credential item types not related to SSL validation skipping should not be supported") - .isFalse(); + assertThat(supportsItems) + .as("Credential item types not related to SSL validation skipping should not be supported").isFalse(); } @Test @@ -157,11 +143,9 @@ public class GitSkipSslValidationCredentialsProviderTest { this.mockDelegateCredentialsProvider); CredentialItem usernameCredentialItem = new CredentialItem.Username(); - when(this.mockDelegateCredentialsProvider.supports(usernameCredentialItem)) - .thenReturn(true); + when(this.mockDelegateCredentialsProvider.supports(usernameCredentialItem)).thenReturn(true); - boolean supportsItems = this.skipSslValidationCredentialsProvider - .supports(usernameCredentialItem); + boolean supportsItems = this.skipSslValidationCredentialsProvider.supports(usernameCredentialItem); assertThat(supportsItems).as( "GitSkipSslValidationCredentialsProvider must support the types supported by its delegate CredentialsProvider") @@ -174,51 +158,42 @@ public class GitSkipSslValidationCredentialsProviderTest { CredentialItem usernameCredentialItem = new CredentialItem.Username(); CredentialItem passwordCredentialItem = new CredentialItem.Password(); - this.skipSslValidationCredentialsProvider.get(uri, usernameCredentialItem, - passwordCredentialItem); + this.skipSslValidationCredentialsProvider.get(uri, usernameCredentialItem, passwordCredentialItem); } @Test - public void testGetUnrelatedCredentialItemTypesWithDelegate() - throws URISyntaxException { + public void testGetUnrelatedCredentialItemTypesWithDelegate() throws URISyntaxException { this.skipSslValidationCredentialsProvider = new GitSkipSslValidationCredentialsProvider( this.mockDelegateCredentialsProvider); URIish uri = new URIish("https://example.com/repo.git"); CredentialItem usernameCredentialItem = new CredentialItem.Username(); CredentialItem passwordCredentialItem = new CredentialItem.Password(); - when(this.mockDelegateCredentialsProvider.get(uri, usernameCredentialItem, - passwordCredentialItem)).thenReturn(true); + when(this.mockDelegateCredentialsProvider.get(uri, usernameCredentialItem, passwordCredentialItem)) + .thenReturn(true); - boolean getSuccessful = this.skipSslValidationCredentialsProvider.get(uri, - usernameCredentialItem, passwordCredentialItem); + boolean getSuccessful = this.skipSslValidationCredentialsProvider.get(uri, usernameCredentialItem, + passwordCredentialItem); assertThat(getSuccessful).as("GitSkipSslValidationCredentialsProvider " - + "must successfully get the types supported by its delegate CredentialsProvider") - .isTrue(); + + "must successfully get the types supported by its delegate CredentialsProvider").isTrue(); } @Test public void testGetSslTrustItems() throws URISyntaxException { URIish uri = new URIish("https://example.com/repo.git"); - CredentialItem message = new CredentialItem.InformationalMessage( - JGitText.get().sslFailureTrustExplanation); - CredentialItem.YesNoType trustNow = new CredentialItem.YesNoType( - JGitText.get().sslTrustNow); - CredentialItem.YesNoType trustAlways = new CredentialItem.YesNoType( - JGitText.get().sslTrustAlways); + CredentialItem message = new CredentialItem.InformationalMessage(JGitText.get().sslFailureTrustExplanation); + CredentialItem.YesNoType trustNow = new CredentialItem.YesNoType(JGitText.get().sslTrustNow); + CredentialItem.YesNoType trustAlways = new CredentialItem.YesNoType(JGitText.get().sslTrustAlways); - boolean getSuccessful = this.skipSslValidationCredentialsProvider.get(uri, - message, trustNow, trustAlways); + boolean getSuccessful = this.skipSslValidationCredentialsProvider.get(uri, message, trustNow, trustAlways); assertThat(getSuccessful).as( "SkipSSlValidationCredentialsProvider must successfully get the types required for SSL validation skipping") .isTrue(); - assertThat(trustNow.getValue()).as( - "SkipSSlValidationCredentialsProvider should trust the current repo operation") - .isTrue(); - assertThat(trustAlways.getValue()) - .as("We should not globally skip all SSL validation").isFalse(); + assertThat(trustNow.getValue()) + .as("SkipSSlValidationCredentialsProvider should trust the current repo operation").isTrue(); + assertThat(trustAlways.getValue()).as("We should not globally skip all SSL validation").isFalse(); } @Test @@ -232,29 +207,21 @@ public class GitSkipSslValidationCredentialsProviderTest { @Test public void testGetSslTrustItemsWithLocalRepo() throws URISyntaxException { URIish uri = new URIish("https://example.com/repo.git"); - CredentialItem message = new CredentialItem.InformationalMessage( - JGitText.get().sslFailureTrustExplanation); - CredentialItem.YesNoType trustNow = new CredentialItem.YesNoType( - JGitText.get().sslTrustNow); - CredentialItem.YesNoType trustForRepo = new CredentialItem.YesNoType( - JGitText.get().sslTrustForRepo); - CredentialItem.YesNoType trustAlways = new CredentialItem.YesNoType( - JGitText.get().sslTrustAlways); + CredentialItem message = new CredentialItem.InformationalMessage(JGitText.get().sslFailureTrustExplanation); + CredentialItem.YesNoType trustNow = new CredentialItem.YesNoType(JGitText.get().sslTrustNow); + CredentialItem.YesNoType trustForRepo = new CredentialItem.YesNoType(JGitText.get().sslTrustForRepo); + CredentialItem.YesNoType trustAlways = new CredentialItem.YesNoType(JGitText.get().sslTrustAlways); - boolean getSuccessful = this.skipSslValidationCredentialsProvider.get(uri, - message, trustNow, trustForRepo, trustAlways); + boolean getSuccessful = this.skipSslValidationCredentialsProvider.get(uri, message, trustNow, trustForRepo, + trustAlways); assertThat(getSuccessful).as( "SkipSSlValidationCredentialsProvider must successfully get the types required for SSL validation skipping") .isTrue(); - assertThat(trustNow.getValue()).as( - "SkipSSlValidationCredentialsProvider should trust the current repo operation") - .isTrue(); - assertThat(trustForRepo.getValue()) - .as("Future operations on this repository should also be trusted") - .isTrue(); - assertThat(trustAlways.getValue()) - .as("We should not globally skip all SSL validation").isFalse(); + assertThat(trustNow.getValue()) + .as("SkipSSlValidationCredentialsProvider should trust the current repo operation").isTrue(); + assertThat(trustForRepo.getValue()).as("Future operations on this repository should also be trusted").isTrue(); + assertThat(trustAlways.getValue()).as("We should not globally skip all SSL validation").isFalse(); } @Test diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/GoogleCloudSourceSupportTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/GoogleCloudSourceSupportTests.java index 2899cb07..f9b9ba86 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/GoogleCloudSourceSupportTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/GoogleCloudSourceSupportTests.java @@ -79,8 +79,7 @@ public class GoogleCloudSourceSupportTests { @Test public void verifyDoesNothingForSshGCSRepo() throws URISyntaxException { - TransportConfigCallback callback = transportConfigCallbackWith( - createAuthHeaders()); + TransportConfigCallback callback = transportConfigCallbackWith(createAuthHeaders()); TransportHttp transport = mockTransportHttp(SSH_GOOGLE_CLOUD_SOURCE_REPO); callback.configure(transport); @@ -90,8 +89,7 @@ public class GoogleCloudSourceSupportTests { @Test public void verifyDoesNothingForHttpsOtherRepo() throws URISyntaxException { - TransportConfigCallback callback = transportConfigCallbackWith( - createAuthHeaders()); + TransportConfigCallback callback = transportConfigCallbackWith(createAuthHeaders()); TransportHttp transport = mockTransportHttp(HTTPS_OTHER_REPO); callback.configure(transport); @@ -101,8 +99,7 @@ public class GoogleCloudSourceSupportTests { @Test public void verifyDoesNothingForNonHttpTransports() throws URISyntaxException { - TransportConfigCallback callback = transportConfigCallbackWith( - createAuthHeaders()); + TransportConfigCallback callback = transportConfigCallbackWith(createAuthHeaders()); Transport transport = mockSshTransport(SSH_GOOGLE_CLOUD_SOURCE_REPO); callback.configure(transport); @@ -151,11 +148,9 @@ public class GoogleCloudSourceSupportTests { return transport; } - private TransportConfigCallback transportConfigCallbackWith( - Map authHeaders) { + private TransportConfigCallback transportConfigCallbackWith(Map authHeaders) { CredentialsProvider credentialsProvider = () -> authHeaders; - return new GoogleCloudSourceSupport() - .createTransportConfigCallback(credentialsProvider); + return new GoogleCloudSourceSupport().createTransportConfigCallback(credentialsProvider); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/HttpClientSupportTest.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/HttpClientSupportTest.java index cd0d8559..03107fd0 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/HttpClientSupportTest.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/support/HttpClientSupportTest.java @@ -58,11 +58,10 @@ public class HttpClientSupportTest { properties.setTimeout(1); CloseableHttpClient httpClient = HttpClientSupport.builder(properties).build(); - this.expectedException.expect(anyOf(isA(SocketTimeoutException.class), - hasCause(isA(SocketTimeoutException.class)))); + this.expectedException + .expect(anyOf(isA(SocketTimeoutException.class), hasCause(isA(SocketTimeoutException.class)))); - httpClient.execute(new HttpGet(String.format("http://127.0.0.1:%s/test/endpoint", - this.localServerPort))); + httpClient.execute(new HttpGet(String.format("http://127.0.0.1:%s/test/endpoint", this.localServerPort))); } @SpringBootConfiguration diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/test/ConfigServerTestUtils.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/test/ConfigServerTestUtils.java index 3072aed8..abe1c170 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/test/ConfigServerTestUtils.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/test/ConfigServerTestUtils.java @@ -72,8 +72,8 @@ public final class ConfigServerTestUtils { return prepareLocalRepo("./", "target/repos", repoPath, "target/config"); } - public static String prepareLocalRepo(String baseDir, String buildDir, - String repoPath, String checkoutDir) throws IOException { + public static String prepareLocalRepo(String baseDir, String buildDir, String repoPath, String checkoutDir) + throws IOException { buildDir = baseDir + buildDir; new File(buildDir).mkdirs(); if (!repoPath.startsWith("/")) { @@ -106,8 +106,7 @@ public final class ConfigServerTestUtils { return "file:" + buildDir + repoPath; } - public static String prepareLocalSvnRepo(String sourceDir, String checkoutDir) - throws Exception { + public static String prepareLocalSvnRepo(String sourceDir, String checkoutDir) throws Exception { File sourceDirFile = new File(sourceDir); sourceDirFile.mkdirs(); File local = new File(checkoutDir); @@ -135,8 +134,7 @@ public final class ConfigServerTestUtils { return FileSystemUtils.deleteRecursively(dest); } - public static Object getProperty(Environment env, String sourceNameEndsWith, - String property) { + public static Object getProperty(Environment env, String sourceNameEndsWith, String property) { for (PropertySource source : env.getPropertySources()) { if (source.getName().endsWith(sourceNameEndsWith)) { return source.getSource().get(property); @@ -158,8 +156,7 @@ public final class ConfigServerTestUtils { } @SuppressWarnings("unchecked") - public static void assertOriginTrackedValue(Environment environment, int index, - String key, String expectedValue) { + public static void assertOriginTrackedValue(Environment environment, int index, String key, String expectedValue) { Object value = environment.getPropertySources().get(index).getSource().get(key); assertThat(value).isNotNull().isInstanceOf(Map.class); Map map = (Map) value;