Skip to content

Commit

Permalink
Merge branch '2.4.x'
Browse files Browse the repository at this point in the history
Closes gh-26754
  • Loading branch information
philwebb committed Jun 4, 2021
2 parents 75f31f6 + d1b256a commit 3c7a0d3
Show file tree
Hide file tree
Showing 13 changed files with 33 additions and 8 deletions.
Expand Up @@ -136,6 +136,9 @@ private Set<StandardConfigDataReference> getReferences(ConfigDataLocationResolve
@Override
public List<StandardConfigDataResource> resolveProfileSpecific(ConfigDataLocationResolverContext context,
ConfigDataLocation location, Profiles profiles) {
if (context.getParent() != null) {
return null;
}
return resolve(getProfileSpecificReferences(context, location, profiles));
}

Expand Down
Expand Up @@ -614,15 +614,17 @@ void runWhenImportWithProfileVariantOrdersPropertySourcesCorrectly() {
this.application.setAdditionalProfiles("dev");
ConfigurableApplicationContext context = this.application
.run("--spring.config.location=classpath:application-import-with-profile-variant.properties");
assertThat(context.getEnvironment().getProperty("my.value")).isEqualTo("iwasimported-dev");
assertThat(context.getEnvironment().getProperty("my.value"))
.isEqualTo("application-import-with-profile-variant-dev");
}

@Test
void runWhenImportWithProfileVariantAndDirectProfileImportOrdersPropertySourcesCorrectly() {
this.application.setAdditionalProfiles("dev");
ConfigurableApplicationContext context = this.application.run(
"--spring.config.location=classpath:application-import-with-profile-variant-and-direct-profile-import.properties");
assertThat(context.getEnvironment().getProperty("my.value")).isEqualTo("iwasimported-dev");
assertThat(context.getEnvironment().getProperty("my.value"))
.isEqualTo("application-import-with-profile-variant-imported-dev");
}

@Test
Expand Down Expand Up @@ -746,6 +748,19 @@ void runWhenHasProfileSpecificFileWithActiveOnProfileProperty() {
assertThat(environment.getProperty("test2")).isEqualTo("test2");
}

@Test // gh-26752
void runWhenHasProfileSpecificImportWithImportDoesNotImportSecondProfileSpecificFile() {
ConfigurableApplicationContext context = this.application
.run("--spring.config.name=application-profile-specific-import-with-import");
ConfigurableEnvironment environment = context.getEnvironment();
assertThat(environment.containsProperty("application-profile-specific-import-with-import")).isTrue();
assertThat(environment.containsProperty("application-profile-specific-import-with-import-p1")).isTrue();
assertThat(environment.containsProperty("application-profile-specific-import-with-import-p2")).isFalse();
assertThat(environment.containsProperty("application-profile-specific-import-with-import-import")).isTrue();
assertThat(environment.containsProperty("application-profile-specific-import-with-import-import-p1")).isFalse();
assertThat(environment.containsProperty("application-profile-specific-import-with-import-import-p2")).isFalse();
}

private Condition<ConfigurableEnvironment> matchingPropertySource(final String sourceName) {
return new Condition<ConfigurableEnvironment>("environment containing property source " + sourceName) {

Expand Down
@@ -1,2 +1,2 @@
spring.config.import=classpath:application-import-with-profile-variant-imported-dev.properties
my.value=notimported-dev
my.value=application-import-with-profile-variant-and-direct-profile-import-dev
@@ -1,2 +1,2 @@
spring.config.import=classpath:application-import-with-profile-variant-imported.properties
my.value=notimported
my.value=application-import-with-profile-variant-and-direct-profile-import
@@ -1 +1 @@
my.value=notimported-dev
my.value=application-import-with-profile-variant-dev
@@ -1 +1 @@
my.value=iwasimported-dev
my.value=application-import-with-profile-variant-imported-dev
@@ -1 +1 @@
my.value=iwasimported
my.value=application-import-with-profile-variant-imported
@@ -1,2 +1,2 @@
spring.config.import=classpath:application-import-with-profile-variant-imported.properties
my.value=notimported
my.value=application-import-with-profile-variant
@@ -0,0 +1 @@
application-profile-specific-import-with-import-import-p1=true
@@ -0,0 +1 @@
application-profile-specific-import-with-import-import-p2=true
@@ -0,0 +1 @@
application-profile-specific-import-with-import-import=true
@@ -0,0 +1,2 @@
application-profile-specific-import-with-import-p1=true
spring.config.import=application-profile-specific-import-with-import-import.properties
@@ -0,0 +1,2 @@
spring.profiles.active=p1,p2
application-profile-specific-import-with-import=true

0 comments on commit 3c7a0d3

Please sign in to comment.