From 7be1c9dfb0ea5608cf940dc70c995a602f36818a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A6=BE=E5=87=A0=E6=B5=B7?= Date: Fri, 24 Jul 2020 00:22:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4ArticleController=E7=9A=84?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ArticleControllerTest.java | 76 ++++++------------- 1 file changed, 24 insertions(+), 52 deletions(-) diff --git a/src/test/java/cn/celess/blog/controller/ArticleControllerTest.java b/src/test/java/cn/celess/blog/controller/ArticleControllerTest.java index fe0a7cb..6a0346e 100644 --- a/src/test/java/cn/celess/blog/controller/ArticleControllerTest.java +++ b/src/test/java/cn/celess/blog/controller/ArticleControllerTest.java @@ -9,10 +9,10 @@ import cn.celess.blog.entity.model.PageData; import cn.celess.blog.entity.request.ArticleReq; import cn.celess.blog.mapper.ArticleMapper; import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; import net.sf.json.JSONObject; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @@ -31,7 +31,7 @@ public class ArticleControllerTest extends BaseTest { public void create() { ArticleReq articleReq = new ArticleReq(); // 应该正常通过 - articleReq.setTitle("test-" + UUID.randomUUID().toString()); + articleReq.setTitle("test-" + randomStr()); articleReq.setMdContent("# test title"); articleReq.setCategory("随笔"); String[] tagList = {"tag", "category"}; @@ -39,58 +39,30 @@ public class ArticleControllerTest extends BaseTest { articleReq.setOpen(true); articleReq.setType(true); articleReq.setUrl("http://xxxx.com"); - JSONObject jsonObject = JSONObject.fromObject(articleReq); + MockHttpServletRequestBuilder post = post("/admin/article/create"); try { - // 未登录 - mockMvc.perform(post("/admin/article/create") - .content(jsonObject.toString()) - .contentType("application/json")) - .andExpect(status().isOk()) - .andDo(result -> { - assertEquals(HAVE_NOT_LOG_IN.getCode(), - JSONObject.fromObject(result.getResponse().getContentAsString()).getInt(Code) - ); - }); - // User权限 - String token = userLogin(); - mockMvc.perform(post("/admin/article/create") - .content(jsonObject.toString()) - .contentType("application/json") - .header("Authorization", token)) - .andExpect(status().isOk()) - .andDo(result -> { - assertEquals(PERMISSION_ERROR.getCode(), - JSONObject.fromObject(result.getResponse().getContentAsString()).getInt(Code) - ); - }); - - // Admin权限 - token = adminLogin(); - mockMvc.perform(post("/admin/article/create") - .content(jsonObject.toString()) - .contentType("application/json") - .header("Authorization", token)) - .andExpect(status().isOk()) - .andDo(result -> { - JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString()); - assertEquals(SUCCESS.getCode(), object.getInt(Code)); - ArticleModel articleModel = (ArticleModel) JSONObject.toBean(object.getJSONObject(Result), ArticleModel.class); - assertNotNull(articleModel.getId()); - assertNotNull(articleModel.getTitle()); - assertNotNull(articleModel.getSummary()); - assertNotNull(articleModel.getOriginal()); - assertNotNull(articleModel.getTags()); - assertNotNull(articleModel.getCategory()); - assertNotNull(articleModel.getPublishDateFormat()); - assertNotNull(articleModel.getMdContent()); - assertNotNull(articleModel.getPreArticle()); - assertNull(articleModel.getNextArticle()); - assertNotNull(articleModel.getOpen()); - assertNotNull(articleModel.getReadingNumber()); - assertNotNull(articleModel.getAuthor()); - assertNotNull(articleModel.getUrl()); - }); + getMockData(post, adminLogin(), articleReq).andDo(result -> { + Response response = mapper.readValue(result.getResponse().getContentAsString(), new TypeReference>() { + }); + assertEquals(SUCCESS.getCode(), response.getCode()); + assertNotNull(response.getResult()); + ArticleModel articleModel = response.getResult(); + assertNotNull(articleModel.getId()); + assertNotNull(articleModel.getTitle()); + assertNotNull(articleModel.getSummary()); + assertNotNull(articleModel.getOriginal()); + assertNotNull(articleModel.getTags()); + assertNotNull(articleModel.getCategory()); + assertNotNull(articleModel.getPublishDateFormat()); + assertNotNull(articleModel.getMdContent()); + assertNotNull(articleModel.getPreArticle()); + assertNull(articleModel.getNextArticle()); + assertNotNull(articleModel.getOpen()); + assertNotNull(articleModel.getReadingNumber()); + assertNotNull(articleModel.getAuthor()); + assertNotNull(articleModel.getUrl()); + }); } catch (Exception e) { e.printStackTrace(); }