From cddc9bf1cf0f8f56f4bfd4d4f2f61f2f5b5488c2 Mon Sep 17 00:00:00 2001 From: rooije Date: Fri, 17 May 2024 15:44:16 +0200 Subject: [PATCH] Fix unit tests --- ...tsRecordingRequiredActionProviderTest.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/mydeltares-keycloak-spi/src/test/java/nl/deltares/keycloak/authentication/requiredactions/LoginStatsRecordingRequiredActionProviderTest.java b/mydeltares-keycloak-spi/src/test/java/nl/deltares/keycloak/authentication/requiredactions/LoginStatsRecordingRequiredActionProviderTest.java index 644da6a..e7eaff1 100644 --- a/mydeltares-keycloak-spi/src/test/java/nl/deltares/keycloak/authentication/requiredactions/LoginStatsRecordingRequiredActionProviderTest.java +++ b/mydeltares-keycloak-spi/src/test/java/nl/deltares/keycloak/authentication/requiredactions/LoginStatsRecordingRequiredActionProviderTest.java @@ -4,9 +4,10 @@ import org.keycloak.authentication.RequiredActionContext; import org.keycloak.models.UserModel; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.ZoneOffset; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.TimeZone; import static nl.deltares.keycloak.mocking.TestUtils.getRequiredActionContext; import static org.junit.jupiter.api.Assertions.*; @@ -15,7 +16,7 @@ public class LoginStatsRecordingRequiredActionProviderTest { @Test - public void testEvaluateTriggers(){ + public void testEvaluateTriggers() throws ParseException { LoginStatsRecordingRequiredActionProvider provider = new LoginStatsRecordingRequiredActionProvider(); RequiredActionContext context = getRequiredActionContext("evaluateTriggers"); @@ -25,14 +26,16 @@ public void testEvaluateTriggers(){ UserModel user = context.getUser(); - long startTime = LocalDateTime.now(ZoneId.of("GMT")).toEpochSecond(ZoneOffset.UTC); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + dateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); + long startTime = System.currentTimeMillis(); final String clientId = context.getAuthenticationSession().getClient().getClientId(); String firstLoginDate = user.getFirstAttribute(LoginStatsRecordingRequiredActionProvider.LOGIN_FIRST_LOGIN_DATE + '.' + clientId); assertNotNull(firstLoginDate); - LocalDateTime dateTime = LocalDateTime.parse(firstLoginDate); - long timeStamp = dateTime.toEpochSecond(ZoneOffset.UTC); - assertEquals(startTime, timeStamp, 10); + Date dateTime = dateFormat.parse(firstLoginDate); + long timeStamp = dateTime.getTime(); + assertEquals(startTime, timeStamp, 5000); String loginCount = user.getFirstAttribute(LoginStatsRecordingRequiredActionProvider.LOGIN_LOGIN_COUNT + '.' + clientId); assertNotNull(loginCount); @@ -40,7 +43,8 @@ public void testEvaluateTriggers(){ String recentLoginDate = user.getFirstAttribute(LoginStatsRecordingRequiredActionProvider.LOGIN_RECENT_LOGIN_DATE + '.' + clientId); assertNotNull(recentLoginDate); - timeStamp = dateTime.toEpochSecond(ZoneOffset.UTC); + dateTime = dateFormat.parse(recentLoginDate); + timeStamp = dateTime.getTime(); assertEquals(startTime, timeStamp, 10); }