Polish "Detect use of spring.profiles.include as a YAML list"

See gh-26205
pull/26691/head
Andy Wilkinson 4 years ago
parent 80ad6385f1
commit 4eab9476a6

@ -47,7 +47,6 @@ import org.springframework.mock.env.MockPropertySource;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.assertj.core.api.Assertions.assertThatNoException;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
/** /**
@ -221,7 +220,7 @@ class ConfigDataEnvironmentTests {
@ParameterizedTest @ParameterizedTest
@CsvSource({ "include", "include[0]" }) @CsvSource({ "include", "include[0]" })
void processAndApplyThrowExceptionWhenActivateProfileWithProfileInclude(String property, TestInfo info) { void processAndApplyWhenHasProfileIncludeInProfileSpecificDocumentThrowsException(String property, TestInfo info) {
this.environment.setProperty("spring.config.location", getConfigLocation(info)); this.environment.setProperty("spring.config.location", getConfigLocation(info));
ConfigDataEnvironment configDataEnvironment = new ConfigDataEnvironment(this.logFactory, this.bootstrapContext, ConfigDataEnvironment configDataEnvironment = new ConfigDataEnvironment(this.logFactory, this.bootstrapContext,
this.environment, this.resourceLoader, this.additionalProfiles, null) { this.environment, this.resourceLoader, this.additionalProfiles, null) {
@ -237,16 +236,15 @@ class ConfigDataEnvironmentTests {
mock(ConfigDataResource.class), false, data, 0)); mock(ConfigDataResource.class), false, data, 0));
return super.createContributors(contributors); return super.createContributors(contributors);
} }
};
};
assertThatExceptionOfType(InactiveConfigDataAccessException.class) assertThatExceptionOfType(InactiveConfigDataAccessException.class)
.isThrownBy(configDataEnvironment::processAndApply); .isThrownBy(configDataEnvironment::processAndApply);
} }
@ParameterizedTest @ParameterizedTest
@CsvSource({ "spring.config.activate.on-profile", "spring.profiles.include", "spring.profiles.include[0]" }) @CsvSource({ "spring.profiles.include", "spring.profiles.include[0]" })
void processAndApplyDoseNotThrowExceptionWhenUsingEitherActivateProfileOrProfileInclude(String property, void processAndApplyIncludesProfilesFromSpringProfilesInclude(String property, TestInfo info) {
TestInfo info) {
this.environment.setProperty("spring.config.location", getConfigLocation(info)); this.environment.setProperty("spring.config.location", getConfigLocation(info));
ConfigDataEnvironment configDataEnvironment = new ConfigDataEnvironment(this.logFactory, this.bootstrapContext, ConfigDataEnvironment configDataEnvironment = new ConfigDataEnvironment(this.logFactory, this.bootstrapContext,
this.environment, this.resourceLoader, this.additionalProfiles, null) { this.environment, this.resourceLoader, this.additionalProfiles, null) {
@ -255,15 +253,16 @@ class ConfigDataEnvironmentTests {
protected ConfigDataEnvironmentContributors createContributors( protected ConfigDataEnvironmentContributors createContributors(
List<ConfigDataEnvironmentContributor> contributors) { List<ConfigDataEnvironmentContributor> contributors) {
Map<String, Object> source = new LinkedHashMap<>(); Map<String, Object> source = new LinkedHashMap<>();
source.put(property, "only"); source.put(property, "included");
ConfigData data = new ConfigData(Collections.singleton(new MapPropertySource("test", source))); ConfigData data = new ConfigData(Collections.singleton(new MapPropertySource("test", source)));
contributors.add(ConfigDataEnvironmentContributor.ofUnboundImport(ConfigDataLocation.of("test"), contributors.add(ConfigDataEnvironmentContributor.ofUnboundImport(ConfigDataLocation.of("test"),
mock(ConfigDataResource.class), false, data, 0)); mock(ConfigDataResource.class), false, data, 0));
return super.createContributors(contributors); return super.createContributors(contributors);
} }
};
assertThatNoException().isThrownBy(configDataEnvironment::processAndApply); };
configDataEnvironment.processAndApply();
assertThat(this.environment.getActiveProfiles()).containsExactly("included");
} }
@Test @Test

Loading…
Cancel
Save