26
26
27
27
import org .springframework .boot .autoconfigure .AutoConfigurations ;
28
28
import org .springframework .boot .autoconfigure .web .ServerProperties ;
29
- import org .springframework .boot .autoconfigure .web .servlet .ServletWebServerFactoryAutoConfiguration ;
30
29
import org .springframework .boot .context .properties .EnableConfigurationProperties ;
31
30
import org .springframework .boot .test .context .runner .WebApplicationContextRunner ;
32
31
import org .springframework .boot .web .servlet .FilterRegistrationBean ;
33
- import org .springframework .boot .web .servlet .context .AnnotationConfigServletWebServerApplicationContext ;
34
32
import org .springframework .context .annotation .Bean ;
35
33
import org .springframework .context .annotation .Configuration ;
36
34
import org .springframework .session .MapSessionRepository ;
@@ -168,29 +166,7 @@ public void filterDispatcherTypesCanBeCustomized() {
168
166
}
169
167
170
168
@ Test
171
- public void sessionCookieConfigurationIsPickedUp () {
172
- WebApplicationContextRunner webRunner = new WebApplicationContextRunner (
173
- AnnotationConfigServletWebServerApplicationContext ::new )
174
- .withConfiguration (AutoConfigurations
175
- .of (ServletWebServerFactoryAutoConfiguration .class ))
176
- .withUserConfiguration (SessionRepositoryConfiguration .class )
177
- .withPropertyValues ("server.port=0" ,
178
- "server.servlet.session.cookie.name=testname" );
179
- webRunner .run ((context ) -> {
180
- SessionRepositoryFilter <?> filter = context
181
- .getBean (SessionRepositoryFilter .class );
182
- CookieHttpSessionIdResolver sessionIdResolver = (CookieHttpSessionIdResolver ) ReflectionTestUtils
183
- .getField (filter , "httpSessionIdResolver" );
184
- DefaultCookieSerializer cookieSerializer = (DefaultCookieSerializer ) ReflectionTestUtils
185
- .getField (sessionIdResolver , "cookieSerializer" );
186
- String cookieName = (String ) ReflectionTestUtils .getField (cookieSerializer ,
187
- "cookieName" );
188
- assertThat (cookieName ).isEqualTo ("testname" );
189
- });
190
- }
191
-
192
- @ Test
193
- public void autoConfiguredCookieSerializerConfiguration () {
169
+ public void sessionCookieConfigurationIsAppliedToAutoConfiguredCookieSerializer () {
194
170
this .contextRunner .withUserConfiguration (SessionRepositoryConfiguration .class )
195
171
.withPropertyValues ("server.servlet.session.cookie.name=sid" ,
196
172
"server.servlet.session.cookie.domain=spring" ,
@@ -217,20 +193,32 @@ public void autoConfiguredCookieSerializerConfiguration() {
217
193
}
218
194
219
195
@ Test
220
- public void userProvidedCookieSerializerConfiguration () {
196
+ public void autoConfiguredCookieSerializerIsUsedBySessionRepositoryFilter () {
197
+ this .contextRunner .withUserConfiguration (SessionRepositoryConfiguration .class )
198
+ .withPropertyValues ("server.port=0" ).run ((context ) -> {
199
+ SessionRepositoryFilter <?> filter = context
200
+ .getBean (SessionRepositoryFilter .class );
201
+ CookieHttpSessionIdResolver sessionIdResolver = (CookieHttpSessionIdResolver ) ReflectionTestUtils
202
+ .getField (filter , "httpSessionIdResolver" );
203
+ DefaultCookieSerializer cookieSerializer = (DefaultCookieSerializer ) ReflectionTestUtils
204
+ .getField (sessionIdResolver , "cookieSerializer" );
205
+ assertThat (cookieSerializer )
206
+ .isSameAs (context .getBean (DefaultCookieSerializer .class ));
207
+ });
208
+ }
209
+
210
+ @ Test
211
+ public void autoConfiguredCookieSerializerBacksOffWhenUserConfiguresACookieSerializer () {
221
212
this .contextRunner
222
213
.withUserConfiguration (UserProvidedCookieSerializerConfiguration .class )
223
- .withPropertyValues ("server.servlet.session.cookie.name=sid" )
224
214
.run ((context ) -> {
225
- DefaultCookieSerializer cookieSerializer = context
226
- .getBean (DefaultCookieSerializer .class );
227
- assertThat (cookieSerializer ).hasFieldOrPropertyWithValue ("cookieName" ,
228
- "SESSION" );
215
+ assertThat (context ).hasSingleBean (DefaultCookieSerializer .class );
216
+ assertThat (context ).hasBean ("myCookieSerializer" );
229
217
});
230
218
}
231
219
232
220
@ Test
233
- public void userProvidedCookieHttpSessionStrategyConfiguration () {
221
+ public void cookiesSerializerIsAutoConfiguredWhenUserConfiguresCookieHttpSessionIdResolver () {
234
222
this .contextRunner
235
223
.withUserConfiguration (
236
224
UserProvidedCookieHttpSessionStrategyConfiguration .class )
@@ -240,7 +228,7 @@ public void userProvidedCookieHttpSessionStrategyConfiguration() {
240
228
}
241
229
242
230
@ Test
243
- public void userProvidedHeaderHttpSessionStrategyConfiguration () {
231
+ public void autoConfiguredCookieSerializerBacksOffWhenUserConfiguresHeaderHttpSessionIdResolver () {
244
232
this .contextRunner
245
233
.withUserConfiguration (
246
234
UserProvidedHeaderHttpSessionStrategyConfiguration .class )
@@ -249,7 +237,7 @@ public void userProvidedHeaderHttpSessionStrategyConfiguration() {
249
237
}
250
238
251
239
@ Test
252
- public void userProvidedCustomHttpSessionStrategyConfiguration () {
240
+ public void autoConfiguredCookieSerializerBacksOffWhenUserConfiguresCustomHttpSessionIdResolver () {
253
241
this .contextRunner
254
242
.withUserConfiguration (
255
243
UserProvidedCustomHttpSessionStrategyConfiguration .class )
0 commit comments