Browse Source

Polishing

pull/28937/head
Sam Brannen 4 years ago
parent
commit
1e8bc1b0fb
  1. 28
      spring-context/src/test/java/org/springframework/context/annotation/ConfigurationClassPostProcessorAotContributionTests.java

28
spring-context/src/test/java/org/springframework/context/annotation/ConfigurationClassPostProcessorAotContributionTests.java

@ -63,16 +63,12 @@ import static org.assertj.core.api.Assertions.entry;
*/ */
class ConfigurationClassPostProcessorAotContributionTests { class ConfigurationClassPostProcessorAotContributionTests {
private final TestGenerationContext generationContext; private final TestGenerationContext generationContext = new TestGenerationContext();
private final MockBeanFactoryInitializationCode beanFactoryInitializationCode; private final MockBeanFactoryInitializationCode beanFactoryInitializationCode =
new MockBeanFactoryInitializationCode(this.generationContext);
ConfigurationClassPostProcessorAotContributionTests() {
this.generationContext = new TestGenerationContext();
this.beanFactoryInitializationCode = new MockBeanFactoryInitializationCode(this.generationContext);
}
@Test @Test
void processAheadOfTimeWhenNoImportAwareConfigurationReturnsNull() { void processAheadOfTimeWhenNoImportAwareConfigurationReturnsNull() {
assertThat(getContribution(SimpleConfiguration.class)).isNull(); assertThat(getContribution(SimpleConfiguration.class)).isNull();
@ -80,8 +76,7 @@ class ConfigurationClassPostProcessorAotContributionTests {
@Test @Test
void applyToWhenHasImportAwareConfigurationRegistersBeanPostProcessorWithMapEntry() { void applyToWhenHasImportAwareConfigurationRegistersBeanPostProcessorWithMapEntry() {
BeanFactoryInitializationAotContribution contribution = getContribution( BeanFactoryInitializationAotContribution contribution = getContribution(ImportConfiguration.class);
ImportConfiguration.class);
contribution.applyTo(this.generationContext, this.beanFactoryInitializationCode); contribution.applyTo(this.generationContext, this.beanFactoryInitializationCode);
compile((initializer, compiled) -> { compile((initializer, compiled) -> {
GenericApplicationContext freshContext = new GenericApplicationContext(); GenericApplicationContext freshContext = new GenericApplicationContext();
@ -97,8 +92,7 @@ class ConfigurationClassPostProcessorAotContributionTests {
@Test @Test
void applyToWhenHasImportAwareConfigurationRegistersBeanPostProcessorAfterApplicationContextAwareProcessor() { void applyToWhenHasImportAwareConfigurationRegistersBeanPostProcessorAfterApplicationContextAwareProcessor() {
BeanFactoryInitializationAotContribution contribution = getContribution( BeanFactoryInitializationAotContribution contribution = getContribution(TestAwareCallbackConfiguration.class);
TestAwareCallbackConfiguration.class);
contribution.applyTo(this.generationContext, this.beanFactoryInitializationCode); contribution.applyTo(this.generationContext, this.beanFactoryInitializationCode);
compile((initializer, compiled) -> { compile((initializer, compiled) -> {
GenericApplicationContext freshContext = new GenericApplicationContext(); GenericApplicationContext freshContext = new GenericApplicationContext();
@ -139,8 +133,7 @@ class ConfigurationClassPostProcessorAotContributionTests {
@Test @Test
void applyToWhenHasImportAwareConfigurationRegistersHints() { void applyToWhenHasImportAwareConfigurationRegistersHints() {
BeanFactoryInitializationAotContribution contribution = getContribution( BeanFactoryInitializationAotContribution contribution = getContribution(ImportConfiguration.class);
ImportConfiguration.class);
contribution.applyTo(this.generationContext, this.beanFactoryInitializationCode); contribution.applyTo(this.generationContext, this.beanFactoryInitializationCode);
assertThat(generationContext.getRuntimeHints().resources().resourcePatterns()) assertThat(generationContext.getRuntimeHints().resources().resourcePatterns())
.singleElement() .singleElement()
@ -159,8 +152,7 @@ class ConfigurationClassPostProcessorAotContributionTests {
return postProcessor.processAheadOfTime(beanFactory); return postProcessor.processAheadOfTime(beanFactory);
} }
private void assertPostProcessorEntry(BeanPostProcessor postProcessor, private void assertPostProcessorEntry(BeanPostProcessor postProcessor, Class<?> key, Class<?> value) {
Class<?> key, Class<?> value) {
assertThat(postProcessor).extracting("importsMapping") assertThat(postProcessor).extracting("importsMapping")
.asInstanceOf(InstanceOfAssertFactories.MAP) .asInstanceOf(InstanceOfAssertFactories.MAP)
.containsExactly(entry(key.getName(), value.getName())); .containsExactly(entry(key.getName(), value.getName()));
@ -168,8 +160,7 @@ class ConfigurationClassPostProcessorAotContributionTests {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private void compile(BiConsumer<Consumer<DefaultListableBeanFactory>, Compiled> result) { private void compile(BiConsumer<Consumer<DefaultListableBeanFactory>, Compiled> result) {
MethodReference methodReference = this.beanFactoryInitializationCode MethodReference methodReference = this.beanFactoryInitializationCode.getInitializers().get(0);
.getInitializers().get(0);
this.beanFactoryInitializationCode.getTypeBuilder().set(type -> { this.beanFactoryInitializationCode.getTypeBuilder().set(type -> {
type.addModifiers(Modifier.PUBLIC); type.addModifiers(Modifier.PUBLIC);
type.addSuperinterface(ParameterizedTypeName.get(Consumer.class, DefaultListableBeanFactory.class)); type.addSuperinterface(ParameterizedTypeName.get(Consumer.class, DefaultListableBeanFactory.class));
@ -183,10 +174,10 @@ class ConfigurationClassPostProcessorAotContributionTests {
result.accept(compiled.getInstance(Consumer.class), compiled)); result.accept(compiled.getInstance(Consumer.class), compiled));
} }
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
@Import(TestAwareCallbackBean.class) @Import(TestAwareCallbackBean.class)
static class TestAwareCallbackConfiguration { static class TestAwareCallbackConfiguration {
} }
static class TestAwareCallbackBean implements ImportAware, ApplicationContextAware { static class TestAwareCallbackBean implements ImportAware, ApplicationContextAware {
@ -208,7 +199,6 @@ class ConfigurationClassPostProcessorAotContributionTests {
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
@Import(TestImportAwareBeanPostProcessor.class) @Import(TestImportAwareBeanPostProcessor.class)
static class TestImportAwareBeanPostProcessorConfiguration { static class TestImportAwareBeanPostProcessorConfiguration {
} }
static class TestImportAwareBeanPostProcessor implements BeanPostProcessor, ImportAware, static class TestImportAwareBeanPostProcessor implements BeanPostProcessor, ImportAware,

Loading…
Cancel
Save