package org.jeecg.modules.system.test; import org.jeecg.JeecgSystemApplication; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.util.RedisUtil; import org.jeecg.common.util.RestUtil; import org.junit.Test; 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.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; import com.alibaba.fastjson.JSONObject; import org.springframework.http.ResponseEntity; /** * 系统用户单元测试 */ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,classes = JeecgSystemApplication.class) @SuppressWarnings({"FieldCanBeLocal", "SpringJavaAutowiredMembersInspection"}) public class SysUserTest { @Autowired private RedisUtil redisUtil; /** * 测试地址:实际使用时替换成你自己的地址 */ private final String BASE_URL = "http://localhost:8080/jeecg-boot/sys/user/"; // 请实际使用时替换成你自己的用户名和密码 private final String USERNAME = "admin"; private final String PASSWORD = "123456"; /** * 测试用例:新增 */ @Test public void testAdd() { // 用户Token String token = this.getToken(); // 请求地址 String url = BASE_URL + "add" ; // 请求 Header (用于传递Token) HttpHeaders headers = this.getHeaders(token); // 请求方式是 POST 代表提交新增数据 HttpMethod method = HttpMethod.POST; System.out.println("请求地址:" + url); System.out.println("请求方式:" + method); System.out.println("请求Token:" + token); JSONObject params = new JSONObject(); params.put("username", "wangwuTest"); params.put("password", "123456"); params.put("confirmpassword","123456"); params.put("realname", "单元测试"); params.put("activitiSync", "1"); params.put("userIdentity","1"); params.put("workNo","0025"); System.out.println("请求参数:" + params.toJSONString()); // 利用 RestUtil 请求该url ResponseEntity result = RestUtil.request(url, method, headers, null, params, JSONObject.class); if (result != null && result.getBody() != null) { System.out.println("返回结果:" + result.getBody().toJSONString()); } else { System.out.println("查询失败"); } } /** * 测试用例:修改 */ @Test public void testEdit() { // 数据Id String dataId = "1331795062924374018"; // 用户Token String token = this.getToken(); // 请求地址 String url = BASE_URL + "edit"; // 请求 Header (用于传递Token) HttpHeaders headers = this.getHeaders(token); // 请求方式是 PUT 代表提交修改数据 HttpMethod method = HttpMethod.PUT; System.out.println("请求地址:" + url); System.out.println("请求方式:" + method); System.out.println("请求Token:" + token); JSONObject params = new JSONObject(); params.put("username", "wangwuTest"); params.put("realname", "单元测试1111"); params.put("activitiSync", "1"); params.put("userIdentity","1"); params.put("workNo","0025"); params.put("id",dataId); System.out.println("请求参数:" + params.toJSONString()); // 利用 RestUtil 请求该url ResponseEntity result = RestUtil.request(url, method, headers, null, params, JSONObject.class); if (result != null && result.getBody() != null) { System.out.println("返回结果:" + result.getBody().toJSONString()); } else { System.out.println("查询失败"); } } /** * 测试用例:删除 */ @Test public void testDelete() { // 数据Id String dataId = "1331795062924374018"; // 用户Token String token = this.getToken(); // 请求地址 String url = BASE_URL + "delete" + "?id=" + dataId; // 请求 Header (用于传递Token) HttpHeaders headers = this.getHeaders(token); // 请求方式是 DELETE 代表删除数据 HttpMethod method = HttpMethod.DELETE; System.out.println("请求地址:" + url); System.out.println("请求方式:" + method); System.out.println("请求Token:" + token); // 利用 RestUtil 请求该url ResponseEntity result = RestUtil.request(url, method, headers, null, null, JSONObject.class); if (result != null && result.getBody() != null) { System.out.println("返回结果:" + result.getBody().toJSONString()); } else { System.out.println("查询失败"); } } /** * 测试用例:查询记录 */ @Test public void testQuery() { // 用户Token String token = this.getToken(); // 请求地址 String url = BASE_URL + "list"; // 请求 Header (用于传递Token) HttpHeaders headers = this.getHeaders(token); // 请求方式是 GET 代表获取数据 HttpMethod method = HttpMethod.GET; System.out.println("请求地址:" + url); System.out.println("请求方式:" + method); System.out.println("请求Token:" + token); // 利用 RestUtil 请求该url ResponseEntity result = RestUtil.request(url, method, headers, null, null, JSONObject.class); if (result != null && result.getBody() != null) { System.out.println("返回结果:" + result.getBody().toJSONString()); } else { System.out.println("查询失败"); } } private String getToken() { String token = JwtUtil.sign(USERNAME, PASSWORD); redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, 60); return token; } private HttpHeaders getHeaders(String token) { HttpHeaders headers = new HttpHeaders(); String mediaType = MediaType.APPLICATION_JSON_UTF8_VALUE; headers.setContentType(MediaType.parseMediaType(mediaType)); headers.set("Accept", mediaType); headers.set("X-Access-Token", token); return headers; } }