package org.xmx0632.deliciousfruit.service; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.joda.time.DateTime; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.springside.modules.utils.Encodes; import org.xmx0632.deliciousfruit.global.ConfigConstant; public class ResetPasswordServiceTest { @InjectMocks private ResetPasswordService resetPasswordService; @Mock private ConfigService configService; @Before public void setUp() { MockitoAnnotations.initMocks(this); Mockito.when( configService .getIntByName(ConfigConstant.PASSWORD_RESET_URL_EXPIRE_TIME)) .thenReturn(3); } @Test public void testIsValidRequest() { String username = "username"; String email = "username@xxx.com"; Long ts = DateTime.now().getMillis(); String params = "username=" + username + "&email=" + email + "&ts=" + ts; String enkey = Encodes.encodeBase62(params.getBytes()); boolean isValid = resetPasswordService.isValidRequest(username, email, ts, enkey); assertTrue(isValid); } @Test public void testIsValidRequestExpiredTs1() { String username = "username"; String email = "username@xxx.com"; Long ts = DateTime.now().plusDays(-4).getMillis(); String params = "username=" + username + "&email=" + email + "&ts=" + ts; String enkey = Encodes.encodeBase62(params.getBytes()); boolean isValid = resetPasswordService.isValidRequest(username, email, ts, enkey); assertFalse(isValid); } @Test public void testIsValidRequestErrorEnkey() { String username = "username"; String email = "username@xxx.com"; Long ts = DateTime.now().getMillis(); String enkey = "errorkey"; boolean isValid = resetPasswordService.isValidRequest(username, email, ts, enkey); assertFalse(isValid); } @Test public void testIsValidRequestExpiredTs() { String username = null; String email = null; Long ts = DateTime.now().plusDays(-4).getMillis(); String enkey = null; boolean isValid = resetPasswordService.isValidRequest(username, email, ts, enkey); assertFalse(isValid); } }