27
27
import org .springframework .core .env .StandardEnvironment ;
28
28
29
29
import static org .assertj .core .api .Assertions .assertThat ;
30
+ import static org .junit .jupiter .api .Assertions .*;
30
31
31
32
/**
32
33
* Tests for {@link BeanRegistryAdapter}.
@@ -41,103 +42,103 @@ public class BeanRegistryAdapterTests {
41
42
42
43
@ Test
43
44
void defaultBackgroundInit () {
44
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , DefaultBeanRegistrar .class );
45
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , DefaultBeanRegistrar .class );
45
46
new DefaultBeanRegistrar ().register (adapter , env );
46
47
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition ) this .beanFactory .getBeanDefinition ("foo" );
47
48
assertThat (beanDefinition .isBackgroundInit ()).isFalse ();
48
49
}
49
50
50
51
@ Test
51
52
void enableBackgroundInit () {
52
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , BackgroundInitBeanRegistrar .class );
53
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , BackgroundInitBeanRegistrar .class );
53
54
new BackgroundInitBeanRegistrar ().register (adapter , env );
54
55
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition ) this .beanFactory .getBeanDefinition ("foo" );
55
56
assertThat (beanDefinition .isBackgroundInit ()).isTrue ();
56
57
}
57
58
58
59
@ Test
59
60
void defaultDescription () {
60
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , DefaultBeanRegistrar .class );
61
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , DefaultBeanRegistrar .class );
61
62
new DefaultBeanRegistrar ().register (adapter , env );
62
63
BeanDefinition beanDefinition = this .beanFactory .getBeanDefinition ("foo" );
63
64
assertThat (beanDefinition .getDescription ()).isNull ();
64
65
}
65
66
66
67
@ Test
67
68
void customDescription () {
68
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , CustomDescriptionBeanRegistrar .class );
69
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , CustomDescriptionBeanRegistrar .class );
69
70
new CustomDescriptionBeanRegistrar ().register (adapter , env );
70
71
BeanDefinition beanDefinition = this .beanFactory .getBeanDefinition ("foo" );
71
72
assertThat (beanDefinition .getDescription ()).isEqualTo ("custom" );
72
73
}
73
74
74
75
@ Test
75
76
void defaultFallback () {
76
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , DefaultBeanRegistrar .class );
77
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , DefaultBeanRegistrar .class );
77
78
new DefaultBeanRegistrar ().register (adapter , env );
78
79
BeanDefinition beanDefinition = this .beanFactory .getBeanDefinition ("foo" );
79
80
assertThat (beanDefinition .isFallback ()).isFalse ();
80
81
}
81
82
82
83
@ Test
83
84
void enableFallback () {
84
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , FallbackBeanRegistrar .class );
85
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , FallbackBeanRegistrar .class );
85
86
new FallbackBeanRegistrar ().register (adapter , env );
86
87
BeanDefinition beanDefinition = this .beanFactory .getBeanDefinition ("foo" );
87
88
assertThat (beanDefinition .isFallback ()).isTrue ();
88
89
}
89
90
90
91
@ Test
91
92
void defaultRole () {
92
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , DefaultBeanRegistrar .class );
93
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , DefaultBeanRegistrar .class );
93
94
new DefaultBeanRegistrar ().register (adapter , env );
94
95
BeanDefinition beanDefinition = this .beanFactory .getBeanDefinition ("foo" );
95
96
assertThat (beanDefinition .getRole ()).isEqualTo (AbstractBeanDefinition .ROLE_APPLICATION );
96
97
}
97
98
98
99
@ Test
99
100
void infrastructureRole () {
100
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , InfrastructureBeanRegistrar .class );
101
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , InfrastructureBeanRegistrar .class );
101
102
new InfrastructureBeanRegistrar ().register (adapter , env );
102
103
BeanDefinition beanDefinition = this .beanFactory .getBeanDefinition ("foo" );
103
104
assertThat (beanDefinition .getRole ()).isEqualTo (AbstractBeanDefinition .ROLE_INFRASTRUCTURE );
104
105
}
105
106
106
107
@ Test
107
108
void defaultLazyInit () {
108
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , DefaultBeanRegistrar .class );
109
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , DefaultBeanRegistrar .class );
109
110
new DefaultBeanRegistrar ().register (adapter , env );
110
111
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition ) this .beanFactory .getBeanDefinition ("foo" );
111
112
assertThat (beanDefinition .isLazyInit ()).isFalse ();
112
113
}
113
114
114
115
@ Test
115
116
void enableLazyInit () {
116
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , LazyInitBeanRegistrar .class );
117
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , LazyInitBeanRegistrar .class );
117
118
new LazyInitBeanRegistrar ().register (adapter , env );
118
119
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition ) this .beanFactory .getBeanDefinition ("foo" );
119
120
assertThat (beanDefinition .isLazyInit ()).isTrue ();
120
121
}
121
122
122
123
@ Test
123
124
void defaultAutowirable () {
124
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , DefaultBeanRegistrar .class );
125
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , DefaultBeanRegistrar .class );
125
126
new DefaultBeanRegistrar ().register (adapter , env );
126
127
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition ) this .beanFactory .getBeanDefinition ("foo" );
127
128
assertThat (beanDefinition .isAutowireCandidate ()).isTrue ();
128
129
}
129
130
130
131
@ Test
131
132
void notAutowirable () {
132
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , NotAutowirableBeanRegistrar .class );
133
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , NotAutowirableBeanRegistrar .class );
133
134
new NotAutowirableBeanRegistrar ().register (adapter , env );
134
135
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition ) this .beanFactory .getBeanDefinition ("foo" );
135
136
assertThat (beanDefinition .isAutowireCandidate ()).isFalse ();
136
137
}
137
138
138
139
@ Test
139
140
void defaultOrder () {
140
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , DefaultBeanRegistrar .class );
141
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , DefaultBeanRegistrar .class );
141
142
new DefaultBeanRegistrar ().register (adapter , env );
142
143
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition ) this .beanFactory .getBeanDefinition ("foo" );
143
144
Integer order = (Integer )beanDefinition .getAttribute (AbstractBeanDefinition .ORDER_ATTRIBUTE );
@@ -146,7 +147,7 @@ void defaultOrder() {
146
147
147
148
@ Test
148
149
void customOrder () {
149
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , CustomOrderBeanRegistrar .class );
150
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , CustomOrderBeanRegistrar .class );
150
151
new CustomOrderBeanRegistrar ().register (adapter , env );
151
152
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition ) this .beanFactory .getBeanDefinition ("foo" );
152
153
Integer order = (Integer )beanDefinition .getAttribute (AbstractBeanDefinition .ORDER_ATTRIBUTE );
@@ -155,54 +156,62 @@ void customOrder() {
155
156
156
157
@ Test
157
158
void defaultPrimary () {
158
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , DefaultBeanRegistrar .class );
159
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , DefaultBeanRegistrar .class );
159
160
new DefaultBeanRegistrar ().register (adapter , env );
160
161
BeanDefinition beanDefinition = this .beanFactory .getBeanDefinition ("foo" );
161
162
assertThat (beanDefinition .isPrimary ()).isFalse ();
162
163
}
163
164
164
165
@ Test
165
166
void enablePrimary () {
166
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , PrimaryBeanRegistrar .class );
167
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , PrimaryBeanRegistrar .class );
167
168
new PrimaryBeanRegistrar ().register (adapter , env );
168
169
BeanDefinition beanDefinition = this .beanFactory .getBeanDefinition ("foo" );
169
170
assertThat (beanDefinition .isPrimary ()).isTrue ();
170
171
}
171
172
172
173
@ Test
173
174
void defaultScope () {
174
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , DefaultBeanRegistrar .class );
175
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , DefaultBeanRegistrar .class );
175
176
new DefaultBeanRegistrar ().register (adapter , env );
176
177
BeanDefinition beanDefinition = this .beanFactory .getBeanDefinition ("foo" );
177
178
assertThat (beanDefinition .getScope ()).isEqualTo (AbstractBeanDefinition .SCOPE_DEFAULT );
178
179
}
179
180
180
181
@ Test
181
182
void prototypeScope () {
182
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , PrototypeBeanRegistrar .class );
183
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , PrototypeBeanRegistrar .class );
183
184
new PrototypeBeanRegistrar ().register (adapter , env );
184
185
BeanDefinition beanDefinition = this .beanFactory .getBeanDefinition ("foo" );
185
186
assertThat (beanDefinition .getScope ()).isEqualTo (AbstractBeanDefinition .SCOPE_PROTOTYPE );
186
187
}
187
188
188
189
@ Test
189
190
void defaultSupplier () {
190
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , DefaultBeanRegistrar .class );
191
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , DefaultBeanRegistrar .class );
191
192
new DefaultBeanRegistrar ().register (adapter , env );
192
193
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition )this .beanFactory .getBeanDefinition ("foo" );
193
194
assertThat (beanDefinition .getInstanceSupplier ()).isNull ();
194
195
}
195
196
196
197
@ Test
197
198
void customSupplier () {
198
- BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , SupplierBeanRegistrar .class );
199
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this . env , SupplierBeanRegistrar .class );
199
200
new SupplierBeanRegistrar ().register (adapter , env );
200
201
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition )this .beanFactory .getBeanDefinition ("foo" );
201
202
Supplier <?> supplier = beanDefinition .getInstanceSupplier ();
202
203
assertThat (supplier ).isNotNull ();
203
204
assertThat (supplier .get ()).isNotNull ().isInstanceOf (Foo .class );
204
205
}
205
206
207
+ @ Test
208
+ void registerViaAnotherRegistrar () {
209
+ BeanRegistryAdapter adapter = new BeanRegistryAdapter (this .beanFactory , this .beanFactory , this .env , DefaultBeanRegistrar .class );
210
+ BeanRegistrar registrar = (registry , env ) -> registry .register (new DefaultBeanRegistrar ());
211
+ registrar .register (adapter , env );
212
+ assertThat (this .beanFactory .getBeanDefinition ("foo" )).isNotNull ();
213
+ }
214
+
206
215
207
216
private static class DefaultBeanRegistrar implements BeanRegistrar {
208
217
0 commit comments