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