package org.xmx0632.deliciousfruit.api.v1; import static org.junit.Assert.assertEquals; import org.junit.BeforeClass; import org.junit.Test; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.web.client.RestTemplate; import org.xmx0632.deliciousfruit.api.v1.bo.CheckUsernameRequest; import org.xmx0632.deliciousfruit.api.v1.bo.CheckUsernameResponse; import org.xmx0632.deliciousfruit.functional.BaseControllerTestCase; public class UserAccountApiControllerCheckUsernameTest extends BaseControllerTestCase { private final RestTemplate restTemplate = new RestTemplate(); private static String url; @BeforeClass public static void initUrl() { url = baseUrl + "/checkUsername"; } @Test public void testUsernameAvailable() throws Exception { HttpHeaders requestHeaders = createHttpHeader("whatever", "whatever"); CheckUsernameRequest loginRequest = new CheckUsernameRequest(); loginRequest.setLoginName("user3_123"); HttpEntity<CheckUsernameRequest> entity = new HttpEntity<CheckUsernameRequest>( loginRequest, requestHeaders); CheckUsernameResponse response = restTemplate.postForObject(url, entity, CheckUsernameResponse.class); String expected = "CheckUsernameResponse [result=Result [msg=username available, value=0]]"; assertEquals(expected, response.toString()); formatHttpInfoPrint(HttpMethod.POST, url, requestHeaders, "用户名可用", jsonMapper.toJson(loginRequest), jsonMapper.toJson(response)); } @Test public void testUsernameUnavailable() throws Exception { HttpHeaders requestHeaders = createHttpHeader("whatever", "whatever"); CheckUsernameRequest request = new CheckUsernameRequest(); request.setLoginName("user3"); HttpEntity<CheckUsernameRequest> entity = new HttpEntity<CheckUsernameRequest>( request, requestHeaders); CheckUsernameResponse response = restTemplate.postForObject(url, entity, CheckUsernameResponse.class); String expected = "CheckUsernameResponse [result=Result [msg=username unavailable, value=1]]"; assertEquals(expected, response.toString()); formatHttpInfoPrint(HttpMethod.POST, url, requestHeaders, "用户名不可用", jsonMapper.toJson(request), jsonMapper.toJson(response)); } }