diff --git a/spring-boot-modules/spring-boot-properties/src/test/java/com/baeldung/properties/additionalproperties/AdditionalPropertiesFilesIntegrationTest.java b/spring-boot-modules/spring-boot-properties/src/test/java/com/baeldung/properties/additionalproperties/AdditionalPropertiesFilesIntegrationTest.java new file mode 100644 index 0000000000..0f1f4e0b13 --- /dev/null +++ b/spring-boot-modules/spring-boot-properties/src/test/java/com/baeldung/properties/additionalproperties/AdditionalPropertiesFilesIntegrationTest.java @@ -0,0 +1,29 @@ +package com.baeldung.properties.additionalproperties; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; + +@ActiveProfiles("default") +@SpringBootTest(classes = { AdditionalPropertiesTestConfig.class }) +public class AdditionalPropertiesFilesIntegrationTest { + + Logger logger = LoggerFactory.getLogger(AdditionalPropertiesFilesIntegrationTest.class); + + @Value("${baeldung.additionalProperty}") + private String additionalProperty; + + @Value("${baeldung.otherProperty}") + private String otherProperty; + + @Test + public void givenMultidocumentPropertiesFileWhenBootContextLoadedThenDocumentProcessedCorrectly() { + assertThat(additionalProperty).isEqualTo("additionalValue2"); + assertThat(otherProperty).isEqualTo("latterValue"); + } +} diff --git a/spring-boot-modules/spring-boot-properties/src/test/java/com/baeldung/properties/additionalproperties/AdditionalPropertiesTestConfig.java b/spring-boot-modules/spring-boot-properties/src/test/java/com/baeldung/properties/additionalproperties/AdditionalPropertiesTestConfig.java new file mode 100644 index 0000000000..9b3483a6c1 --- /dev/null +++ b/spring-boot-modules/spring-boot-properties/src/test/java/com/baeldung/properties/additionalproperties/AdditionalPropertiesTestConfig.java @@ -0,0 +1,10 @@ +package com.baeldung.properties.additionalproperties; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ComponentScan("com.baeldung.properties.additionalproperties") +public class AdditionalPropertiesTestConfig { + +} diff --git a/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application b/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application new file mode 100644 index 0000000000..46f3c2b1a3 --- /dev/null +++ b/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application @@ -0,0 +1,7 @@ +baeldung: + additionalProperty: additionalValue + otherProperty: otherValue + +spring: + config: + import: classpath:additional-application2.properties \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application-properties/application.properties b/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application-properties/application.properties new file mode 100644 index 0000000000..b547d16eff --- /dev/null +++ b/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application-properties/application.properties @@ -0,0 +1 @@ +baeldung.otherProperty=latterValue diff --git a/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application.properties b/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application.properties new file mode 100644 index 0000000000..2edbe692de --- /dev/null +++ b/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application.properties @@ -0,0 +1,5 @@ +spring.config.activate.on-profile=test +baeldung.customProperty=valueTest +#--- +spring.config.activate.on-profile=prod +baeldung.customProperty=valueProd \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application2.properties b/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application2.properties new file mode 100644 index 0000000000..c6cb95ec5b --- /dev/null +++ b/spring-boot-modules/spring-boot-properties/src/test/resources/additional-application2.properties @@ -0,0 +1 @@ +baeldung.additionalProperty=additionalValue2 \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-properties/src/test/resources/application.properties b/spring-boot-modules/spring-boot-properties/src/test/resources/application.properties index c3a98b3da4..3f6c678b97 100644 --- a/spring-boot-modules/spring-boot-properties/src/test/resources/application.properties +++ b/spring-boot-modules/spring-boot-properties/src/test/resources/application.properties @@ -2,14 +2,10 @@ management.endpoints.web.exposure.include=refresh spring.properties.refreshDelay=1000 spring.config.location=file:extra.properties spring.main.allow-bean-definition-overriding=true +spring.config.import=classpath:additional-application.properties,classpath:additional-application[.yml],optional:file:./external.properties,classpath:additional-application-properties/ baeldung.customProperty=valueDefault #--- spring.config.activate.on-profile=dev baeldung.customProperty=valueDev -#--- -spring.config.activate.on-profile=test -baeldung.customProperty=valueTest -#--- -spring.config.activate.on-profile=prod -baeldung.customProperty=valueProd +