REM:
1. 修正获取所有处置任务列表,修改为正在执行的处置任务列表
2. 修正没有处置任务的状态码和message描述
3. 修正并行处理正在执行的处置任务列表,修改为串行处理
4. 编写获取指定能力节点处置任务列表接口响应报文中内容字段的检验代码
This commit is contained in:
chenlinghy 2020-05-07 17:48:54 +08:00
parent 9ab5230d67
commit f2b93005e3
2 changed files with 104 additions and 9 deletions

View File

@ -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);
}
});

View File

@ -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<NodeTaskData> 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<NodeTaskData> 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");
}
}
}
}
}
/**