package org.xmx0632.deliciousfruit.api.v1;
import static org.junit.Assert.assertEquals;
import java.net.URI;
import java.net.URISyntaxException;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
import org.springside.modules.mapper.JsonMapper;
import org.xmx0632.deliciousfruit.api.v1.bo.ForgetPwdRequest;
import org.xmx0632.deliciousfruit.api.v1.bo.ForgetPwdResponse;
import org.xmx0632.deliciousfruit.functional.BaseControllerTestCase;
public class UserAccountApiControllerForgetPwdEmailTest extends
BaseControllerTestCase {
private final RestTemplate restTemplate = new RestTemplate();
private static String url;
@BeforeClass
public static void initUrl() {
url = baseUrl + "/emailForgetPwd";
}
@Test
public void testForgetPwdSuccessToGmail() throws URISyntaxException {
ForgetPwdRequest forgetPwdRequest = new ForgetPwdRequest("user6",
"e6homeservice@gmail.com");
URI uri = new URI(url);
ResponseEntity<ForgetPwdResponse> result = restTemplate.postForEntity(
uri, forgetPwdRequest, ForgetPwdResponse.class);
ForgetPwdResponse response = result.getBody();
String expected = "ForgetPwdResponse [result=Result [msg=check your email,reset link will be send as soon as possible, value=0]]";
assertEquals(expected, response.toString());
formatHttpInfoPrint(HttpMethod.POST, url, null, "用户重置密码成功",
new JsonMapper().toJson(forgetPwdRequest),
jsonMapper.toJson(response));
}
@Test
public void testForgetPwdSuccessToSina() throws URISyntaxException {
ForgetPwdRequest forgetPwdRequest = new ForgetPwdRequest(
"e6homeSinaUser", "e6home@sina.cn");
URI uri = new URI(url);
ResponseEntity<ForgetPwdResponse> result = restTemplate.postForEntity(
uri, forgetPwdRequest, ForgetPwdResponse.class);
ForgetPwdResponse response = result.getBody();
String expected = "ForgetPwdResponse [result=Result [msg=check your email,reset link will be send as soon as possible, value=0]]";
assertEquals(expected, response.toString());
formatHttpInfoPrint(HttpMethod.POST, url, null, "用户重置密码成功",
new JsonMapper().toJson(forgetPwdRequest),
jsonMapper.toJson(response));
}
@Test
public void testForgetPwdFail() throws URISyntaxException {
ForgetPwdRequest forgetPwdRequest = new ForgetPwdRequest("user1",
"user5@ee.com");
URI uri = new URI(url);
ResponseEntity<ForgetPwdResponse> result = restTemplate.postForEntity(
uri, forgetPwdRequest, ForgetPwdResponse.class);
ForgetPwdResponse response = result.getBody();
String expected = "ForgetPwdResponse [result=Result [msg=username or email not match, value=1]]";
assertEquals(expected, response.toString());
formatHttpInfoPrint(HttpMethod.POST, url, null, "用户重置密码失败",
new JsonMapper().toJson(forgetPwdRequest),
jsonMapper.toJson(response));
}
}