5a6c57415e35561b0c4b487c39f92cff7d2a80fa.svn-base 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. package org.jeecg.modules.online.desform.test;
  2. import com.alibaba.fastjson.JSONObject;
  3. import org.jeecg.JeecgSystemApplication;
  4. import org.jeecg.common.constant.CommonConstant;
  5. import org.jeecg.common.system.util.JwtUtil;
  6. import org.jeecg.common.util.RedisUtil;
  7. import org.jeecg.common.util.RestUtil;
  8. import org.junit.Test;
  9. import org.junit.runner.RunWith;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.boot.test.context.SpringBootTest;
  12. import org.springframework.http.HttpHeaders;
  13. import org.springframework.http.HttpMethod;
  14. import org.springframework.http.MediaType;
  15. import org.springframework.http.ResponseEntity;
  16. import org.springframework.test.context.junit4.SpringRunner;
  17. /**
  18. * 表单设计器 API 接口单元测试
  19. */
  20. @RunWith(SpringRunner.class)
  21. @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,classes = JeecgSystemApplication.class)
  22. @SuppressWarnings({"FieldCanBeLocal", "SpringJavaAutowiredMembersInspection"})
  23. public class DesformApiTest {
  24. @Autowired
  25. private RedisUtil redisUtil;
  26. /**
  27. * 测试地址:实际使用时替换成你自己的地址
  28. */
  29. private final String BASE_URL = "http://localhost:8080/jeecg-boot/desform/api/";
  30. // 请实际使用时替换成你自己的用户名和密码
  31. private final String USERNAME = "admin";
  32. private final String PASSWORD = "123456";
  33. /**
  34. * 表单code,实际使用时可以替换成你要测试的表单code
  35. */
  36. private final String DESFORM_CODE = "qingjiadan";
  37. /**
  38. * 测试用例:新增
  39. */
  40. @Test
  41. public void testAdd() {
  42. // 用户Token
  43. String token = this.getToken();
  44. // 请求地址
  45. String url = BASE_URL + DESFORM_CODE;
  46. // 请求 Header (用于传递Token)
  47. HttpHeaders headers = this.getHeaders(token);
  48. // 请求方式是 POST 代表提交新增数据
  49. HttpMethod method = HttpMethod.POST;
  50. System.out.println("请求地址:" + url);
  51. System.out.println("请求方式:" + method);
  52. System.out.println("请求Token:" + token);
  53. JSONObject params = new JSONObject();
  54. params.put("name", "张三");
  55. params.put("sex", "1");
  56. params.put("begin_time", "2019-12-27");
  57. params.put("remarks", "生病了");
  58. System.out.println("请求参数:" + params.toJSONString());
  59. // 利用 RestUtil 请求该url
  60. ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, params, JSONObject.class);
  61. if (result != null && result.getBody() != null) {
  62. System.out.println("返回结果:" + result.getBody().toJSONString());
  63. } else {
  64. System.out.println("查询失败");
  65. }
  66. }
  67. /**
  68. * 测试用例:修改
  69. */
  70. @Test
  71. public void testEdit() {
  72. // 数据Id
  73. String dataId = "f43ea15c654337fbcb2336dd5422ffc3";
  74. // 用户Token
  75. String token = this.getToken();
  76. // 请求地址
  77. String url = BASE_URL + DESFORM_CODE + "/" + dataId;
  78. // 请求 Header (用于传递Token)
  79. HttpHeaders headers = this.getHeaders(token);
  80. // 请求方式是 PUT 代表提交修改数据
  81. HttpMethod method = HttpMethod.PUT;
  82. System.out.println("请求地址:" + url);
  83. System.out.println("请求方式:" + method);
  84. System.out.println("请求Token:" + token);
  85. JSONObject params = new JSONObject();
  86. params.put("name", "李四");
  87. params.put("sex", "0");
  88. params.put("begin_time", "2019-12-27");
  89. params.put("remarks", "感冒了");
  90. System.out.println("请求参数:" + params.toJSONString());
  91. // 利用 RestUtil 请求该url
  92. ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, params, JSONObject.class);
  93. if (result != null && result.getBody() != null) {
  94. System.out.println("返回结果:" + result.getBody().toJSONString());
  95. } else {
  96. System.out.println("查询失败");
  97. }
  98. }
  99. /**
  100. * 测试用例:删除
  101. */
  102. @Test
  103. public void testDelete() {
  104. // 数据Id
  105. String dataId = "f43ea15c654337fbcb2336dd5422ffc3";
  106. // 用户Token
  107. String token = this.getToken();
  108. // 请求地址
  109. String url = BASE_URL + DESFORM_CODE + "/" + dataId;
  110. // 请求 Header (用于传递Token)
  111. HttpHeaders headers = this.getHeaders(token);
  112. // 请求方式是 DELETE 代表删除数据
  113. HttpMethod method = HttpMethod.DELETE;
  114. System.out.println("请求地址:" + url);
  115. System.out.println("请求方式:" + method);
  116. System.out.println("请求Token:" + token);
  117. // 利用 RestUtil 请求该url
  118. ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, null, JSONObject.class);
  119. if (result != null && result.getBody() != null) {
  120. System.out.println("返回结果:" + result.getBody().toJSONString());
  121. } else {
  122. System.out.println("查询失败");
  123. }
  124. }
  125. /**
  126. * 测试用例:查询记录
  127. */
  128. @Test
  129. public void testQuery() {
  130. // 数据Id
  131. String dataId = "18146ddaa062296442a9310a51baf67b";
  132. // 用户Token
  133. String token = this.getToken();
  134. // 请求地址
  135. String url = BASE_URL + DESFORM_CODE + "/" + dataId;
  136. // 请求 Header (用于传递Token)
  137. HttpHeaders headers = this.getHeaders(token);
  138. // 请求方式是 GET 代表获取数据
  139. HttpMethod method = HttpMethod.GET;
  140. System.out.println("请求地址:" + url);
  141. System.out.println("请求方式:" + method);
  142. System.out.println("请求Token:" + token);
  143. // 利用 RestUtil 请求该url
  144. ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, null, JSONObject.class);
  145. if (result != null && result.getBody() != null) {
  146. System.out.println("返回结果:" + result.getBody().toJSONString());
  147. } else {
  148. System.out.println("查询失败");
  149. }
  150. }
  151. private String getToken() {
  152. String token = JwtUtil.sign(USERNAME, PASSWORD);
  153. redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
  154. redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, 60);
  155. return token;
  156. }
  157. private HttpHeaders getHeaders(String token) {
  158. HttpHeaders headers = new HttpHeaders();
  159. String mediaType = MediaType.APPLICATION_JSON_UTF8_VALUE;
  160. headers.setContentType(MediaType.parseMediaType(mediaType));
  161. headers.set("Accept", mediaType);
  162. headers.set("X-Access-Token", token);
  163. return headers;
  164. }
  165. }