Skip to content

Commit

Permalink
Test UserInactivity language veriables
Browse files Browse the repository at this point in the history
  • Loading branch information
oharsta committed Dec 19, 2024
1 parent 7ea09b1 commit c58d8a4
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ public enum UserInactivity {
"1 year",
"1 jaar",
"4 years",
"4 jaren"),
"4 jaar"),
// 3 year (= 3 year before the 5-year mark)
YEAR_3_INTERVAL(2L * 365,
YEAR_1_INTERVAL,
"2 years",
"2 jaren",
"2 jaar",
"3 years",
"3 jaren"),
"3 jaar"),
// 1 month before the 5-year mark
MONTH_1_BEFORE_5_YEARS((4L * 365) + (11L * 30),
YEAR_3_INTERVAL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<div class="middle" style="padding: 20px 0 40px 60px;max-width: 600px;">
<p>Hi <strong>{{name}}</strong>,</p>

<p>Je hebt je eduID account niet gebruikt in {{inactivity_period_nl}}. Als je je eduID account niet gebruikt dan
zullen we deze verwijderen in {{deletion_period_nl}}, op {{account_delete_date_nl}}.
<p>Je hebt je eduID account niet gebruikt in {{inactivity_period_nl}}. Als je je eduID account niet gebruikt, dan
zullen we deze verwijderen binnen {{deletion_period_nl}} op {{account_delete_date_nl}}.
Ga naar <a href="{{mySurfConextURL}}">je eduID account </a> en login om je account actief te houden.</p>
<br/>
<p>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Hi {{name}},

Je hebt je eduID account niet gebruikt in {{inactivity_period_nl}}. Als je je eduID account niet gebruikt dan zullen we
deze verwijderen in {{deletion_period_nl}}, op {{account_delete_date_nl}}.
Je hebt je eduID account niet gebruikt in {{inactivity_period_nl}}. Als je je eduID account niet gebruikt, dan zullen we
deze verwijderen binnen {{deletion_period_nl}} op {{account_delete_date_nl}}.
Ga naar {{mySurfConextURL}} en login om je account actief te houden.

{{> footer_en.txt}}
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<div class="middle" style="padding: 20px 0 40px 60px;max-width: 600px;">
<p>Hi <strong>{{name}}</strong>,</p>

<p>Je hebt je eduID account niet gebruikt in {{inactivity_period_nl}}. Als je je eduID account niet gebruikt dan
zullen we deze verwijderen in {{deletion_period_nl}}, op {{account_delete_date_nl}}.
<p>Je hebt je eduID account niet gebruikt in {{inactivity_period_nl}}. Als je je eduID account niet gebruikt, dan
zullen we deze verwijderen binnen {{deletion_period_nl}} op {{account_delete_date_nl}}.
Ga naar <a href="{{mySurfConextURL}}">je eduID account </a> en login om je account actief te houden.</p>
<br/>
<p>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Hi {{name}},

Je hebt je eduID account niet gebruikt in {{inactivity_period_nl}}. Als je je eduID account niet gebruikt dan zullen we
deze verwijderen in {{deletion_period_nl}}, op {{account_delete_date_nl}}.
Je hebt je eduID account niet gebruikt in {{inactivity_period_nl}}. Als je je eduID account niet gebruikt, dan zullen we
deze verwijderen binnen {{deletion_period_nl}} op {{account_delete_date_nl}}.
Ga naar {{mySurfConextURL}} en login om je account actief te houden.

{{> footer_en.txt}}
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@
import org.springframework.boot.test.context.SpringBootTest;

import javax.mail.internet.MimeMessage;
import java.nio.charset.Charset;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;

import static org.junit.jupiter.api.Assertions.*;
Expand Down Expand Up @@ -43,7 +45,7 @@ public class InactivityMailTest extends AbstractMailBoxTest {
@SneakyThrows
@Test
public void mailInactivityMail() {
inactivityUserSeed();
inactivityUserSeed("en");

inactivityMail.mailInactiveUsers();

Expand All @@ -59,16 +61,40 @@ public void mailInactivityMail() {
//Idempotency check
greenMail.purgeEmailFromAllMailboxes();
inactivityMail.mailInactiveUsers();
assertThrows(ConditionTimeoutException.class, () -> mailMessages());
assertThrows(ConditionTimeoutException.class, this::mailMessages);
}

private void inactivityUserSeed() {
@SneakyThrows
@Test
public void mailInactivityMailDutch() {
inactivityUserSeed("nl");

inactivityMail.mailInactiveUsers();

List<MimeMessage> mimeMessages = mailMessages();
assertEquals(4, mimeMessages.size());
//Ordering is not stable
String allContent = mimeMessages.stream().map(this::messageContent).collect(Collectors.joining());
List.of("niet gebruikt in 1 jaar", "binnen 4 jaar",
"niet gebruikt in 2 jaar", "binnen 3 jaar",
"in bijna 5 jaar", "binnen 1 maand",
"binnen 1 week")
.forEach(s -> assertTrue(allContent.contains(s)));
}

@SneakyThrows
private String messageContent(MimeMessage mimeMessage) {
return IOUtils.toString(mimeMessage.getInputStream(), Charset.defaultCharset());
}

private void inactivityUserSeed(String preferredLanguage) {
long oneDayInMillis = 24 * 60 * 60 * 1000L;
long yesterday = System.currentTimeMillis() - oneDayInMillis;
Stream.of(UserInactivity.values()).forEach(userInactivity -> {
User user = new User();
user.setLastLogin(yesterday - (userInactivity.getInactivityDays() * oneDayInMillis));
user.setEmail(userInactivity.name());
user.setPreferredLanguage(preferredLanguage);
user.setUserInactivity(userInactivity.getPreviousUserInactivity());
userRepository.save(user);
});
Expand Down

0 comments on commit c58d8a4

Please sign in to comment.