Polishing

This commit is contained in:
Sam Brannen 2022-08-06 14:42:19 +03:00
parent 7d364bba72
commit 1e8bc1b0fb
1 changed files with 9 additions and 19 deletions

View File

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