From 5a1797ac474193e0fd75a0cdfeb80e03abac0e89 Mon Sep 17 00:00:00 2001 From: Kaveh Shamsi Date: Wed, 3 May 2023 19:33:14 +0200 Subject: [PATCH] Loads the default configuration for application names prefixed with (#2262) --- .../server/environment/NativeEnvironmentRepository.java | 2 +- .../environment/NativeEnvironmentRepositoryTests.java | 9 +++++++++ .../test/dev/applicationxyz/application.properties | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 spring-cloud-config-server/src/test/resources/test/dev/applicationxyz/application.properties 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 07e2382a..7929ef79 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 @@ -219,7 +219,7 @@ public class NativeEnvironmentRepository implements EnvironmentRepository, Searc Map map = new HashMap<>(); map.put("spring.profiles.active", profile); String config = application; - if (!config.startsWith("application")) { + if (!config.equals("application")) { config = "application," + config; } map.put("spring.config.name", config); 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 09932e71..f33b405a 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 @@ -191,6 +191,15 @@ public class NativeEnvironmentRepositoryTests { assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("app"); } + @Test + public void placeholdersApplicationWithPrefixAndProfile() { + this.repository.setSearchLocations("classpath:/test/{profile}/{application}/"); + // gh-2259 application name starts with "application" + Environment environment = this.repository.findOne("applicationxyz", "dev", "master"); + assertThat(environment.getPropertySources().size()).isEqualTo(1); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("default-app"); + } + @Test public void locationPlaceholdersApplication() { this.repository.setSearchLocations("classpath:/test/{application}"); diff --git a/spring-cloud-config-server/src/test/resources/test/dev/applicationxyz/application.properties b/spring-cloud-config-server/src/test/resources/test/dev/applicationxyz/application.properties new file mode 100644 index 00000000..558a6c48 --- /dev/null +++ b/spring-cloud-config-server/src/test/resources/test/dev/applicationxyz/application.properties @@ -0,0 +1 @@ +foo:default-app