2828import java .util .Locale ;
2929import java .util .Map ;
3030import java .util .concurrent .TimeUnit ;
31+ import java .util .function .Consumer ;
3132
3233import javax .validation .ValidatorFactory ;
3334
4041import org .springframework .boot .autoconfigure .validation .ValidationAutoConfiguration ;
4142import org .springframework .boot .autoconfigure .validation .ValidatorAdapter ;
4243import org .springframework .boot .autoconfigure .web .reactive .WebFluxAutoConfiguration .WebFluxConfig ;
44+ import org .springframework .boot .test .context .runner .ContextConsumer ;
4345import org .springframework .boot .test .context .runner .ReactiveWebApplicationContextRunner ;
4446import org .springframework .boot .web .codec .CodecCustomizer ;
47+ import org .springframework .boot .web .reactive .context .ReactiveWebApplicationContext ;
4548import org .springframework .boot .web .reactive .filter .OrderedHiddenHttpMethodFilter ;
4649import org .springframework .context .ApplicationContext ;
4750import org .springframework .context .annotation .Bean ;
@@ -566,29 +569,28 @@ void userConfigurersCanBeOrderedBeforeOrAfterTheAutoConfiguredConfigurer() {
566569
567570 @ Test
568571 void customWebSessionIdResolverShouldBeApplied () {
569- this .contextRunner .withUserConfiguration (CustomWebSessionIdResolvers .class ).run ((context ) -> {
570- MockServerHttpRequest request = MockServerHttpRequest .get ("/" ).build ();
571- MockServerWebExchange exchange = MockServerWebExchange .from (request );
572- WebSessionManager webSessionManager = context .getBean (WebSessionManager .class );
573- WebSession webSession = webSessionManager .getSession (exchange ).block ();
574- webSession .start ();
575- exchange .getResponse ().setComplete ().block ();
576- assertThat (exchange .getResponse ().getCookies ().get ("JSESSIONID" )).isNotEmpty ();
577- });
572+ this .contextRunner .withUserConfiguration (CustomWebSessionIdResolver .class ).run (assertExchangeWithSession (
573+ (exchange ) -> assertThat (exchange .getResponse ().getCookies ().get ("TEST" )).isNotEmpty ()));
578574 }
579575
580576 @ Test
581- void customSameSteConfigurationShouldBeApplied () {
582- this .contextRunner .withPropertyValues ("spring.webflux.session.cookie.same-site:strict" ).run ((context ) -> {
577+ void customSameSiteConfigurationShouldBeApplied () {
578+ this .contextRunner .withPropertyValues ("spring.webflux.session.cookie.same-site:strict" ).run (
579+ assertExchangeWithSession ((exchange ) -> assertThat (exchange .getResponse ().getCookies ().get ("SESSION" ))
580+ .isNotEmpty ().allMatch ((cookie ) -> cookie .getSameSite ().equals ("Strict" ))));
581+ }
582+
583+ private ContextConsumer <ReactiveWebApplicationContext > assertExchangeWithSession (
584+ Consumer <MockServerWebExchange > exchange ) {
585+ return (context ) -> {
583586 MockServerHttpRequest request = MockServerHttpRequest .get ("/" ).build ();
584- MockServerWebExchange exchange = MockServerWebExchange .from (request );
587+ MockServerWebExchange webExchange = MockServerWebExchange .from (request );
585588 WebSessionManager webSessionManager = context .getBean (WebSessionManager .class );
586- WebSession webSession = webSessionManager .getSession (exchange ).block ();
589+ WebSession webSession = webSessionManager .getSession (webExchange ).block ();
587590 webSession .start ();
588- exchange .getResponse ().setComplete ().block ();
589- assertThat (exchange .getResponse ().getCookies ().get ("SESSION" )).isNotEmpty ()
590- .allMatch ((cookie ) -> cookie .getSameSite ().equals ("Strict" ));
591- });
591+ webExchange .getResponse ().setComplete ().block ();
592+ exchange .accept (webExchange );
593+ };
592594 }
593595
594596 private Map <PathPattern , Object > getHandlerMap (ApplicationContext context ) {
@@ -600,12 +602,12 @@ private Map<PathPattern, Object> getHandlerMap(ApplicationContext context) {
600602 }
601603
602604 @ Configuration (proxyBeanMethods = false )
603- static class CustomWebSessionIdResolvers {
605+ static class CustomWebSessionIdResolver {
604606
605607 @ Bean
606608 WebSessionIdResolver webSessionIdResolver () {
607609 CookieWebSessionIdResolver resolver = new CookieWebSessionIdResolver ();
608- resolver .setCookieName ("JSESSIONID " );
610+ resolver .setCookieName ("TEST " );
609611 return resolver ;
610612 }
611613
0 commit comments