From 2bf369c2adaf0a7be6c60aec429f3093d61197f3 Mon Sep 17 00:00:00 2001 From: Dylan De Faoite Date: Mon, 12 Oct 2026 21:59:25 +0100 Subject: [PATCH] add newTokenIsDifferent test --- .../vodsystem/security/TokenServiceTest.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/ddf/vodsystem/security/TokenServiceTest.java b/src/test/java/com/ddf/vodsystem/security/TokenServiceTest.java index 418f11b..a9e56ef 100644 --- a/src/test/java/com/ddf/vodsystem/security/TokenServiceTest.java +++ b/src/test/java/com/ddf/vodsystem/security/TokenServiceTest.java @@ -304,6 +304,24 @@ class TokenServiceTest { .orElseThrow(() -> new AssertionError("no unused token was saved")); assertNull(newToken.getTokenFamily().getRevokedAt()); } - } + @Test + void unusedToken_newTokenIsDifferentFromOldToken() { + TokenFamily tokenFamily = new TokenFamily(); + tokenFamily.setId(1L); + tokenFamily.setUser(createUser(1L, "user", "user")); + tokenFamily.setExpiresAt(Instant.now(clock).plusSeconds(10)); + + RefreshToken refreshToken = new RefreshToken(); + refreshToken.setTokenHash(rawToken.getBytes()); + refreshToken.setTokenFamily(tokenFamily); + refreshToken.setExpiresAt(Instant.now(clock).plusSeconds(10)); + + when(refreshTokenRepository.findByHash(any())) + .thenReturn(Optional.of(refreshToken)); + + TokenService.Rotation rotation = tokenService.rotate(rawToken); + assertNotEquals(rawToken, rotation.newRefreshToken()); + } + } } \ No newline at end of file