8662088955901fa1417f6c3778f3cad0ddea6b8d.svn-base 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  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. * online api online表单单元测试
  19. */
  20. @RunWith(SpringRunner.class)
  21. @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,classes = JeecgSystemApplication.class)
  22. @SuppressWarnings({"FieldCanBeLocal", "SpringJavaAutowiredMembersInspection"})
  23. public class OnlineApiTest {
  24. @Autowired
  25. private RedisUtil redisUtil;
  26. /**
  27. * 测试地址:实际使用时替换成你自己的地址
  28. */
  29. private final String BASE_URL = "http://localhost:8080/jeecg-boot/online/cgform/api/";
  30. // 请实际使用时替换成你自己的用户名和密码
  31. private final String USERNAME = "admin";
  32. private final String PASSWORD = "123456";
  33. /**
  34. * online表单code,实际使用时可以替换成你要测试的表单code
  35. * (测试表test_demo)
  36. */
  37. private final String ONLINE_CODE = "d35109c3632c4952a19ecc094943dd71";
  38. /**
  39. * 测试用例:新增
  40. */
  41. @Test
  42. public void testAdd() {
  43. // 用户Token
  44. String token = this.getToken();
  45. // 请求地址
  46. String url = BASE_URL + "form/" + ONLINE_CODE;
  47. // 请求 Header (用于传递Token)
  48. HttpHeaders headers = this.getHeaders(token);
  49. // 请求方式是 POST 代表提交新增数据
  50. HttpMethod method = HttpMethod.POST;
  51. System.out.println("请求地址:" + url);
  52. System.out.println("请求方式:" + method);
  53. System.out.println("请求Token:" + token);
  54. JSONObject params = new JSONObject();
  55. params.put("name", "张三");
  56. params.put("sex", "1");
  57. params.put("age",15);
  58. params.put("descc", "<p>富文本编辑</p>");
  59. System.out.println("请求参数:" + params.toJSONString());
  60. // 利用 RestUtil 请求该url
  61. ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, params, JSONObject.class);
  62. if (result != null && result.getBody() != null) {
  63. System.out.println("返回结果:" + result.getBody().toJSONString());
  64. } else {
  65. System.out.println("查询失败");
  66. }
  67. }
  68. /**
  69. * 测试用例:修改
  70. */
  71. @Test
  72. public void testEdit() {
  73. // dataId
  74. String dataId = "1331797913880883201";
  75. // 用户Token
  76. String token = this.getToken();
  77. // 请求地址
  78. String url = BASE_URL + "form/" + ONLINE_CODE;
  79. // 请求 Header (用于传递Token)
  80. HttpHeaders headers = this.getHeaders(token);
  81. // 请求方式是 PUT 代表提交修改数据
  82. HttpMethod method = HttpMethod.PUT;
  83. System.out.println("请求地址:" + url);
  84. System.out.println("请求方式:" + method);
  85. System.out.println("请求Token:" + token);
  86. JSONObject params = new JSONObject();
  87. params.put("id", dataId);
  88. params.put("name", "张三");
  89. params.put("sex", "1");
  90. params.put("age",30);
  91. params.put("descc", "<p>富文本编辑,重新编辑</p>");
  92. System.out.println("请求参数:" + params.toJSONString());
  93. // 利用 RestUtil 请求该url
  94. ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, params, JSONObject.class);
  95. if (result != null && result.getBody() != null) {
  96. System.out.println("返回结果:" + result.getBody().toJSONString());
  97. } else {
  98. System.out.println("查询失败");
  99. }
  100. }
  101. /**
  102. * 测试用例:删除
  103. */
  104. @Test
  105. public void testDelete() {
  106. // 数据id
  107. String dataId = "1331797913880883201";
  108. // 用户Token
  109. String token = this.getToken();
  110. // 请求地址
  111. String url = BASE_URL + "form/" + ONLINE_CODE + "/" + dataId;
  112. // 请求 Header (用于传递Token)
  113. HttpHeaders headers = this.getHeaders(token);
  114. // 请求方式是 DELETE 代表删除数据
  115. HttpMethod method = HttpMethod.DELETE;
  116. System.out.println("请求地址:" + url);
  117. System.out.println("请求方式:" + method);
  118. System.out.println("请求Token:" + token);
  119. // 利用 RestUtil 请求该url
  120. ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, null, JSONObject.class);
  121. if (result != null && result.getBody() != null) {
  122. System.out.println("返回结果:" + result.getBody().toJSONString());
  123. } else {
  124. System.out.println("查询失败");
  125. }
  126. }
  127. /**
  128. * 测试用例:查询记录
  129. */
  130. @Test
  131. public void testQuery() {
  132. // 用户Token
  133. String token = this.getToken();
  134. // 请求地址
  135. String url = BASE_URL + "getData/"+ ONLINE_CODE ;
  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. }