|
|
|
@ -105,9 +105,11 @@ public class XorCsrfTokenRequestAttributeHandlerTests { |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void handleWhenCsrfTokenIsNullThenThrowsIllegalStateException() { |
|
|
|
public void handleWhenCsrfTokenIsNullThenThrowsIllegalStateException() { |
|
|
|
|
|
|
|
this.handler.handle(this.request, this.response, () -> null); |
|
|
|
|
|
|
|
CsrfToken csrfTokenAttribute = (CsrfToken) this.request.getAttribute("_csrf"); |
|
|
|
// @formatter:off
|
|
|
|
// @formatter:off
|
|
|
|
assertThatIllegalStateException() |
|
|
|
assertThatIllegalStateException() |
|
|
|
.isThrownBy(() -> this.handler.handle(this.request, this.response, () -> null)) |
|
|
|
.isThrownBy(csrfTokenAttribute::getToken) |
|
|
|
.withMessage("csrfToken supplier returned null"); |
|
|
|
.withMessage("csrfToken supplier returned null"); |
|
|
|
// @formatter:on
|
|
|
|
// @formatter:on
|
|
|
|
} |
|
|
|
} |
|
|
|
@ -128,8 +130,12 @@ public class XorCsrfTokenRequestAttributeHandlerTests { |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void handleWhenSecureRandomSetThenUsed() { |
|
|
|
public void handleWhenSecureRandomSetThenUsed() { |
|
|
|
|
|
|
|
willAnswer(fillByteArray()).given(this.secureRandom).nextBytes(anyByteArray()); |
|
|
|
|
|
|
|
|
|
|
|
this.handler.setSecureRandom(this.secureRandom); |
|
|
|
this.handler.setSecureRandom(this.secureRandom); |
|
|
|
this.handler.handle(this.request, this.response, () -> this.token); |
|
|
|
this.handler.handle(this.request, this.response, () -> this.token); |
|
|
|
|
|
|
|
CsrfToken csrfTokenAttribute = (CsrfToken) this.request.getAttribute(CsrfToken.class.getName()); |
|
|
|
|
|
|
|
assertThat(csrfTokenAttribute.getToken()).isEqualTo(XOR_CSRF_TOKEN_VALUE); |
|
|
|
verify(this.secureRandom).nextBytes(anyByteArray()); |
|
|
|
verify(this.secureRandom).nextBytes(anyByteArray()); |
|
|
|
verifyNoMoreInteractions(this.secureRandom); |
|
|
|
verifyNoMoreInteractions(this.secureRandom); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -140,12 +146,11 @@ public class XorCsrfTokenRequestAttributeHandlerTests { |
|
|
|
|
|
|
|
|
|
|
|
this.handler.setSecureRandom(this.secureRandom); |
|
|
|
this.handler.setSecureRandom(this.secureRandom); |
|
|
|
this.handler.handle(this.request, this.response, () -> this.token); |
|
|
|
this.handler.handle(this.request, this.response, () -> this.token); |
|
|
|
verify(this.secureRandom).nextBytes(anyByteArray()); |
|
|
|
|
|
|
|
assertThat(this.request.getAttribute(CsrfToken.class.getName())).isNotNull(); |
|
|
|
|
|
|
|
assertThat(this.request.getAttribute(this.token.getParameterName())).isNotNull(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CsrfToken csrfTokenAttribute = (CsrfToken) this.request.getAttribute(CsrfToken.class.getName()); |
|
|
|
CsrfToken csrfTokenAttribute = (CsrfToken) this.request.getAttribute(CsrfToken.class.getName()); |
|
|
|
assertThat(csrfTokenAttribute.getToken()).isEqualTo(XOR_CSRF_TOKEN_VALUE); |
|
|
|
assertThat(csrfTokenAttribute.getToken()).isEqualTo(XOR_CSRF_TOKEN_VALUE); |
|
|
|
|
|
|
|
verify(this.secureRandom).nextBytes(anyByteArray()); |
|
|
|
|
|
|
|
assertThat(this.request.getAttribute(CsrfToken.class.getName())).isNotNull(); |
|
|
|
|
|
|
|
assertThat(this.request.getAttribute("_csrf")).isNotNull(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
|