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);
}
}