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