From e645c802157caa88a8ed50ecb9067335f0c7522f Mon Sep 17 00:00:00 2001 From: spencergibb Date: Wed, 26 May 2021 11:32:00 -0400 Subject: [PATCH] Adds tests for retry properties in import url. See gh-1797 --- ...ServerConfigDataLocationResolverTests.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) 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 03cfe619..ce833496 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 @@ -118,6 +118,44 @@ public class ConfigServerConfigDataLocationResolverTests { assertThat(resource.getRetryProperties().getMultiplier()).isEqualTo(defaultRetry.getMultiplier()); } + @Test + void uriInLocationOverridesProperty() { + String locationUri = "http://actualuri"; + ConfigServerConfigDataResource resource = testUri("http://shouldbeoverridden", locationUri); + assertThat(resource.getProperties().getUri()).containsExactly(locationUri); + } + + @Test + void uriWithParamsParsesProperties() { + String locationUri = "http://actualuri"; + ConfigServerConfigDataResource resource = testUri("http://shouldbeoverridden", + locationUri + "?fail-fast=true&max-attempts=10&max-interval=1500&multiplier=1.2&initial-interval=1100"); + assertThat(resource.getProperties().getUri()).containsExactly(locationUri); + assertThat(resource.getProperties().isFailFast()).isTrue(); + assertThat(resource.getRetryProperties().getMaxAttempts()).isEqualTo(10); + assertThat(resource.getRetryProperties().getMaxInterval()).isEqualTo(1500); + assertThat(resource.getRetryProperties().getInitialInterval()).isEqualTo(1100); + assertThat(resource.getRetryProperties().getMultiplier()).isEqualTo(1.2); + } + + @Test + void urisInLocationOverridesProperty() { + String locationUri = "http://actualuri1,http://actualuri2"; + ConfigServerConfigDataResource resource = testUri("http://shouldbeoverridden", locationUri); + assertThat(resource.getProperties().getUri()).containsExactly(locationUri.split(",")); + } + + private ConfigServerConfigDataResource testUri(String propertyUri, String locationUri) { + this.environment.setProperty(ConfigClientProperties.PREFIX + ".uri", propertyUri); + when(context.getBootstrapContext()).thenReturn(mock(ConfigurableBootstrapContext.class)); + Profiles profiles = mock(Profiles.class); + List resources = this.resolver.resolveProfileSpecific(context, + ConfigDataLocation.of("configserver:" + locationUri), profiles); + assertThat(resources).hasSize(1); + ConfigServerConfigDataResource resource = resources.get(0); + return resource; + } + private ConfigServerConfigDataResource testResolveProvileSpecific() { return testResolveProvileSpecific("default"); }