@ -37,7 +37,7 @@ public class WebSessionServerCsrfTokenRepositoryTests {
@@ -37,7 +37,7 @@ public class WebSessionServerCsrfTokenRepositoryTests {
private MockServerWebExchange exchange = MockServerWebExchange . from ( MockServerHttpRequest . get ( "/" ) ) ;
@Test
public void generateTokenWhenNoSubscription ThenNoSession ( ) {
public void generateTokenThenNoSession ( ) {
Mono < CsrfToken > result = this . repository . generateToken ( this . exchange ) ;
Mono < Boolean > isSessionStarted = this . exchange . getSession ( )
@ -49,43 +49,34 @@ public class WebSessionServerCsrfTokenRepositoryTests {
@@ -49,43 +49,34 @@ public class WebSessionServerCsrfTokenRepositoryTests {
}
@Test
public void generateTokenWhenSubscriptionThenAddsT oSession ( ) {
public void generateTokenWhenSubscriptionThenN oSession ( ) {
Mono < CsrfToken > result = this . repository . generateToken ( this . exchange ) ;
StepVerifier . create ( result )
. consumeNextWith ( t - > assertThat ( t ) . isNotNull ( ) )
. verifyComplete ( ) ;
WebSession session = this . exchange . getSession ( ) . block ( ) ;
Map < String , Object > attributes = session . getAttributes ( ) ;
assertThat ( session . isStarted ( ) ) . isTrue ( ) ;
assertThat ( attributes ) . hasSize ( 1 ) ;
assertThat ( attributes . values ( ) . iterator ( ) . next ( ) ) . isInstanceOf ( CsrfToken . class ) ;
Mono < Boolean > isSessionStarted = this . exchange . getSession ( )
. map ( WebSession : : isStarted ) ;
StepVerifier . create ( isSessionStarted )
. expectNext ( false )
. verifyComplete ( ) ;
}
@Test
public void saveTokenWhenSetSessionAttributeNameAndSubscriptionThenAddsToSession ( ) {
CsrfToken token = new DefaultCsrfToken ( "h" , "p" , "t" ) ;
String attrName = "ATTR" ;
this . repository . setSessionAttributeName ( attrName ) ;
Mono < CsrfToken > result = this . repository . saveToken ( this . exchange , token ) ;
StepVerifier . create ( result )
. consumeNextWith ( n - > assertThat ( n ) . isEqualTo ( token ) )
. verifyComplete ( ) ;
public void generateTokenWhenGetTokenThenAddsToSession ( ) {
Mono < CsrfToken > result = this . repository . generateToken ( this . exchange ) ;
result . block ( ) . getToken ( ) ;
WebSession session = this . exchange . getSession ( ) . block ( ) ;
Map < String , Object > attributes = session . getAttributes ( ) ;
assertThat ( session . isStarted ( ) ) . isTrue ( ) ;
assertThat ( session . < WebSession > getAttribute ( attrName ) ) . isEqualTo ( token ) ;
assertThat ( attributes ) . hasSize ( 1 ) ;
assertThat ( attributes . values ( ) . iterator ( ) . next ( ) ) . isInstanceOf ( CsrfToken . class ) ;
}
@Test
public void saveTokenWhenNullThenDeletes ( ) {
CsrfToken token = new DefaultCsrfToken ( "h" , "p" , "t" ) ;
this . reposi tory . saveTo ken( this . exchan ge, token ) . block ( ) ;
CsrfToken token = this . repository . generateToken ( this . exchange ) . block ( ) ;
token . getT oken ( ) ;
Mono < CsrfToken > result = this . repository . saveToken ( this . exchange , null ) ;
StepVerifier . create ( result )
@ -99,6 +90,7 @@ public class WebSessionServerCsrfTokenRepositoryTests {
@@ -99,6 +90,7 @@ public class WebSessionServerCsrfTokenRepositoryTests {
@Test
public void generateTokenAndLoadTokenDeleteTokenWhenNullThenDeletes ( ) {
CsrfToken generate = this . repository . generateToken ( this . exchange ) . block ( ) ;
generate . getToken ( ) ;
CsrfToken load = this . repository . loadToken ( this . exchange ) . block ( ) ;
assertThat ( load ) . isEqualTo ( generate ) ;