diff --git a/src/test/java/com/dispose/test/qa/TestCaseRun.java b/src/test/java/com/dispose/test/qa/TestCaseRun.java index f1f5a246..d4514314 100644 --- a/src/test/java/com/dispose/test/qa/TestCaseRun.java +++ b/src/test/java/com/dispose/test/qa/TestCaseRun.java @@ -17,6 +17,7 @@ import com.dispose.test.testcase.qa.v200.P2Logout; import com.dispose.test.testcase.qa.v200.P2TaskList; import com.dispose.test.testcase.qa.v200.P2TaskStart; import com.dispose.test.testcase.qa.v200.P2TaskStartMulIp; +import com.dispose.test.testcase.qa.v200.P2TaskStartDispose; import com.dispose.test.testcase.qa.v200.P2TaskStop; import com.dispose.test.testcase.qa.v200.P3All; @@ -73,6 +74,7 @@ public interface TestCaseRun { Collections.addAll(tolTestCase, P2TaskStart.getTestCase()); Collections.addAll(tolTestCase, P2TaskStartMulIp.getTestCase()); + Collections.addAll(tolTestCase, P2TaskStartDispose.getTestCase()); Collections.addAll(tolTestCase, P2TaskStop.getTestCase()); Collections.addAll(tolTestCase, P2TaskList.getTestCase()); diff --git a/src/test/java/com/dispose/test/qa/impl/JsonTestCaseRun.java b/src/test/java/com/dispose/test/qa/impl/JsonTestCaseRun.java index 2f4ef4bd..2a08ef53 100644 --- a/src/test/java/com/dispose/test/qa/impl/JsonTestCaseRun.java +++ b/src/test/java/com/dispose/test/qa/impl/JsonTestCaseRun.java @@ -107,7 +107,7 @@ public class JsonTestCaseRun extends CommonRestfulJson implements TestCaseRun { .filter(k -> k.getCaseJsonValue() != null && k.getCaseJsonValue().length() > 0) .filter(k -> usedId.size() == 0 || usedId.stream().anyMatch(v -> Objects.equals(v, k.getId()))) .filter(k -> Arrays.stream(CommonEnvironment.commonPriorityFilter).anyMatch(v -> k.getPriority() == v)) - //.filter(k -> k.getId() >= 20000) + //.filter(k -> k.getId() >= 1300) .collect(Collectors.toList()); } diff --git a/src/test/java/com/dispose/test/testcase/qa/v200/P2TaskStartDispose.java b/src/test/java/com/dispose/test/testcase/qa/v200/P2TaskStartDispose.java new file mode 100644 index 00000000..affcb741 --- /dev/null +++ b/src/test/java/com/dispose/test/testcase/qa/v200/P2TaskStartDispose.java @@ -0,0 +1,455 @@ +package com.dispose.test.testcase.qa.v200; + +import com.dispose.common.ErrorCode; +import com.dispose.pojo.dto.protocol.base.BaseRespStatus; +import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO; +import com.dispose.pojo.dto.protocol.task.DisposeTaskStartRsp; +import com.dispose.pojo.dto.protocol.task.TaskStartMulRsp; +import com.dispose.test.common.QATestItem; +import com.dispose.test.common.TestPriority; +import com.dispose.test.common.VerifyProtoRespCallback; +import com.dispose.test.qa.TestCaseRun; +import org.junit.Assert; +import org.springframework.web.bind.annotation.RequestMethod; + +/** + * The type P 2 task start dispose ip. + * + * @author + */ +public class P2TaskStartDispose { + + /** + * The constant BASE_P2_TASK_START_MUL_ID. + */ + public static final int BASE_P2_TASK_START_MUL_ID = 1300; + /** + * The constant testItemArray. + */ + private static final QATestItem[] testItemArray = new QATestItem[]{ + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID) + .name("对多个IP指定攻击类型进行清洗") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":0," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":10," + + "\"flowDirection\":2,\"attackType\":[1,2,3,4,5]}}") + .rspClass(DisposeTaskStartRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(true) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertNotNull(v.getMsgContent().getItems()); + + v.getMsgContent().getItems().forEach(k -> { + Assert.assertNotNull(k.getDisposeObject()); + Assert.assertEquals((long) k.getStatus(), e.getCode()); + Assert.assertNotNull(k.getTaskId()); + Assert.assertNotNull(k.getExpireTime()); + }); + }).build(), + + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 1) + .name("对多个IP全部攻击类型进行清洗") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":0," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":10," + + "\"flowDirection\":2,\"attackType\":[-1]}}") + .rspClass(DisposeTaskStartRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(true) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertNotNull(v.getMsgContent().getItems()); + + v.getMsgContent().getItems().forEach(k -> { + Assert.assertNotNull(k.getDisposeObject()); + Assert.assertEquals((long) k.getStatus(), e.getCode()); + Assert.assertNotNull(k.getTaskId()); + Assert.assertNotNull(k.getExpireTime()); + }); + }) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 2) + .name("对多个IP全部攻击类型进行清洗") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":0," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":10," + + "\"flowDirection\":2}}") + .rspClass(DisposeTaskStartRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(true) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertNotNull(v.getMsgContent().getItems()); + + v.getMsgContent().getItems().forEach(k -> { + Assert.assertNotNull(k.getDisposeObject()); + Assert.assertEquals((long) k.getStatus(), e.getCode()); + Assert.assertNotNull(k.getTaskId()); + Assert.assertNotNull(k.getExpireTime()); + }); + }) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 3) + .name("对多个IPV6指定攻击类型进行清洗") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":0," + + "\"disposeObjects\":[{\"disposeObject\":\"ABCD:EF01:2345:6789:ABCD:EF01:2345:6789\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"ABCD:EF01:2345:6789:ABCD:EF01:2345:1234\", \"objectType\": 1, \"areaCode\": 0}]," + + "\"disposeTime\":10,\"flowDirection\":2, \"attackType\":[1,2,3,4,5]}}") + .rspClass(DisposeTaskStartRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(true) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertNotNull(v.getMsgContent().getItems()); + + v.getMsgContent().getItems().forEach(k -> { + Assert.assertNotNull(k.getDisposeObject()); + Assert.assertEquals((long) k.getStatus(), e.getCode()); + Assert.assertNotNull(k.getTaskId()); + Assert.assertNotNull(k.getExpireTime()); + }); + }) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 4) + .name("对多个IPV6全部攻击类型进行清洗") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":0," + + "\"disposeObjects\":[{\"disposeObject\":\"ABCD:EF01:2345:6789:ABCD:EF01:2345:6789\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"ABCD:EF01:2345:6789:ABCD:EF01:2345:1234\", \"objectType\": 1, \"areaCode\": 0}]," + + "\"disposeTime\":10,\"flowDirection\":2, \"attackType\":[-1]}}") + .rspClass(DisposeTaskStartRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(true) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertNotNull(v.getMsgContent().getItems()); + + v.getMsgContent().getItems().forEach(k -> { + Assert.assertNotNull(k.getDisposeObject()); + Assert.assertEquals((long) k.getStatus(), e.getCode()); + Assert.assertNotNull(k.getTaskId()); + Assert.assertNotNull(k.getExpireTime()); + }); + }) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 5) + .name("对IPV4和IPV6进行清洗") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":0," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"ABCD:EF01:2345:6789:ABCD:EF01:2345:1234\", \"objectType\": 1, \"areaCode\": 0}]," + + "\"disposeTime\":10,\"flowDirection\":2, \"attackType\":[-1]}}") + .rspClass(DisposeTaskStartRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(true) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertNotNull(v.getMsgContent().getItems()); + + v.getMsgContent().getItems().forEach(k -> { + Assert.assertNotNull(k.getDisposeObject()); + Assert.assertEquals((long) k.getStatus(), e.getCode()); + Assert.assertNotNull(k.getTaskId()); + Assert.assertNotNull(k.getExpireTime()); + }); + }) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 6) + .name("对多个IP入向进行清洗") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":0," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":10," + + "\"flowDirection\":0,\"attackType\":[-1]}}") + .rspClass(DisposeTaskStartRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(true) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertNotNull(v.getMsgContent().getItems()); + + v.getMsgContent().getItems().forEach(k -> { + Assert.assertNotNull(k.getDisposeObject()); + Assert.assertEquals((long) k.getStatus(), e.getCode()); + Assert.assertNotNull(k.getTaskId()); + Assert.assertNotNull(k.getExpireTime()); + }); + }) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 7) + .name("对多个IP出向进行清洗") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":0," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":10," + + "\"flowDirection\":1,\"attackType\":[-1]}}") + .rspClass(DisposeTaskStartRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(true) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertNotNull(v.getMsgContent().getItems()); + + v.getMsgContent().getItems().forEach(k -> { + Assert.assertNotNull(k.getDisposeObject()); + Assert.assertEquals((long) k.getStatus(), e.getCode()); + Assert.assertNotNull(k.getTaskId()); + Assert.assertNotNull(k.getExpireTime()); + }); + }) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 8) + .name("对多个IP进行高防处置") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":2," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":10," + + "\"flowDirection\":2,\"attackType\":[-1]}}") + .rspClass(DisposeTaskStartRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(true) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertNotNull(v.getMsgContent().getItems()); + + v.getMsgContent().getItems().forEach(k -> { + Assert.assertNotNull(k.getDisposeObject()); + Assert.assertEquals((long) k.getStatus(), e.getCode()); + Assert.assertNotNull(k.getTaskId()); + Assert.assertNotNull(k.getExpireTime()); + }); + }) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 9) + .name("对多个IP进行压制处置") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":1," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":10," + + "\"flowDirection\":2,\"attackType\":[1,2,3,4,5]}}") + .rspClass(DisposeTaskStartRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(true) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertNotNull(v.getMsgContent().getItems()); + + v.getMsgContent().getItems().forEach(k -> { + Assert.assertNotNull(k.getDisposeObject()); + Assert.assertEquals((long) k.getStatus(), e.getCode()); + Assert.assertNotNull(k.getTaskId()); + Assert.assertNotNull(k.getExpireTime()); + }); + }) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 10) + .name("对多个IP进行检测处置") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":3," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":10," + + "\"flowDirection\":2,\"attackType\":[1,2,3,4,5]}}") + .rspClass(DisposeTaskStartRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(true) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertNotNull(v.getMsgContent().getItems()); + + v.getMsgContent().getItems().forEach(k -> { + Assert.assertNotNull(k.getDisposeObject()); + Assert.assertEquals((long) k.getStatus(), e.getCode()); + Assert.assertNotNull(k.getTaskId()); + Assert.assertNotNull(k.getExpireTime()); + }); + }) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 11) + .name("msgContent为空") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":}") + .rspClass(TaskStartMulRsp.class) + .rspCode(ErrorCode.ERR_PARAMEXCEPTION) + .autoLogin(true) + .verifyCallback(P2TaskStartDispose::verifyJsonExceptionResp) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 12) + .name("type为null") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":null," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":10," + + "\"flowDirection\":2,\"attackType\":[-1]}}") + .rspClass(TaskStartMulRsp.class) + .rspCode(ErrorCode.ERR_PARAMEXCEPTION) + .autoLogin(true) + .verifyCallback(P2TaskStartDispose::verifyJsonExceptionResp) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 13) + .name("type为字符串") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":\"0\"," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":10," + + "\"flowDirection\":2,\"attackType\":[-1]}}") + .rspClass(TaskStartMulRsp.class) + .rspCode(ErrorCode.ERR_PARAMEXCEPTION) + .autoLogin(true) + .verifyCallback(P2TaskStartDispose::verifyJsonExceptionResp) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 14) + .name("disposeObjects为null") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":0," + + "\"disposeObjects\":null,\"disposeTime\":10," + + "\"flowDirection\":2,\"attackType\":[-1]}}") + .rspClass(TaskStartMulRsp.class) + .rspCode(ErrorCode.ERR_PARAMEXCEPTION) + .autoLogin(true) + .verifyCallback(P2TaskStartDispose::verifyJsonExceptionResp) + .build(), + + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 15) + .name("disposeTime为null") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":0," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":null," + + "\"flowDirection\":2,\"attackType\":[-1]}}") + .rspClass(TaskStartMulRsp.class) + .rspCode(ErrorCode.ERR_PARAMEXCEPTION) + .autoLogin(true) + .verifyCallback(P2TaskStartDispose::verifyJsonExceptionResp) + .build(), + + QATestItem.builder() + .id(BASE_P2_TASK_START_MUL_ID + 16) + .name("disposeTime为字符串") + .priority(TestPriority.P2_PRIORITY) + .urlPath("/task/startDispose") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598597142580,\"msgContent\":{\"type\":0," + + "\"disposeObjects\":[{\"disposeObject\":\"192.168.50.4\", \"objectType\": 1, \"areaCode\": 0}," + + "{\"disposeObject\":\"192.168.50.3\", \"objectType\": 1, \"areaCode\": 0}],\"disposeTime\":\"10\"," + + "\"flowDirection\":2,\"attackType\":[-1]}}") + .rspClass(TaskStartMulRsp.class) + .rspCode(ErrorCode.ERR_PARAMEXCEPTION) + .autoLogin(true) + .verifyCallback(P2TaskStartDispose::verifyJsonExceptionResp) + .build(), + }; + + /** + * Get test case qa test item [ ]. + * + * @return the qa test item [ ] + */ + public static QATestItem[] getTestCase() { + return testItemArray; + } + + /** + * Verify json exception resp. + * + * @param v the v + * @param e the e + * @param c the c + */ + private static void verifyJsonExceptionResp(ProtocolRespDTO v, ErrorCode e, + TestCaseRun c) { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getCode(), e.getHttpCode()); + Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode()); + } +}