2021与蓝度共同重构项目,服务端
liuhaonan
2022-01-12 a4e8fdfb30294b4812ef972606e7ae7ff5d2b5f8
功能完善
已修改2个文件
已添加3个文件
124 ■■■■■ 文件已修改
sandu-common/pom.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/test/java/com/sandu/ximon/admin/base/BaseMockMvcRequestBuilders.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/test/java/com/sandu/ximon/admin/base/BaseTest.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/test/java/com/sandu/ximon/admin/base/ResultActionsUtil.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sandu-common/pom.xml
@@ -62,6 +62,8 @@
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <!-- other -->
        <dependency>
            <groupId>com.baomidou</groupId>
ximon-admin/pom.xml
@@ -41,6 +41,11 @@
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-iot</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <!--阿里云物联网 -->
    </dependencies>
ximon-admin/src/test/java/com/sandu/ximon/admin/base/BaseMockMvcRequestBuilders.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package com.sandu.ximon.admin.base;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
public class BaseMockMvcRequestBuilders {
    //全局的请求头数据
   // public final static String TOKEN_KEY = "DeviceId";
    //public final static String TOKEN = "123456";
    public final static String TOKEN = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImF1dGgiOiJhZG1pbiIsImNyZWQiOjAsImV4cCI6MTY0MzIxNTgwN30.b9hHNpLDe3XThtCr8alFl4DZlfWM1Rx2o_AvFnutUQEqnyuh0JDlYigcev8zk_tKuSPDpXtWVsdKKQqlKLRb3g";
    /**
     * post请求
     *
     * @param url
     * @return
     */
    public static MockHttpServletRequestBuilder post(String url) {
        return MockMvcRequestBuilders.post(url).contentType(MediaType.APPLICATION_JSON)//请求的数据格式
                .header(TOKEN)
                .characterEncoding("UTF-8");//设置请求的编码
    }
    /**
     * get请求
     *
     * @param url
     * @return
     */
    public static MockHttpServletRequestBuilder get(String url) {
        return MockMvcRequestBuilders.get(url).contentType(MediaType.APPLICATION_JSON)//请求的数据格式
                .header(TOKEN)
                .characterEncoding("UTF-8");//设置请求的编码
    }
}
ximon-admin/src/test/java/com/sandu/ximon/admin/base/BaseTest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.sandu.ximon.admin.base;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Assert;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
/**
 * @author chenjiantian
 * @date 2022/1/12 11:20
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class BaseTest {
    @Autowired
    private WebApplicationContext wac;
    private MockMvc mockMvc;
    @Before
    public void setup() {
        this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
    }
    public MockMvc getMvc() {
        return mockMvc;
    }
    public void checkPost(String url,Object param) throws Exception{
        MockHttpServletRequestBuilder builder = BaseMockMvcRequestBuilders.post(url);
        if(param != null){
            builder.content((new ObjectMapper()).valueToTree(param).toString());//请求的参数
        }
        ResultActions resultActions = mockMvc.perform(builder);
        JSONObject response = ResultActionsUtil.getResponse(resultActions);
        //打印全部信息
        resultActions.andDo(print());
        //对数据进行预期的判断
        Assert.assertEquals("20000", response.getString("code"));
    }
    public void checkGet(String url) throws Exception{
        MockHttpServletRequestBuilder builder = BaseMockMvcRequestBuilders.get(url);
        ResultActions resultActions = mockMvc.perform(builder);
        JSONObject response = ResultActionsUtil.getResponse(resultActions);
        //打印全部信息
        resultActions.andDo(print());
        //对数据进行预期的判断
        Assert.assertEquals("20000", response.getString("code"));
    }
}
ximon-admin/src/test/java/com/sandu/ximon/admin/base/ResultActionsUtil.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package com.sandu.ximon.admin.base;
import com.alibaba.fastjson.JSONObject;
import org.springframework.test.web.servlet.ResultActions;
import java.io.UnsupportedEncodingException;
public class ResultActionsUtil {
    public static JSONObject getResponse(ResultActions resultActions) {
        //设置返回数据的编码-避免中文乱码的请求
        resultActions.andReturn().getResponse().setCharacterEncoding("UTF-8");
        //转换成对象
        try {
            return JSONObject.parseObject(resultActions.andReturn().getResponse().getContentAsString());
        } catch (UnsupportedEncodingException e) {
            return new JSONObject();
        }
    }
}