• MOCK 基本使用例子


    package com.icil.esolution.orders;
    
    import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.fileUpload;
    import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
    
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStream;
    import java.io.UnsupportedEncodingException;
    import java.net.URLDecoder;
    import java.time.LocalDateTime;
    import java.time.format.DateTimeFormatter;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.List;
    
    import org.apache.commons.httpclient.Header;
    import org.apache.commons.httpclient.HttpClient;
    import org.apache.commons.httpclient.HttpStatus;
    import org.apache.commons.httpclient.methods.PostMethod;
    import org.apache.commons.httpclient.methods.multipart.FilePart;
    import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
    import org.apache.commons.httpclient.methods.multipart.Part;
    import org.apache.commons.httpclient.methods.multipart.StringPart;
    import org.apache.commons.io.FileUtils;
    import org.junit.Before;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.slf4j.MDC;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.http.MediaType;
    import org.springframework.mock.web.MockMultipartFile;
    import org.springframework.test.context.junit4.SpringRunner;
    import org.springframework.test.web.servlet.MockMvc;
    import org.springframework.test.web.servlet.MvcResult;
    import org.springframework.test.web.servlet.setup.MockMvcBuilders;
    import org.springframework.web.context.WebApplicationContext;
    
    import com.alibaba.fastjson.JSON;
    import com.google.gson.Gson;
    import com.google.gson.reflect.TypeToken;
    import com.icil.esolution.pojo.InventoryQueryVO;
    import com.icil.esolution.pojo.SOOrderVO;
    import com.icil.esolution.pojo.TOA;
    import com.icil.esolution.utils.JsonUtils;
    import com.icil.esolution.utils.URLHttpUtils;
    /**
     * 
     * @ClassName:  OrderControllerTest   
     * @Description:
     * @Author: Sea
     * @Date: 12 july 2018 5:02:06 PM     
     * @Copyright: 2018 ICIL All rights reserved.
     */
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class OrderControllerTest {
        @Autowired
        private WebApplicationContext wac;
        
        private MockMvc mockMvc;
        
        @Before
        public void Setup(){
            mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
        }
        
      
        @Test
        public void TestQuerySOOrder() throws Exception {//customerCode, String warehouseCode
            String result = mockMvc.perform(
                    get("/order/querySOOrder")
                                        .param("customer", "PDX000055")
                                        .param("warehouseCode", "ULHKG")
                                        .contentType(MediaType.APPLICATION_JSON_UTF8))
                    .andExpect(status().isOk())
                    .andReturn().getResponse().getContentAsString();
            
            System.out.println(result);
        }
        
        
        @Test
        public void testUploadExcel() throws Exception {
            
    //        File file = new File("/home/sea/Desktop/esolution/E+Outbound_Template.xls");
    //         byte[] readFileToByteArray = FileUtils.readFileToByteArray(file);
    //                String result = mockMvc.perform(fileUpload("/order/uploadExcel")
    //                        .file(new MockMultipartFile("ePlusExcel", "test.xls", "multipart/form-data", readFileToByteArray))
    //                        .param("warehouseCode", "ULHKG")
    //                        .param("customer","PDX000031"))
    //                        .andExpect(status().isOk())
    //                        .andReturn().getResponse().getContentAsString();
    //                System.out.println(result);
            
            
            
            File srcFile=new File("/home/sea/Desktop/esolution/Outbound_Template_eplus.xls");
            String originalFileName = srcFile.getName();
            InputStream is = new FileInputStream(srcFile);
            
            //Upload excel template and return Order TO for confirmation
            MockMultipartFile uploadFile = new MockMultipartFile("ePlusExcel",originalFileName , null, is);
            
             MvcResult andReturn = mockMvc.perform(fileUpload("/order/uploadExcel").file(uploadFile).param("warehouseCode", "ULHKG").param("customer","PDX000031").accept("application/json;charset=UTF-8"))
            .andExpect(status().isOk())
            .andExpect(content().contentType("application/json;charset=UTF-8"))
            .andReturn();
             System.out.println(andReturn);
            
            
            
        }
        
    
        /**
         * POST方式 传带文件的调用
         * @return
         * @throws Exception
         */
        @Test
        public void  PostMethodFileTest() throws Exception{
            System.out.println("开始");
            String targetUrl="http://localhost:8080/order/uploadExcel";
                HttpClient client = new HttpClient();
                PostMethod method = new PostMethod(targetUrl);
                try{
                    File srcFile=new File("/home/sea/Desktop/esolution/E+Outbound_Template.xls");
                    
                    InputStream ePlusExcels = new FileInputStream(srcFile);
                    
                    
                    FilePart filePart = new FilePart("ePlusExcel",srcFile);//文件参数
                    //new FilePart("ss", (PartSource) ePlusExcels);
                    
    //             StringPart     ePlusExcel=new StringPart("ePlusExcel", ePlusExcels.toString());
                 StringPart customer=    new StringPart("customer", "PDX000031");
                 StringPart    warehouseCode=new StringPart("warehouseCode", "ULHKG");
    //             method.setParameter("customer", "PDX000031");
    //             method.setParameter("warehouseCode", "ULHKG");
    //                StringPart questionId = new StringPart("questionId","10001");//普通参数
    //                StringPart userId = new StringPart("userId","765709");//普通参数
    //                StringPart homeworkId = new StringPart("homeworkId","950");//普通参数
    
                    Part[] parts ={filePart,customer,warehouseCode};
                    MultipartRequestEntity mre=new MultipartRequestEntity(parts ,method.getParams());    //封装了普通字段和文件字段
                    method.setRequestEntity(mre);
                    int result = client.executeMethod(method);
                    if (result == HttpStatus.SC_OK) {
                        InputStream in = method.getResponseBodyAsStream();
                        ByteArrayOutputStream baos = new ByteArrayOutputStream();
                        byte[] buffer = new byte[1024];
                        int len = 0;
                        while ((len = in.read(buffer)) != -1) {
                            baos.write(buffer, 0, len);
                        }
                        String response = URLDecoder.decode(baos.toString(), "UTF-8");
                        System.out.println("response*****"+response); 
                    } else {
                        throw new Exception("HTTP ERROR Status: " + method.getStatusCode() + ":" + method.getStatusText());
                    }
                }finally {
                    method.releaseConnection();
                }
        }
        
        
        
        
        
    
        @Test
        public void testquerySOOrderDetail() throws Exception {//customerCode, String warehouseCode
            String result = mockMvc.perform(
                    get("/order/querySOOrderDetail")
                                        .param("orderNo", "SO-HKG-00152542")
                                        .param("warehouseCode", "ULHKG")
                                        .contentType(MediaType.APPLICATION_JSON_UTF8))
                    .andExpect(status().isOk())
                    .andReturn().getResponse().getContentAsString();
            
            System.out.println(result);
        }
        
        
        @Test
        public void testQueryInventory() throws UnsupportedEncodingException, Exception{
            String result = mockMvc.perform(get("/order/queryInventory")
                    .param("warehouseCode", "ULHKG")
                    .param("customerCode", "PDX000031")
                    .contentType(MediaType.APPLICATION_JSON_UTF8))
                    .andExpect(status().isOk())
                    .andReturn().getResponse().getContentAsString();
            System.out.println(result);
            
        }
        
        
        
        
        
        
        
        @Test
        public void testName() throws Exception {
            HashMap<String, Object> hashMap = new HashMap<>();
            
            hashMap.put("aa", "ss");
            String objectToJson = JsonUtils.objectToJson(hashMap);
            System.out.println(objectToJson);
        }
        
        
        @Test
        public void TestapiQueryOrderDetails() throws Exception {
            
            Header header = URLHttpUtils.getBasicAuthorizationHeader("testmsg1", "123456");
            String response = URLHttpUtils.getURLRequest("https://192.168.18.176/wosedi/ws/apiQueryOrderDetails?orderNo=SO-HK-00152542&warehouseCode=ULHKG", header);
            String exception = MDC.get("concectException");
            System.err.println("exception is ******************:"+exception);
            System.out.println(response);
            
        }
        
        @Test
        public void testJsontoList() throws Exception {
            File file = new File("src/test/java/resource/SoOrderVo.json");
            String data = FileUtils.readFileToString(file);
            System.err.println(data);
            //Object json = JSON.toJSON(data);
        //    SoOrderVO soOrderVO = JSON.parseObject(data, SoOrderVO.class);
           
            //List<SoOrderVO> jsonToList = JsonUtils.jsonToList(data, SoOrderVO.class);
             Gson gson = new Gson();
            //SoOrderVO fromJson = gson.fromJson(data, SoOrderVO.class);
            
            //List<SoOrderVO> jsonToList =gson.fromJson(data, new TypeToken<List<SoOrderVO>>() {}.getType());
             List<SOOrderVO> jsonToList = JsonUtils.gsonTOList(data, SOOrderVO.class);
            System.out.println("result is :"+jsonToList);
            
            
        }
        
        
        
        
        
        @Test
        public void testQueryOrderAll() throws Exception {
            File file = new File("src/test/java/resource/QueryOrderALL.json");
            String data = FileUtils.readFileToString(file);
            System.err.println(data);
            //Object json = JSON.toJSON(data);
        //    SoOrderVO soOrderVO = JSON.parseObject(data, SoOrderVO.class);
           
            //List<SoOrderVO> jsonToList = JsonUtils.jsonToList(data, SoOrderVO.class);
             Gson gson = new Gson();
            //SoOrderVO fromJson = gson.fromJson(data, SoOrderVO.class);
            
            List<SOOrderVO> jsonToList =gson.fromJson(data, new TypeToken<List<SOOrderVO>>() {}.getType());
            System.out.println("this is first data"+jsonToList.get(0));
            
             //List<SoOrderVO> jsonToList = JsonUtils.gsonTOList(data, SoOrderVO.class);
            System.out.println("result is :"+jsonToList);
            
            
        }
        
        
        
        
        
        
        
        
        @Test
        public void testGsontoList() throws Exception {
            File file = new File("src/test/java/resource/inventoryQueryResponseData.json");
            String data = FileUtils.readFileToString(file);
            System.err.println(data);
            //Object json = JSON.toJSON(data);
        //    SoOrderVO soOrderVO = JSON.parseObject(data, SoOrderVO.class);
            //List<SoOrderVO> jsonToList = JsonUtils.jsonToList(data, SoOrderVO.class);
             Gson gson = new Gson();
            //SoOrderVO fromJson = gson.fromJson(data, SoOrderVO.class);
        //    List<InventoryQueryVO> jsonToList =gson.fromJson(data, new TypeToken<List<InventoryQueryVO>>() {}.getType());
            List<InventoryQueryVO> jsonToList = JsonUtils.gsonTOList(data, InventoryQueryVO.class);
            System.out.println("result is :"+jsonToList);
        }
        
        
        
        
        
        @Test
        public void testWOS4TOA() throws Exception {
            File file = new File("src/test/java/resource/Wos4ResponseData.json");
            String data = FileUtils.readFileToString(file,"UTF-8");
            System.out.println(data);
            Object json = JSON.toJSON(data);
            TOA toa = JSON.parseObject(data, TOA.class);
           
            System.out.println(toa.getResult());
            System.out.println(toa.getMesgs());
            System.out.println(toa.getData());
            
        }
        
        
        @Test
        public void testJDK8DataFormart() throws Exception {
        
              DateTimeFormatter dateTimeFormater = DateTimeFormatter.ofPattern("yyyy-MM-dd HH-mm-ss");
                LocalDateTime localDateTime = LocalDateTime.now();
                Date date = new  Date();
                System.out.println("【----new date----】" + date);
                System.out.println("【----未格式化之前----】" + localDateTime);
                System.out.println("【----格式化之后----】"+dateTimeFormater.format(localDateTime));
    
                
            
            
        }
        
        
        
        
        
    }
  • 相关阅读:
    eclipse快速给表达式生成对应变量的快捷键
    java截取字符串中的最后几个字符
    javascript删除数组元素的7个方法
    java构建树形列表(带children属性)
    elementui树表修改子节点不能实时更新的解决办法
    css3的user-select属性设置文本内容能否被选择
    javascript中for-in和for-of的区别
    计算机等级考试改革
    SQL分组查询
    Windows 8 快捷键
  • 原文地址:https://www.cnblogs.com/lshan/p/9779224.html
Copyright © 2020-2023  润新知