18
18
19
19
import java .util .ArrayList ;
20
20
import java .util .Collections ;
21
- import java .util .LinkedHashMap ;
22
21
import java .util .List ;
23
22
import java .util .Map ;
24
23
import java .util .function .BiConsumer ;
46
45
import org .springframework .javapoet .CodeBlock ;
47
46
import org .springframework .javapoet .MethodSpec ;
48
47
import org .springframework .javapoet .ParameterizedTypeName ;
49
- import org .springframework .util .LinkedMultiValueMap ;
50
- import org .springframework .util .MultiValueMap ;
51
48
52
49
import static org .assertj .core .api .Assertions .assertThat ;
50
+ import static org .springframework .beans .factory .aot .BeanRegistrationsAotContribution .Registration ;
53
51
54
52
/**
55
53
* Tests for {@link BeanRegistrationsAotContribution}.
56
54
*
57
55
* @author Phillip Webb
58
56
* @author Sebastien Deleuze
57
+ * @author Stephane Nicoll
59
58
*/
60
59
class BeanRegistrationsAotContributionTests {
61
60
@@ -80,15 +79,12 @@ class BeanRegistrationsAotContributionTests {
80
79
81
80
@ Test
82
81
void applyToAppliesContribution () {
83
- Map <String , BeanDefinitionMethodGenerator > registrations = new LinkedHashMap <>();
84
82
RegisteredBean registeredBean = registerBean (
85
83
new RootBeanDefinition (TestBean .class ));
86
84
BeanDefinitionMethodGenerator generator = new BeanDefinitionMethodGenerator (
87
85
this .methodGeneratorFactory , registeredBean , null ,
88
86
Collections .emptyList ());
89
- registrations .put ("testBean" , generator );
90
- BeanRegistrationsAotContribution contribution = new BeanRegistrationsAotContribution (
91
- registrations , new LinkedMultiValueMap <>());
87
+ BeanRegistrationsAotContribution contribution = createContribution (generator );
92
88
contribution .applyTo (this .generationContext , this .beanFactoryInitializationCode );
93
89
compile ((consumer , compiled ) -> {
94
90
DefaultListableBeanFactory freshBeanFactory = new DefaultListableBeanFactory ();
@@ -99,17 +95,12 @@ void applyToAppliesContribution() {
99
95
100
96
@ Test
101
97
void applyToAppliesContributionWithAliases () {
102
- Map <String , BeanDefinitionMethodGenerator > registrations = new LinkedHashMap <>();
103
98
RegisteredBean registeredBean = registerBean (
104
99
new RootBeanDefinition (TestBean .class ));
105
100
BeanDefinitionMethodGenerator generator = new BeanDefinitionMethodGenerator (
106
101
this .methodGeneratorFactory , registeredBean , null ,
107
102
Collections .emptyList ());
108
- registrations .put ("testBean" , generator );
109
- MultiValueMap <String , String > aliases = new LinkedMultiValueMap <>();
110
- aliases .add ("testBean" , "testAlias" );
111
- BeanRegistrationsAotContribution contribution = new BeanRegistrationsAotContribution (
112
- registrations , aliases );
103
+ BeanRegistrationsAotContribution contribution = createContribution (generator , "testAlias" );
113
104
contribution .applyTo (this .generationContext , this .beanFactoryInitializationCode );
114
105
compile ((consumer , compiled ) -> {
115
106
DefaultListableBeanFactory freshBeanFactory = new DefaultListableBeanFactory ();
@@ -123,15 +114,12 @@ void applyToWhenHasNameGeneratesPrefixedFeatureName() {
123
114
this .generationContext = new TestGenerationContext (
124
115
new ClassNameGenerator (TestGenerationContext .TEST_TARGET , "Management" ));
125
116
this .beanFactoryInitializationCode = new MockBeanFactoryInitializationCode (this .generationContext );
126
- Map <String , BeanDefinitionMethodGenerator > registrations = new LinkedHashMap <>();
127
117
RegisteredBean registeredBean = registerBean (
128
118
new RootBeanDefinition (TestBean .class ));
129
119
BeanDefinitionMethodGenerator generator = new BeanDefinitionMethodGenerator (
130
120
this .methodGeneratorFactory , registeredBean , null ,
131
121
Collections .emptyList ());
132
- registrations .put ("testBean" , generator );
133
- BeanRegistrationsAotContribution contribution = new BeanRegistrationsAotContribution (
134
- registrations , new LinkedMultiValueMap <>());
122
+ BeanRegistrationsAotContribution contribution = createContribution (generator );
135
123
contribution .applyTo (this .generationContext , this .beanFactoryInitializationCode );
136
124
compile ((consumer , compiled ) -> {
137
125
SourceFile sourceFile = compiled .getSourceFile (".*BeanDefinitions" );
@@ -142,7 +130,6 @@ void applyToWhenHasNameGeneratesPrefixedFeatureName() {
142
130
@ Test
143
131
void applyToCallsRegistrationsWithBeanRegistrationsCode () {
144
132
List <BeanRegistrationsCode > beanRegistrationsCodes = new ArrayList <>();
145
- Map <String , BeanDefinitionMethodGenerator > registrations = new LinkedHashMap <>();
146
133
RegisteredBean registeredBean = registerBean (
147
134
new RootBeanDefinition (TestBean .class ));
148
135
BeanDefinitionMethodGenerator generator = new BeanDefinitionMethodGenerator (
@@ -159,9 +146,7 @@ MethodReference generateBeanDefinitionMethod(
159
146
}
160
147
161
148
};
162
- registrations .put ("testBean" , generator );
163
- BeanRegistrationsAotContribution contribution = new BeanRegistrationsAotContribution (
164
- registrations , new LinkedMultiValueMap <>());
149
+ BeanRegistrationsAotContribution contribution = createContribution (generator );
165
150
contribution .applyTo (this .generationContext , this .beanFactoryInitializationCode );
166
151
assertThat (beanRegistrationsCodes ).hasSize (1 );
167
152
BeanRegistrationsCode actual = beanRegistrationsCodes .get (0 );
@@ -199,4 +184,9 @@ private void compile(
199
184
result .accept (compiled .getInstance (Consumer .class ), compiled ));
200
185
}
201
186
187
+ private BeanRegistrationsAotContribution createContribution (
188
+ BeanDefinitionMethodGenerator methodGenerator ,String ... aliases ) {
189
+ return new BeanRegistrationsAotContribution (Map .of ("testBean" , new Registration (methodGenerator , aliases )));
190
+ }
191
+
202
192
}
0 commit comments