Merge branch '2.3.x' into 2.4.x
Closes gh-25863
This commit is contained in:
@@ -26,6 +26,7 @@ import javax.validation.constraints.Size;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.beans.factory.BeanFactoryUtils;
|
||||
import org.springframework.beans.factory.config.BeanPostProcessor;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
@@ -129,6 +130,37 @@ class ValidationAutoConfigurationTests {
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenUserProvidesSpringValidatorInParentContextThenAutoConfiguredValidatorIsPrimary() {
|
||||
new ApplicationContextRunner().withUserConfiguration(UserDefinedSpringValidatorConfig.class).run((parent) -> {
|
||||
this.contextRunner.withParent(parent).run((context) -> {
|
||||
assertThat(context.getBeanNamesForType(Validator.class)).containsExactly("defaultValidator");
|
||||
assertThat(context.getBeanNamesForType(org.springframework.validation.Validator.class))
|
||||
.containsExactly("defaultValidator");
|
||||
assertThat(BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context.getBeanFactory(),
|
||||
org.springframework.validation.Validator.class)).containsExactly("defaultValidator",
|
||||
"customValidator", "anotherCustomValidator");
|
||||
assertThat(isPrimaryBean(context, "defaultValidator")).isTrue();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenUserProvidesPrimarySpringValidatorInParentContextThenAutoConfiguredValidatorIsPrimary() {
|
||||
new ApplicationContextRunner().withUserConfiguration(UserDefinedPrimarySpringValidatorConfig.class)
|
||||
.run((parent) -> {
|
||||
this.contextRunner.withParent(parent).run((context) -> {
|
||||
assertThat(context.getBeanNamesForType(Validator.class)).containsExactly("defaultValidator");
|
||||
assertThat(context.getBeanNamesForType(org.springframework.validation.Validator.class))
|
||||
.containsExactly("defaultValidator");
|
||||
assertThat(BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context.getBeanFactory(),
|
||||
org.springframework.validation.Validator.class)).containsExactly("defaultValidator",
|
||||
"customValidator", "anotherCustomValidator");
|
||||
assertThat(isPrimaryBean(context, "defaultValidator")).isTrue();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void validationIsEnabled() {
|
||||
this.contextRunner.withUserConfiguration(SampleService.class).run((context) -> {
|
||||
|
||||
Reference in New Issue
Block a user