REM:
1. 停止任务接口支持处理type=-1的全部类型处置任务
2. 增加根据节点停止处置任务接口
3. 增加停止所有处置任务接口
4. 更新停止任务相关接口,返回停止的各个处置任务的详细信息
5. 更新停止任务接口实现方法
6. 更新停止处置任务相关单元测试接口
7. 按照字母序执行单元测试用例
8. 更新处置任务处置时间计算方法
This commit is contained in:
HuangXin 2020-05-06 11:22:39 +08:00
parent 8bce94e17a
commit 6931499342
8 changed files with 232 additions and 70 deletions

View File

@ -2,6 +2,7 @@ package com.dispose.common;
import cn.hutool.http.Header; import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpRequest;
import java.util.Map; import java.util.Map;
/** /**

View File

@ -2,6 +2,7 @@ package com.dispose.controller;
import com.dispose.common.ConstValue; import com.dispose.common.ConstValue;
import com.dispose.common.ErrorCode; import com.dispose.common.ErrorCode;
import com.dispose.common.Helper;
import com.dispose.pojo.dto.ProtocolReqDTO; import com.dispose.pojo.dto.ProtocolReqDTO;
import com.dispose.pojo.dto.ProtocolRespDTO; import com.dispose.pojo.dto.ProtocolRespDTO;
import com.dispose.pojo.entity.DisposeDevice; import com.dispose.pojo.entity.DisposeDevice;
@ -36,7 +37,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.sql.Timestamp;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -659,15 +659,13 @@ public class DisposeNodeInfoController {
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg()); taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
} else { } else {
runTasks.parallelStream().forEach(k -> { runTasks.parallelStream().forEach(k -> {
Long tmLong = Timestamp.valueOf(k.getBeginTime()).toInstant().toEpochMilli() / 1000; int diff = Helper.getTimestampDiff(k.getBeginTime(), k.getPlanEndTime());
Long endTm = Timestamp.valueOf(k.getPlanEndTime()).toInstant().toEpochMilli() / 1000;
Long diff = endTm - tmLong;
TaskInfoData taskInfoData = TaskInfoData.builder() TaskInfoData taskInfoData = TaskInfoData.builder()
.taskId(k.getId().toString()) .taskId(k.getId().toString())
.type(k.getType()) .type(k.getType())
.startTime(tmLong.intValue()) .startTime(Helper.getTimestampSecond(k.getBeginTime()))
.disposeTime(diff.intValue()) .disposeTime(diff)
.disposeIp(k.getDisposeIp()) .disposeIp(k.getDisposeIp())
.flowAttack(0) .flowAttack(0)
.flowClean(0) .flowClean(0)
@ -740,15 +738,13 @@ public class DisposeNodeInfoController {
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg()); taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
} else { } else {
runTasks.parallelStream().forEach(k -> { runTasks.parallelStream().forEach(k -> {
Long tmLong = Timestamp.valueOf(k.getBeginTime()).toInstant().toEpochMilli() / 1000; int diff = Helper.getTimestampDiff(k.getBeginTime(), k.getPlanEndTime());
Long endTm = Timestamp.valueOf(k.getPlanEndTime()).toInstant().toEpochMilli() / 1000;
Long diff = endTm - tmLong;
TaskInfoData taskInfoData = TaskInfoData.builder() TaskInfoData taskInfoData = TaskInfoData.builder()
.taskId(k.getId().toString()) .taskId(k.getId().toString())
.type(k.getType()) .type(k.getType())
.startTime(tmLong.intValue()) .startTime(Helper.getTimestampSecond(k.getBeginTime()))
.disposeTime(diff.intValue()) .disposeTime(diff)
.disposeIp(k.getDisposeIp()) .disposeIp(k.getDisposeIp())
.currentStatus(taskService.taskIsRunning(k) ? 1 : 0) .currentStatus(taskService.taskIsRunning(k) ? 1 : 0)
.flowAttack(0) .flowAttack(0)

View File

@ -1,5 +1,6 @@
package com.dispose.controller; package com.dispose.controller;
import com.dispose.common.DeviceCapacity;
import com.dispose.common.ErrorCode; import com.dispose.common.ErrorCode;
import com.dispose.common.FlowDirection; import com.dispose.common.FlowDirection;
import com.dispose.common.Helper; import com.dispose.common.Helper;
@ -16,6 +17,7 @@ import com.dispose.pojo.vo.information.NodeTaskRsp;
import com.dispose.pojo.vo.task.GetTaskReq; import com.dispose.pojo.vo.task.GetTaskReq;
import com.dispose.pojo.vo.task.StartTaskReq; import com.dispose.pojo.vo.task.StartTaskReq;
import com.dispose.pojo.vo.task.StartTaskRsp; import com.dispose.pojo.vo.task.StartTaskRsp;
import com.dispose.pojo.vo.task.StopTaskData;
import com.dispose.pojo.vo.task.StopTaskReq; import com.dispose.pojo.vo.task.StopTaskReq;
import com.dispose.pojo.vo.task.TaskInfoRsp; import com.dispose.pojo.vo.task.TaskInfoRsp;
import com.dispose.service.DisposeNodeManager; import com.dispose.service.DisposeNodeManager;
@ -35,7 +37,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.sql.Timestamp;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
@ -145,29 +146,34 @@ public class DisposeTaskController {
return ProtocolRespDTO.result(ErrorCode.ERR_INPUTMISS); return ProtocolRespDTO.result(ErrorCode.ERR_INPUTMISS);
} }
for (String v : reqInfo.getTaskId()) { Arrays.stream(reqInfo.getTaskId()).forEach(v -> {
TaskInfoData taskData = TaskInfoData.builder().taskId(v).build(); TaskInfoData taskData = TaskInfoData.builder().type(DeviceCapacity.CLEANUP.getCode()).build();
TaskInfoDetail task = taskCacheManager.getTaskById(Long.parseLong(v));
if (task == null) { List<MReturnType<ErrorCode, TaskInfoDetail>> ret = taskService.stopTaskByTaskId(Long.parseLong(v));
err = ErrorCode.ERR_TASKNOTRUNNING;
if (ret.size() == 0) {
taskData.setId(v);
taskData.setStatus(ErrorCode.ERR_NOSUCHTASK.getCode());
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
rspInfo.getItems().add(taskData);
} else { } else {
err = taskService.stopTask(Long.parseLong(v)); ret.forEach(k -> {
ErrorCode retError = k.getFirstParam();
TaskInfoDetail taskInfo = k.getSecondParam();
taskData.setId(String.valueOf(taskInfo.getDeviceId()));
taskData.setTaskId(String.valueOf(taskInfo.getId()));
taskData.setType(taskInfo.getType());
taskData.setDisposeIp(taskInfo.getDisposeIp());
taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(taskInfo.getBeginTime())
- Helper.getTimestampDiffNow(taskInfo.getPlanEndTime())));
if (err == ErrorCode.ERR_OK) { taskData.setStatus(retError.getCode());
taskData.setTaskId(v); taskData.setMessage(retError.getMsg());
taskData.setDisposeIp(task.getDisposeIp());
taskData.setType(task.getType());
taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(task.getBeginTime())
- Helper.getTimestampDiffNow(task.getPlanEndTime())));
}
}
taskData.setStatus(err.getCode());
taskData.setMessage(err.getMsg());
rspInfo.getItems().add(taskData); rspInfo.getItems().add(taskData);
});
} }
});
return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo); return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo);
} }
@ -196,30 +202,33 @@ public class DisposeTaskController {
TaskInfoRsp rspInfo = new TaskInfoRsp(); TaskInfoRsp rspInfo = new TaskInfoRsp();
reqInfo.getItems().forEach(v -> { reqInfo.getItems().forEach(v -> {
ErrorCode retError;
TaskInfoData taskData = TaskInfoData.builder().type(v.getType()).build(); TaskInfoData taskData = TaskInfoData.builder().type(v.getType()).build();
List<MReturnType<ErrorCode, TaskInfoDetail>> ret = taskService.stopTaskByDisposeIp(Long.parseLong(v.getId()), v.getType(), v.getDisposeIp()); List<MReturnType<ErrorCode, TaskInfoDetail>> ret = taskService.stopTaskByDisposeIp(Long.parseLong(v.getId()), v.getType(), v.getDisposeIp());
if (ret.size() == 0) { if (ret.size() == 0) {
retError = ErrorCode.ERR_NOSUCHTASK; taskData.setId(v.getId());
taskData.setStatus(ErrorCode.ERR_NOSUCHTASK.getCode());
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
rspInfo.getItems().add(taskData);
} else { } else {
retError = ret.get(0).getFirstParam(); ret.forEach(k -> {
TaskInfoDetail taskInfo = ret.get(0).getSecondParam(); ErrorCode retError = k.getFirstParam();
TaskInfoDetail taskInfo = k.getSecondParam();
taskData.setId(String.valueOf(taskInfo.getDeviceId()));
taskData.setTaskId(String.valueOf(taskInfo.getId())); taskData.setTaskId(String.valueOf(taskInfo.getId()));
taskData.setType(taskInfo.getType()); taskData.setType(taskInfo.getType());
taskData.setDisposeIp(v.getDisposeIp()); taskData.setDisposeIp(taskInfo.getDisposeIp());
taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(taskInfo.getBeginTime()) taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(taskInfo.getBeginTime())
- Helper.getTimestampDiffNow(taskInfo.getPlanEndTime()))); - Helper.getTimestampDiffNow(taskInfo.getPlanEndTime())));
}
taskData.setId(v.getId());
taskData.setStatus(retError.getCode()); taskData.setStatus(retError.getCode());
taskData.setMessage(retError.getMsg()); taskData.setMessage(retError.getMsg());
rspInfo.getItems().add(taskData); rspInfo.getItems().add(taskData);
}); });
}
});
return ProtocolRespDTO.result(err, rspInfo); return ProtocolRespDTO.result(err, rspInfo);
} }
@ -238,7 +247,45 @@ public class DisposeTaskController {
public ProtocolRespDTO taskStopAllOfDisposeNode(@RequestBody ProtocolReqDTO mr, public ProtocolRespDTO taskStopAllOfDisposeNode(@RequestBody ProtocolReqDTO mr,
@RequestHeader HttpHeaders headers) @RequestHeader HttpHeaders headers)
throws JsonProcessingException { throws JsonProcessingException {
return taskStopByIp(mr, headers); ErrorCode err = mr.verifyRequest(headers);
if (err != ErrorCode.ERR_OK) {
return ProtocolRespDTO.result(err);
}
StopTaskReq reqInfo = mr.getRequestObject(StopTaskReq.class);
TaskInfoRsp rspInfo = new TaskInfoRsp();
reqInfo.getItems().forEach(v -> {
TaskInfoData taskData = TaskInfoData.builder().type(v.getType()).build();
List<MReturnType<ErrorCode, TaskInfoDetail>> ret = taskService.stopTaskByDisposeNode(Long.parseLong(v.getId()), v.getType());
if (ret.size() == 0) {
taskData.setId("-1");
taskData.setStatus(ErrorCode.ERR_NOSUCHTASK.getCode());
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
rspInfo.getItems().add(taskData);
} else {
ret.forEach(k -> {
ErrorCode retError = k.getFirstParam();
TaskInfoDetail taskInfo = k.getSecondParam();
taskData.setId(String.valueOf(taskInfo.getDeviceId()));
taskData.setTaskId(String.valueOf(taskInfo.getId()));
taskData.setType(taskInfo.getType());
taskData.setDisposeIp(taskInfo.getDisposeIp());
taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(taskInfo.getBeginTime())
- Helper.getTimestampDiffNow(taskInfo.getPlanEndTime())));
taskData.setStatus(retError.getCode());
taskData.setMessage(retError.getMsg());
rspInfo.getItems().add(taskData);
});
}
});
return ProtocolRespDTO.result(err, rspInfo);
} }
/** /**
@ -255,7 +302,43 @@ public class DisposeTaskController {
public ProtocolRespDTO taskStopAll(@RequestBody ProtocolReqDTO mr, public ProtocolRespDTO taskStopAll(@RequestBody ProtocolReqDTO mr,
@RequestHeader HttpHeaders headers) @RequestHeader HttpHeaders headers)
throws JsonProcessingException { throws JsonProcessingException {
return taskStopByIp(mr, headers);
ErrorCode err = mr.verifyRequest(headers);
if (err != ErrorCode.ERR_OK) {
return ProtocolRespDTO.result(err);
}
StopTaskData reqInfo = mr.getRequestObject(StopTaskData.class);
TaskInfoRsp rspInfo = new TaskInfoRsp();
TaskInfoData taskData = TaskInfoData.builder().type(reqInfo.getType()).build();
List<MReturnType<ErrorCode, TaskInfoDetail>> ret = taskService.stopTaskByType(reqInfo.getType());
if (ret.size() == 0) {
taskData.setId("-1");
taskData.setStatus(ErrorCode.ERR_NOSUCHTASK.getCode());
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
rspInfo.getItems().add(taskData);
} else {
ret.forEach(k -> {
ErrorCode retError = k.getFirstParam();
TaskInfoDetail taskInfo = k.getSecondParam();
taskData.setId(String.valueOf(taskInfo.getDeviceId()));
taskData.setTaskId(String.valueOf(taskInfo.getId()));
taskData.setType(taskInfo.getType());
taskData.setDisposeIp(taskInfo.getDisposeIp());
taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(taskInfo.getBeginTime())
- Helper.getTimestampDiffNow(taskInfo.getPlanEndTime())));
taskData.setStatus(retError.getCode());
taskData.setMessage(retError.getMsg());
rspInfo.getItems().add(taskData);
});
}
return ProtocolRespDTO.result(err, rspInfo);
} }
/** /**
@ -294,14 +377,12 @@ public class DisposeTaskController {
AtomicBoolean bHasData = new AtomicBoolean(false); AtomicBoolean bHasData = new AtomicBoolean(false);
taskService.getNodeAllTask(v.getId()).parallelStream().forEach(k -> { taskService.getNodeAllTask(v.getId()).parallelStream().forEach(k -> {
if (v.getType().equals(reqInfo.getType()) || reqInfo.getType() == -1) { if (v.getType().equals(reqInfo.getType()) || reqInfo.getType() == -1) {
Long tmLong = Timestamp.valueOf(k.getBeginTime()).toInstant().toEpochMilli() / 1000; int diff = Helper.getTimestampDiff(k.getBeginTime(), k.getPlanEndTime());
Long endTm = Timestamp.valueOf(k.getPlanEndTime()).toInstant().toEpochMilli() / 1000;
Long diff = endTm - tmLong;
TaskInfoData taskInfoData = TaskInfoData.builder() TaskInfoData taskInfoData = TaskInfoData.builder()
.taskId(k.getId().toString()) .taskId(k.getId().toString())
.type(k.getType()) .type(k.getType())
.startTime(tmLong.intValue()) .startTime(Helper.getTimestampSecond(k.getBeginTime()))
.disposeTime(diff.intValue()) .disposeTime(diff)
.disposeIp(k.getDisposeIp()) .disposeIp(k.getDisposeIp())
.flowAttack(0) .flowAttack(0)
.flowClean(0) .flowClean(0)
@ -370,15 +451,13 @@ public class DisposeTaskController {
.collect(Collectors.toList()); .collect(Collectors.toList());
valuableData.parallelStream().forEach(v -> { valuableData.parallelStream().forEach(v -> {
Long tmLong = Timestamp.valueOf(v.getBeginTime()).toInstant().toEpochMilli() / 1000; int diff = Helper.getTimestampDiff(v.getBeginTime(), v.getPlanEndTime());
Long endTm = Timestamp.valueOf(v.getPlanEndTime()).toInstant().toEpochMilli() / 1000;
Long diff = endTm - tmLong;
TaskInfoData taskInfoData = TaskInfoData.builder() TaskInfoData taskInfoData = TaskInfoData.builder()
.taskId(v.getId().toString()) .taskId(v.getId().toString())
.type(v.getType()) .type(v.getType())
.startTime(tmLong.intValue()) .startTime(Helper.getTimestampSecond(v.getBeginTime()))
.disposeTime(diff.intValue()) .disposeTime(diff)
.disposeIp(v.getDisposeIp()) .disposeIp(v.getDisposeIp())
.attackType(Helper.attackStringToArray(v.getAttackType())) .attackType(Helper.attackStringToArray(v.getAttackType()))
.flowDirection(v.getFlowDirection()) .flowDirection(v.getFlowDirection())

View File

@ -48,6 +48,31 @@ public interface TaskService {
*/ */
List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByDisposeIp(Long devId, int type, String ipAddr); List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByDisposeIp(Long devId, int type, String ipAddr);
/**
* Stop task by task id list.
*
* @param taskId the task id
* @return the list
*/
List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByTaskId(Long taskId);
/**
* Stop task by type list.
*
* @param type the type
* @return the list
*/
List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByType(int type);
/**
* Stop task by dispose node list.
*
* @param devId the dev id
* @param type the type
* @return the list
*/
List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByDisposeNode(Long devId, int type);
/** /**
* Finish task error code. * Finish task error code.
* *

View File

@ -384,6 +384,25 @@ public class TaskServiceImpl implements TaskService {
return taskCacheManager.getAllTask(); return taskCacheManager.getAllTask();
} }
@Override
public List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByTaskId(Long taskId) {
List<MReturnType<ErrorCode, TaskInfoDetail>> retList = new ArrayList<>();
// 根据处置IP拿出所有正在处置的任务
List<TaskInfoDetail> taskList = taskCacheManager.getAllTask().parallelStream()
.filter(v -> (Objects.equals(v.getId(), taskId))
&& taskIsRunning(v))
.collect(Collectors.toList());
// 对符合条件的任务调用停止命令
taskList.parallelStream().forEach(v -> {
ErrorCode err = stopTask(v.getId());
retList.add(new MReturnType<>(err, v));
});
return retList;
}
/** /**
* Task is exists boolean. * Task is exists boolean.
* *
@ -408,8 +427,8 @@ public class TaskServiceImpl implements TaskService {
// 根据处置IP拿出所有正在处置的任务 // 根据处置IP拿出所有正在处置的任务
List<TaskInfoDetail> taskList = taskCacheManager.getAllTask().parallelStream() List<TaskInfoDetail> taskList = taskCacheManager.getAllTask().parallelStream()
.filter(v -> ((devId == null || devId == -1L) || Objects.equals(v.getDeviceId(), devId) .filter(v -> ((devId == null || devId == -1L) || Objects.equals(v.getDeviceId(), devId))
&& Objects.equals(v.getType(), type)) && (Objects.equals(v.getType(), type) || type == -1)
&& Objects.equals(v.getDisposeIp(), ipAddr) && Objects.equals(v.getDisposeIp(), ipAddr)
&& taskIsRunning(v)) && taskIsRunning(v))
.collect(Collectors.toList()); .collect(Collectors.toList());
@ -422,4 +441,43 @@ public class TaskServiceImpl implements TaskService {
return retList; return retList;
} }
@Override
public List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByDisposeNode(Long devId, int type) {
List<MReturnType<ErrorCode, TaskInfoDetail>> retList = new ArrayList<>();
// 根据处置IP拿出所有正在处置的任务
List<TaskInfoDetail> taskList = taskCacheManager.getAllTask().parallelStream()
.filter(v -> ((devId == null || devId == -1L) || Objects.equals(v.getDeviceId(), devId))
&& (Objects.equals(v.getType(), type) || type == -1)
&& taskIsRunning(v))
.collect(Collectors.toList());
// 对符合条件的任务调用停止命令
taskList.parallelStream().forEach(v -> {
ErrorCode err = stopTask(v.getId());
retList.add(new MReturnType<>(err, v));
});
return retList;
}
@Override
public List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByType(int type) {
List<MReturnType<ErrorCode, TaskInfoDetail>> retList = new ArrayList<>();
// 根据处置IP拿出所有正在处置的任务
List<TaskInfoDetail> taskList = taskCacheManager.getAllTask().parallelStream()
.filter(v -> (Objects.equals(v.getType(), type) || type == -1)
&& taskIsRunning(v))
.collect(Collectors.toList());
// 对符合条件的任务调用停止命令
taskList.parallelStream().forEach(v -> {
ErrorCode err = stopTask(v.getId());
retList.add(new MReturnType<>(err, v));
});
return retList;
}
} }

View File

@ -10,8 +10,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import javax.annotation.Resource; import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Assert; import org.junit.Assert;
import org.junit.FixMethodOrder;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -30,6 +32,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@Slf4j @Slf4j
public class AuthControllerTest extends InitTestEnvironment { public class AuthControllerTest extends InitTestEnvironment {
/** /**

View File

@ -22,8 +22,10 @@ import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Assert; import org.junit.Assert;
import org.junit.FixMethodOrder;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -43,6 +45,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@Slf4j @Slf4j
public class DeviceNodeManagerControllerTest extends InitTestEnvironment { public class DeviceNodeManagerControllerTest extends InitTestEnvironment {
/** /**

View File

@ -17,8 +17,11 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.junit.FixMethodOrder;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -37,6 +40,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class TaskControllerTest extends InitTestEnvironment { public class TaskControllerTest extends InitTestEnvironment {
/** /**
* The Mock mvc. * The Mock mvc.
@ -133,7 +137,7 @@ public class TaskControllerTest extends InitTestEnvironment {
@Test @Test
public void t2_stopTask() throws Exception { public void t2_stopTask() throws Exception {
IDArrayReq reqData = IDArrayReq.builder() IDArrayReq reqData = IDArrayReq.builder()
.taskId(new String[]{"40", "2"}) .taskId(new String[]{String.valueOf(getExistsTaskId()), "2"})
.build(); .build();
ProtocolReqDTO reqInfo = new ProtocolReqDTO(); ProtocolReqDTO reqInfo = new ProtocolReqDTO();
@ -263,17 +267,10 @@ public class TaskControllerTest extends InitTestEnvironment {
*/ */
@Test @Test
public void t5_stopAllTask() throws Exception { public void t5_stopAllTask() throws Exception {
StopTaskData itemData = StopTaskData.builder() StopTaskData reqData = StopTaskData.builder()
.disposeIp("192.168.1.1")
.type(DeviceCapacity.CLEANUP.getCode()) .type(DeviceCapacity.CLEANUP.getCode())
.id("210")
.build(); .build();
StopTaskReq reqData = new StopTaskReq();
reqData.setItems(new ArrayList<>());
reqData.getItems().add(itemData);
ProtocolReqDTO reqInfo = new ProtocolReqDTO(); ProtocolReqDTO reqInfo = new ProtocolReqDTO();
reqInfo.setVer(ConstValue.Protocol.VERSION); reqInfo.setVer(ConstValue.Protocol.VERSION);
reqInfo.setCryptoType(ConstValue.Protocol.CRYPTO_NONE); reqInfo.setCryptoType(ConstValue.Protocol.CRYPTO_NONE);