Skip to content

Commit 0f4a321

Browse files
committed
Aftercare for #1019
1 parent bde9998 commit 0f4a321

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

myconext-server/src/main/java/myconext/cron/TiqrCleaner.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ private void doClean() {
6565
userRepository.findById(registration.getUserId()).ifPresent(user -> {
6666
user.getSurfSecureId().clear();
6767
userRepository.save(user);
68+
LOG.info(String.format("Clean surfSecureId settings for user %s, because of stale and initialized registration", user.getEmail()));
6869
});
6970
registrationRepository.delete(registration);
7071
deletedCount++;

myconext-server/src/test/java/myconext/cron/TiqrCleanerTest.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.mongodb.client.MongoClient;
44
import myconext.AbstractIntegrationTest;
5+
import myconext.model.User;
6+
import myconext.tiqr.SURFSecureID;
57
import org.junit.jupiter.api.Test;
68
import org.springframework.beans.factory.annotation.Autowired;
79
import org.springframework.beans.factory.annotation.Value;
@@ -16,6 +18,7 @@
1618
import java.util.UUID;
1719

1820
import static org.junit.jupiter.api.Assertions.assertEquals;
21+
import static org.junit.jupiter.api.Assertions.assertTrue;
1922

2023
class TiqrCleanerTest extends AbstractIntegrationTest {
2124

@@ -31,7 +34,8 @@ void clean() {
3134

3235
Instant oneDayAgo = Instant.now().minus(1, ChronoUnit.DAYS);
3336

34-
registration(oneDayAgo, RegistrationStatus.INITIALIZED);
37+
User user = user();
38+
registration(oneDayAgo, RegistrationStatus.INITIALIZED, user.getId());
3539
registration(oneDayAgo, RegistrationStatus.FINALIZED);
3640
assertEquals(2, registrationRepository.count());
3741

@@ -49,6 +53,8 @@ void clean() {
4953

5054
assertEquals(1, registrationRepository.count());
5155
assertEquals(RegistrationStatus.FINALIZED, registrationRepository.findAll().get(0).getStatus());
56+
User userFromDB = userRepository.findOneUserByEmail(user.getEmail());
57+
assertTrue(userFromDB.getSurfSecureId().isEmpty());
5258
assertEquals(0, authenticationRepository.count());
5359
assertEquals(0, enrollmentRepository.count());
5460

@@ -74,13 +80,24 @@ void cleanNoLockAcquired() {
7480
}
7581

7682
private void registration(Instant oneDayAgo, RegistrationStatus status) {
83+
this.registration(oneDayAgo, status, UUID.randomUUID().toString());
84+
}
85+
86+
private void registration(Instant oneDayAgo, RegistrationStatus status, String userId) {
7787
Registration registration = new Registration();
7888
registration.setUpdated(oneDayAgo);
7989
registration.setStatus(status);
80-
registration.setUserId(UUID.randomUUID().toString());
90+
registration.setUserId(userId);
8191
registrationRepository.saveAll(Arrays.asList(registration));
8292
}
8393

94+
private User user() {
95+
User user = new User();
96+
user.getSurfSecureId().put(SURFSecureID.PHONE_VERIFIED, true);
97+
user.setEmail("q@ex.com");
98+
userRepository.save(user);
99+
return user;
100+
}
84101

85102
private TiqrCleaner getTiqrCleaner() {
86103
return new TiqrCleaner(

0 commit comments

Comments
 (0)