diff --git a/src/test/java/cn/celess/blog/controller/VisitorControllerTest.java b/src/test/java/cn/celess/blog/controller/VisitorControllerTest.java index c65d27d..76c97e6 100644 --- a/src/test/java/cn/celess/blog/controller/VisitorControllerTest.java +++ b/src/test/java/cn/celess/blog/controller/VisitorControllerTest.java @@ -1,25 +1,29 @@ package cn.celess.blog.controller; import cn.celess.blog.BaseTest; +import cn.celess.blog.entity.Response; import cn.celess.blog.entity.model.PageData; import cn.celess.blog.entity.model.VisitorModel; -import com.github.pagehelper.PageInfo; -import net.sf.json.JSONObject; +import com.fasterxml.jackson.core.type.TypeReference; import org.junit.Test; -import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import static cn.celess.blog.enmu.ResponseEnum.SUCCESS; import static org.junit.Assert.*; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; -import static cn.celess.blog.enmu.ResponseEnum.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class VisitorControllerTest extends BaseTest { + private final TypeReference VISITOR_PAGE_TYPE = new TypeReference>>() { + }; + private final TypeReference VISITOR_TYPE = new TypeReference>() { + }; @Test public void getVisitorCount() throws Exception { - mockMvc.perform(get("/visitor/count")).andDo(result -> { - JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString()); - assertEquals(SUCCESS.getCode(), object.getInt(Code)); - assertTrue(object.containsKey(Result)); + getMockData(get("/visitor/count")).andDo(result -> { + Response response = getResponse(result); + assertEquals(SUCCESS.getCode(), response.getCode()); + assertNotNull(response.getResult()); }); } @@ -27,29 +31,26 @@ public class VisitorControllerTest extends BaseTest { public void page() throws Exception { int count = 10; int page = 1; - mockMvc.perform(get("/admin/visitor/page?count=" + count + "&page=" + page).header("Authorization", adminLogin())) - .andDo(result -> { - JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString()); - assertEquals(SUCCESS.getCode(), object.getInt(Code)); - JSONObject resultJson = JSONObject.fromObject(object.getJSONObject(Result)); - PageData pageData = (PageData) JSONObject.toBean(resultJson, PageData.class); - assertNotEquals(0, pageData.getTotal()); - assertEquals(1, pageData.getPageNum()); - assertEquals(10, pageData.getPageSize()); - for (Object ver : pageData.getList()) { - VisitorModel v = (VisitorModel) JSONObject.toBean(JSONObject.fromObject(ver), VisitorModel.class); - assertNotEquals(0, v.getId()); - assertNotNull(v.getDate()); - } - }); + getMockData(get("/admin/visitor/page?count=" + count + "&page=" + page), adminLogin()).andDo(result -> { + Response> response = getResponse(result, VISITOR_PAGE_TYPE); + assertEquals(SUCCESS.getCode(), response.getCode()); + PageData pageData = response.getResult(); + assertNotEquals(0, pageData.getTotal()); + assertEquals(1, pageData.getPageNum()); + assertEquals(10, pageData.getPageSize()); + for (VisitorModel v : pageData.getList()) { + assertNotEquals(0, v.getId()); + assertNotNull(v.getDate()); + } + }); } @Test public void add() throws Exception { - mockMvc.perform(post("/visit")).andDo(MockMvcResultHandlers.print()).andDo(result -> { - JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString()); - assertEquals(SUCCESS.getCode(), object.getInt(Code)); - VisitorModel visitorModel = (VisitorModel) JSONObject.toBean(object.getJSONObject(Result), VisitorModel.class); + getMockData(post("/visit")).andDo(result -> { + Response response = getResponse(result, VISITOR_TYPE); + assertEquals(SUCCESS.getCode(), response.getCode()); + VisitorModel visitorModel = response.getResult(); assertNotEquals(0, visitorModel.getId()); assertNotNull(visitorModel.getIp()); }); @@ -57,26 +58,26 @@ public class VisitorControllerTest extends BaseTest { @Test public void dayVisitCount() throws Exception { - mockMvc.perform(get("/dayVisitCount")).andDo(MockMvcResultHandlers.print()).andDo(result -> - assertEquals(SUCCESS.getCode(), JSONObject.fromObject(result.getResponse().getContentAsString()).getInt(Code)) - ); + getMockData(get("/dayVisitCount")).andDo(result -> assertEquals(SUCCESS.getCode(), getResponse(result).getCode())); } // 手动测试 // @Test public void ipLocation() throws Exception { String ip = "127.0.0.1"; - mockMvc.perform(get("/ip/" + ip)).andDo(MockMvcResultHandlers.print()).andDo(result -> { - assertEquals(SUCCESS.getCode(), JSONObject.fromObject(result.getResponse().getContentAsString()).getInt(Code)); - assertTrue(JSONObject.fromObject(result.getResponse().getContentAsString()).containsKey(Result)); + getMockData(get("/ip/" + ip)).andDo(result -> { + Response response = getResponse(result); + assertEquals(SUCCESS.getCode(), response.getCode()); + assertNotNull(response.getResult()); }); } @Test public void getIp() throws Exception { - mockMvc.perform(get("/ip")).andDo(MockMvcResultHandlers.print()).andDo(result -> { - assertEquals(SUCCESS.getCode(), JSONObject.fromObject(result.getResponse().getContentAsString()).getInt(Code)); - assertEquals("127.0.0.1", JSONObject.fromObject(result.getResponse().getContentAsString()).getString(Result)); + getMockData(get("/ip")).andDo(result -> { + Response response = getResponse(result, STRING_TYPE); + assertEquals(SUCCESS.getCode(), response.getCode()); + assertEquals("127.0.0.1", response.getResult()); }); } } \ No newline at end of file