package gov.samhsa.consent2share.domain.account; import java.util.Calendar; import java.util.Date; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class EmailTokenTest { private EmailToken emailToken = null; @Before public void setUp() { emailToken = new EmailToken(); emailToken.setIsTokenUsed(true); } @Test public void testGetExpiredDate_Succeeds(){ Integer expireInHours = 12; emailToken.setExpireInHours(expireInHours); Date requestDateTime = new Date(); emailToken.setRequestDateTime(requestDateTime); Date expiredDate = emailToken.getExpiredDate(); Calendar cal = Calendar.getInstance(); cal.setTime(requestDateTime); cal.add(Calendar.HOUR_OF_DAY, expireInHours); Date calculatedExpiredDate = cal.getTime(); Assert.assertTrue(calculatedExpiredDate.equals(expiredDate)); } @Test public void testIsTokenExpired_When_Used_Returns_True(){ Integer expireInHours = 12; emailToken.setExpireInHours(expireInHours); Date now = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(now); cal.add(Calendar.HOUR_OF_DAY, -(expireInHours+1)); Date requestDateTime = cal.getTime(); emailToken.setRequestDateTime(requestDateTime); Boolean isExpired = emailToken.isTokenExpired(); Assert.assertTrue(isExpired); } @Test public void testIsTokenExpired_When_Not_Used_Returns_False(){ Integer expireInHours = 12; emailToken.setExpireInHours(expireInHours); Date now = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(now); cal.add(Calendar.HOUR_OF_DAY, 1); Date requestDateTime = cal.getTime(); emailToken.setRequestDateTime(requestDateTime); emailToken.setIsTokenUsed(false); Boolean isExpired = emailToken.isTokenExpired(); Assert.assertFalse(isExpired); } @After public void tearDown() { emailToken = null; } }