return mapper(dbSession).selectTokensExpiredOnDate(timestamp);
}
- public List<UserTokenDto> selectExpiredTokens(DbSession dbSession){
- long timestamp = LocalDate.now().atStartOfDay(ZoneOffset.UTC).toInstant().toEpochMilli();
- return mapper(dbSession).selectTokensExpiredOnDate(timestamp);
- }
-
public void updateWithoutAudit(DbSession dbSession, UserTokenDto userTokenDto) {
mapper(dbSession).update(userTokenDto);
}
.containsOnly(token2);
}
- @Test
- public void select_expired_tokens() {
- String token1 = insertTokenExpiredInDays(0);
- String token2 = insertTokenExpiredInDays(7);
- String token3 = insertTokenExpiredInDays(14);
- List<UserTokenDto> tokenList = underTest.selectExpiredTokens(dbSession);
- assertThat(tokenList).hasSize(1)
- .extracting(UserTokenDto::getTokenHash)
- .containsOnly(token1);
- }
-
private String insertTokenExpiredInDays(long days){
long expirationDate = LocalDate.now().plusDays(days).atStartOfDay(ZoneOffset.UTC).toInstant().toEpochMilli();
UserTokenDto userToken = newUserToken().setExpirationDate(expirationDate);
}
try (var dbSession = dbClient.openSession(false)) {
var expiringTokens = dbClient.userTokenDao().selectTokensExpiredInDays(dbSession, 7);
- var expiredTokens = dbClient.userTokenDao().selectExpiredTokens(dbSession);
+ var expiredTokens = dbClient.userTokenDao().selectTokensExpiredInDays(dbSession, 0);
var tokensToNotify = Stream.concat(expiringTokens.stream(), expiredTokens.stream()).collect(Collectors.toList());
var usersToNotify = tokensToNotify.stream().map(UserTokenDto::getUserUuid).collect(Collectors.toSet());
Map<String, String> userUuidToEmail = dbClient.userDao().selectByUuids(dbSession, usersToNotify).stream()
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
var userTokenDao = mock(UserTokenDao.class);
var userDao = mock(UserDao.class);
when(userDao.selectByUuids(any(), any())).thenReturn(List.of(user));
- when(userTokenDao.selectTokensExpiredInDays(any(), anyLong())).thenReturn(List.of(expiringToken));
- when(userTokenDao.selectExpiredTokens(any())).thenReturn(List.of(expiredToken));
+ when(userTokenDao.selectTokensExpiredInDays(any(), eq(7L))).thenReturn(List.of(expiringToken));
+ when(userTokenDao.selectTokensExpiredInDays(any(), eq(0L))).thenReturn(List.of(expiredToken));
when(dbClient.userTokenDao()).thenReturn(userTokenDao);
when(dbClient.userDao()).thenReturn(userDao);
when(emailComposer.areEmailSettingsSet()).thenReturn(true);