From f2b93005e3c76676319931628ea02d34a7a4ff46 Mon Sep 17 00:00:00 2001 From: chenlinghy Date: Thu, 7 May 2020 17:48:54 +0800 Subject: [PATCH] =?UTF-8?q?OCT=20REM:=201.=20=E4=BF=AE=E6=AD=A3=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=89=80=E6=9C=89=E5=A4=84=E7=BD=AE=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=88=97=E8=A1=A8=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=B8=BA=E6=AD=A3?= =?UTF-8?q?=E5=9C=A8=E6=89=A7=E8=A1=8C=E7=9A=84=E5=A4=84=E7=BD=AE=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=88=97=E8=A1=A8=202.=20=E4=BF=AE=E6=AD=A3=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E5=A4=84=E7=BD=AE=E4=BB=BB=E5=8A=A1=E7=9A=84=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E7=A0=81=E5=92=8Cmessage=E6=8F=8F=E8=BF=B0=203.=20?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=B9=B6=E8=A1=8C=E5=A4=84=E7=90=86=E6=AD=A3?= =?UTF-8?q?=E5=9C=A8=E6=89=A7=E8=A1=8C=E7=9A=84=E5=A4=84=E7=BD=AE=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=88=97=E8=A1=A8=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E4=B8=B2=E8=A1=8C=E5=A4=84=E7=90=86=204.=20=E7=BC=96=E5=86=99?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=8C=87=E5=AE=9A=E8=83=BD=E5=8A=9B=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E5=A4=84=E7=BD=AE=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=93=8D=E5=BA=94=E6=8A=A5=E6=96=87=E4=B8=AD?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E5=AD=97=E6=AE=B5=E7=9A=84=E6=A3=80=E9=AA=8C?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DisposeTaskController.java | 6 +- .../controller/TaskControllerTest.java | 107 +++++++++++++++++- 2 files changed, 104 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/dispose/controller/DisposeTaskController.java b/src/main/java/com/dispose/controller/DisposeTaskController.java index 082e8aef..20263282 100644 --- a/src/main/java/com/dispose/controller/DisposeTaskController.java +++ b/src/main/java/com/dispose/controller/DisposeTaskController.java @@ -399,7 +399,7 @@ public class DisposeTaskController { taskData.setId(v.getId().toString()); AtomicBoolean bHasData = new AtomicBoolean(false); - taskService.getNodeAllTask(v.getId()).parallelStream().forEach(k -> { + taskService.getNodeAllRunningTask(v.getId()).forEach(k -> { if (v.getType().equals(reqInfo.getType()) || reqInfo.getType() == -1) { int diff = Helper.getTimestampDiff(k.getBeginTime(), k.getPlanEndTime()); TaskInfoData taskInfoData = TaskInfoData.builder() @@ -421,8 +421,8 @@ public class DisposeTaskController { taskData.setStatus(ErrorCode.ERR_OK.getCode()); taskData.setMessage(ErrorCode.ERR_OK.getMsg()); } else { - taskData.setStatus(ErrorCode.ERR_NOSUCHTYPE.getCode()); - taskData.setMessage(ErrorCode.ERR_NOSUCHTYPE.getMsg()); + taskData.setStatus(ErrorCode.ERR_NOSUCHTASK.getCode()); + taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg()); taskData.setTaskArray(null); } }); diff --git a/src/test/java/com/dispose/controller/TaskControllerTest.java b/src/test/java/com/dispose/controller/TaskControllerTest.java index 525cdaf6..3b5230da 100644 --- a/src/test/java/com/dispose/controller/TaskControllerTest.java +++ b/src/test/java/com/dispose/controller/TaskControllerTest.java @@ -7,9 +7,12 @@ import com.dispose.manager.TaskCacheManager; import com.dispose.mapper.DisposeDeviceMapper; import com.dispose.pojo.dto.ProtocolReqDTO; import com.dispose.pojo.entity.DisposeDevice; +import com.dispose.pojo.vo.common.DisposeCapacity; import com.dispose.pojo.vo.common.IDArrayReq; import com.dispose.pojo.vo.common.TaskInfoData; import com.dispose.pojo.vo.common.TaskInfoDetail; +import com.dispose.pojo.vo.information.NodeTaskData; +import com.dispose.pojo.vo.information.NodeTaskRsp; import com.dispose.pojo.vo.task.*; import com.fasterxml.jackson.databind.ObjectMapper; @@ -108,7 +111,7 @@ public class TaskControllerTest extends InitTestEnvironment { StartTaskReq reqData = StartTaskReq.builder() .id(-1) .type(DeviceCapacity.CLEANUP.getCode()) - .disposeIp("192.168.5.2") + .disposeIp("192.168.3.4") .disposeTime(60) .build(); @@ -510,13 +513,14 @@ public class TaskControllerTest extends InitTestEnvironment { .type(0) .build(); + Long reqTimeStamp = System.currentTimeMillis(); ProtocolReqDTO reqInfo = new ProtocolReqDTO(); reqInfo.setVer(ConstValue.Protocol.VERSION); reqInfo.setCryptoType(ConstValue.Protocol.CRYPTO_NONE); - reqInfo.setTimeStamp(System.currentTimeMillis()); + reqInfo.setTimeStamp(reqTimeStamp); reqInfo.setMsgContent(objectMapper.writeValueAsString(reqData)); - mockMvc.perform(MockMvcRequestBuilders + String getTask = mockMvc.perform(MockMvcRequestBuilders .post("/task/get_node") .contentType(MediaType.APPLICATION_JSON) .header("Authorization", "Bearer " + getLogToken()) @@ -526,6 +530,51 @@ public class TaskControllerTest extends InitTestEnvironment { .andReturn() .getResponse() .getContentAsString(); + + String regex = "\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z"; + String msgContent = verifyRep(getTask, reqTimeStamp); + System.out.print("msgContent=" + msgContent); + + //将json字符串转为NodeTaskRsp类 + NodeTaskRsp nodeTaskRsp = objectMapper.readValue(msgContent, NodeTaskRsp.class); + + List taskInfoList = nodeTaskRsp.getItems(); + for (NodeTaskData taskNode : taskInfoList + ) { + Assert.assertNotNull(taskNode.getId()); + Assert.assertNotNull(taskNode.getStatus()); + Assert.assertNotNull(taskNode.getMessage()); + if (taskNode.getStatus() == 0) { + Assert.assertEquals(String.valueOf(taskNode.getStatus()), "0"); + Assert.assertEquals(taskNode.getMessage(), "成功"); + } else { + Assert.assertNotEquals(String.valueOf(taskNode.getStatus()), "0"); + Assert.assertNotEquals(taskNode.getMessage(), "成功"); + } + + Assert.assertNotNull(taskNode.getTaskArray()); + if (taskNode.getTaskArray().size() != 0) { + for (TaskInfoData task : taskNode.getTaskArray() + ) { + Assert.assertNotNull(task.getTaskId()); + Assert.assertNotNull(task.getType()); + Assert.assertNotNull(task.getStartTime()); + Assert.assertNotEquals(task.getStartTime(), "-1"); + Assert.assertNotNull(task.getStartTime()); + Assert.assertNotEquals(task.getStartTime(), "-1"); + Assert.assertNotNull(task.getDisposeIp()); + Assert.assertTrue(task.getDisposeIp().matches(regex)); + + if (task.getFlowAttack() != null) { + Assert.assertNotEquals(task.getFlowAttack(), "-1"); + } + + if (task.getFlowClean() != null) { + Assert.assertNotEquals(task.getFlowClean(), "-1"); + } + } + } + } } /** @@ -537,16 +586,17 @@ public class TaskControllerTest extends InitTestEnvironment { public void t6_getNodeAllTaskAll() throws Exception { GetTaskReq reqData = GetTaskReq.builder() .id(new String[]{}) - .type(2) + .type(0) .build(); + Long reqTimeStamp = System.currentTimeMillis(); ProtocolReqDTO reqInfo = new ProtocolReqDTO(); reqInfo.setVer(ConstValue.Protocol.VERSION); reqInfo.setCryptoType(ConstValue.Protocol.CRYPTO_NONE); - reqInfo.setTimeStamp(System.currentTimeMillis()); + reqInfo.setTimeStamp(reqTimeStamp); reqInfo.setMsgContent(objectMapper.writeValueAsString(reqData)); - mockMvc.perform(MockMvcRequestBuilders + String getTask = mockMvc.perform(MockMvcRequestBuilders .post("/task/get_node") .contentType(MediaType.APPLICATION_JSON) .header("Authorization", "Bearer " + getLogToken()) @@ -556,6 +606,51 @@ public class TaskControllerTest extends InitTestEnvironment { .andReturn() .getResponse() .getContentAsString(); + + String regex = "\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z"; + String msgContent = verifyRep(getTask, reqTimeStamp); + System.out.print("msgContent=" + msgContent); + + //将json字符串转为NodeTaskRsp类 + NodeTaskRsp nodeTaskRsp = objectMapper.readValue(msgContent, NodeTaskRsp.class); + + List taskInfoList = nodeTaskRsp.getItems(); + for (NodeTaskData taskNode : taskInfoList + ) { + Assert.assertNotNull(taskNode.getId()); + Assert.assertNotNull(taskNode.getStatus()); + Assert.assertNotNull(taskNode.getMessage()); + if (taskNode.getStatus() == 0) { + Assert.assertEquals(String.valueOf(taskNode.getStatus()), "0"); + Assert.assertEquals(taskNode.getMessage(), "成功"); + } else { + Assert.assertNotEquals(String.valueOf(taskNode.getStatus()), "0"); + Assert.assertNotEquals(taskNode.getMessage(), "成功"); + } + + Assert.assertNotNull(taskNode.getTaskArray()); + if (taskNode.getTaskArray().size() != 0) { + for (TaskInfoData task : taskNode.getTaskArray() + ) { + Assert.assertNotNull(task.getTaskId()); + Assert.assertNotNull(task.getType()); + Assert.assertNotNull(task.getStartTime()); + Assert.assertNotEquals(task.getStartTime(), "-1"); + Assert.assertNotNull(task.getStartTime()); + Assert.assertNotEquals(task.getStartTime(), "-1"); + Assert.assertNotNull(task.getDisposeIp()); + Assert.assertTrue(task.getDisposeIp().matches(regex)); + + if (task.getFlowAttack() != null) { + Assert.assertNotEquals(task.getFlowAttack(), "-1"); + } + + if (task.getFlowClean() != null) { + Assert.assertNotEquals(task.getFlowClean(), "-1"); + } + } + } + } } /**