@Test public void testGenerateRecoveryToken() { final User user = userManager.getUserByUsername("token-test"); final String token = passwordTokenManager.generateRecoveryToken(user); assertNotNull(token); assertTrue(passwordTokenManager.isRecoveryTokenValid(user, token)); }
@Test public void testConsumeRecoveryToken() throws Exception { final User user = userManager.getUserByUsername("token-test"); final Integer version = user.getVersion(); final String token = passwordTokenManager.generateRecoveryToken(user); assertNotNull(token); assertTrue(passwordTokenManager.isRecoveryTokenValid(user, token)); // start SMTP Server Wiser wiser = startWiser(smtpPort); User updated = userManager.updatePassword(user.getUsername(), null, token, "user", ""); wiser.stop(); assertTrue(wiser.getMessages().size() == 1); assertTrue(updated.getVersion() > version); assertFalse(passwordTokenManager.isRecoveryTokenValid(updated, token)); }
@Override public boolean isRecoveryTokenValid(final User user, final String token) { return passwordTokenManager.isRecoveryTokenValid(user, token); }