Skip to content

Commit 35f1194

Browse files
committed
Merge pull request #26677 from izeye
* pr/26677: Test optional directories without sub-directories Fix "Allow optional directories without sub-directories" Closes gh-26677
2 parents 01dd68e + 3f858ed commit 35f1194

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/config/StandardConfigDataLocationResolver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ private Set<StandardConfigDataResource> resolveNonPatternEmptyDirectories(Standa
267267
private Set<StandardConfigDataResource> resolvePatternEmptyDirectories(StandardConfigDataReference reference) {
268268
Resource[] subdirectories = this.resourceLoader.getResources(reference.getDirectory(), ResourceType.DIRECTORY);
269269
ConfigDataLocation location = reference.getConfigDataLocation();
270-
if (location.isOptional() && ObjectUtils.isEmpty(subdirectories)) {
270+
if (!location.isOptional() && ObjectUtils.isEmpty(subdirectories)) {
271271
String message = String.format("Config data location '%s' contains no subdirectories", location);
272272
throw new ConfigDataLocationNotFoundException(location, message, null);
273273
}

spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/config/ConfigDataEnvironmentPostProcessorIntegrationTests.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,14 @@ void runWhenMandatoryWildcardLocationHasEmptyFileDirectory() {
715715
void runWhenMandatoryWildcardLocationHasNoSubdirectories() {
716716
assertThatExceptionOfType(ConfigDataLocationNotFoundException.class).isThrownBy(
717717
() -> this.application.run("--spring.config.location=file:src/test/resources/config/0-empty/*/"))
718-
.withMessage("Config data location 'file:src/test/resources/config/0-empty/*/' cannot be found");
718+
.withMessage(
719+
"Config data location 'file:src/test/resources/config/0-empty/*/' contains no subdirectories");
720+
}
721+
722+
@Test
723+
void runWhenOptionalWildcardLocationHasNoSubdirectories() {
724+
assertThatNoException().isThrownBy(() -> this.application
725+
.run("--spring.config.location=optional:file:src/test/resources/config/0-empty/*/"));
719726
}
720727

721728
@Test

0 commit comments

Comments
 (0)