2626
2727import  org .springframework .boot .autoconfigure .AutoConfigurations ;
2828import  org .springframework .boot .autoconfigure .web .ServerProperties ;
29- import  org .springframework .boot .autoconfigure .web .servlet .ServletWebServerFactoryAutoConfiguration ;
3029import  org .springframework .boot .context .properties .EnableConfigurationProperties ;
3130import  org .springframework .boot .test .context .runner .WebApplicationContextRunner ;
3231import  org .springframework .boot .web .servlet .FilterRegistrationBean ;
33- import  org .springframework .boot .web .servlet .context .AnnotationConfigServletWebServerApplicationContext ;
3432import  org .springframework .context .annotation .Bean ;
3533import  org .springframework .context .annotation .Configuration ;
3634import  org .springframework .session .MapSessionRepository ;
@@ -168,29 +166,7 @@ public void filterDispatcherTypesCanBeCustomized() {
168166	}
169167
170168	@ 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 () {
194170		this .contextRunner .withUserConfiguration (SessionRepositoryConfiguration .class )
195171				.withPropertyValues ("server.servlet.session.cookie.name=sid" ,
196172						"server.servlet.session.cookie.domain=spring" ,
@@ -217,20 +193,32 @@ public void autoConfiguredCookieSerializerConfiguration() {
217193	}
218194
219195	@ 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 () {
221212		this .contextRunner 
222213				.withUserConfiguration (UserProvidedCookieSerializerConfiguration .class )
223- 				.withPropertyValues ("server.servlet.session.cookie.name=sid" )
224214				.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" );
229217				});
230218	}
231219
232220	@ Test 
233- 	public  void  userProvidedCookieHttpSessionStrategyConfiguration () {
221+ 	public  void  cookiesSerializerIsAutoConfiguredWhenUserConfiguresCookieHttpSessionIdResolver () {
234222		this .contextRunner 
235223				.withUserConfiguration (
236224						UserProvidedCookieHttpSessionStrategyConfiguration .class )
@@ -240,7 +228,7 @@ public void userProvidedCookieHttpSessionStrategyConfiguration() {
240228	}
241229
242230	@ Test 
243- 	public  void  userProvidedHeaderHttpSessionStrategyConfiguration () {
231+ 	public  void  autoConfiguredCookieSerializerBacksOffWhenUserConfiguresHeaderHttpSessionIdResolver () {
244232		this .contextRunner 
245233				.withUserConfiguration (
246234						UserProvidedHeaderHttpSessionStrategyConfiguration .class )
@@ -249,7 +237,7 @@ public void userProvidedHeaderHttpSessionStrategyConfiguration() {
249237	}
250238
251239	@ Test 
252- 	public  void  userProvidedCustomHttpSessionStrategyConfiguration () {
240+ 	public  void  autoConfiguredCookieSerializerBacksOffWhenUserConfiguresCustomHttpSessionIdResolver () {
253241		this .contextRunner 
254242				.withUserConfiguration (
255243						UserProvidedCustomHttpSessionStrategyConfiguration .class )
0 commit comments