@@ -263,6 +263,32 @@ public void loadDeferredTokenWhenDoesNotExistThenGeneratedAndSaved() {
263
263
assertThat (tokenCookie .isHttpOnly ()).isEqualTo (true );
264
264
}
265
265
266
+ @ Test
267
+ public void loadDeferredTokenWhenExistsAndNullSavedThenGeneratedAndSaved () {
268
+ CsrfToken generatedToken = this .repository .generateToken (this .request );
269
+ this .request
270
+ .setCookies (new Cookie (CookieCsrfTokenRepository .DEFAULT_CSRF_COOKIE_NAME , generatedToken .getToken ()));
271
+ this .repository .saveToken (null , this .request , this .response );
272
+ DeferredCsrfToken deferredCsrfToken = this .repository .loadDeferredToken (this .request , this .response );
273
+ CsrfToken csrfToken = deferredCsrfToken .get ();
274
+ assertThat (csrfToken ).isNotNull ();
275
+ assertThat (generatedToken ).isNotEqualTo (csrfToken );
276
+ assertThat (deferredCsrfToken .isGenerated ()).isTrue ();
277
+ }
278
+
279
+ @ Test
280
+ public void loadDeferredTokenWhenExistsAndNullSavedAndNonNullSavedThenLoaded () {
281
+ CsrfToken generatedToken = this .repository .generateToken (this .request );
282
+ this .request
283
+ .setCookies (new Cookie (CookieCsrfTokenRepository .DEFAULT_CSRF_COOKIE_NAME , generatedToken .getToken ()));
284
+ this .repository .saveToken (null , this .request , this .response );
285
+ this .repository .saveToken (generatedToken , this .request , this .response );
286
+ DeferredCsrfToken deferredCsrfToken = this .repository .loadDeferredToken (this .request , this .response );
287
+ CsrfToken csrfToken = deferredCsrfToken .get ();
288
+ assertThatCsrfToken (csrfToken ).isEqualTo (generatedToken );
289
+ assertThat (deferredCsrfToken .isGenerated ()).isFalse ();
290
+ }
291
+
266
292
@ Test
267
293
public void loadDeferredTokenWhenExistsThenLoaded () {
268
294
CsrfToken generatedToken = this .repository .generateToken (this .request );
0 commit comments