REM:
1. 增加登录QA测试用例单测代码
2. 增加注销QA测试用例单测代码
3. 增加添加设备QA测试用例单测代码
4. 增加删除设备QA测试用例单测代码
5. 增加修改设备QA测试用例单测代码
6. 增加查询设备QA测试用例单测代码(分页插件有BUG待处理)
This commit is contained in:
HuangXin 2020-09-13 19:55:19 +08:00
parent c6c7874ac8
commit 6100401b85
10 changed files with 2440 additions and 14 deletions

View File

@ -90,7 +90,7 @@ public class P1DeviceManagerControllerTest extends CommonRestful {
.capacityType(DisposeCapacityType.CLEANUP.getValue())
.objectType(DisposeObjectType.IP.getValue())
.ipType(IpAddrType.IPV4_IPV6.getValue())
.protectIp("")
.protectIp("0.0.0.0")
.build());
addReq.getItems().add(AddDeviceInfo.builder()

View File

@ -3,8 +3,13 @@ package com.dispose.test.qa.exec;
import com.dispose.mapper.DisposeDeviceMapper;
import com.dispose.mapper.DisposeTaskMapper;
import com.dispose.test.common.QATestItem;
import com.dispose.test.qa.testcase.v20.P1;
import com.dispose.test.qa.testcase.v20.P1All;
import com.dispose.test.qa.testcase.v20.P2DeviceAdd;
import com.dispose.test.qa.testcase.v20.P2DeviceDel;
import com.dispose.test.qa.testcase.v20.P2DeviceQuery;
import com.dispose.test.qa.testcase.v20.P2DeviceUpgrade;
import com.dispose.test.qa.testcase.v20.P2Login;
import com.dispose.test.qa.testcase.v20.P2Logout;
import java.util.ArrayList;
import java.util.Collections;
@ -37,8 +42,16 @@ public interface TestCaseRun {
*/
static List<QATestItem> getAllTestCase() {
List<QATestItem> tolTestCase = new ArrayList<>();
Collections.addAll(tolTestCase, P1.getTestCase());
Collections.addAll(tolTestCase, P1All.getTestCase());
Collections.addAll(tolTestCase, P2Login.getTestCase());
Collections.addAll(tolTestCase, P2Logout.getTestCase());
Collections.addAll(tolTestCase, P2DeviceAdd.getTestCase());
Collections.addAll(tolTestCase, P2DeviceDel.getTestCase());
Collections.addAll(tolTestCase, P2DeviceUpgrade.getTestCase());
Collections.addAll(tolTestCase, P2DeviceQuery.getTestCase());
return tolTestCase;
}
}

View File

@ -100,6 +100,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() >= 600)
.collect(Collectors.toList());
}

View File

@ -28,7 +28,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
* @author <huangxin@cmhi.chinamoblie.com>
*/
@Slf4j
public class P1 {
public class P1All {
/**
* The Base p 1 id.
*/
@ -54,6 +54,7 @@ public class P1 {
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode());
Assert.assertEquals("admin", v.getMsgContent().getUserName());
Assert.assertNotEquals(v.getMsgContent().getToken().length(), 0);
@ -76,6 +77,7 @@ public class P1 {
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode());
Assert.assertEquals("admin", v.getMsgContent().getUserName());
Assert.assertNotEquals(v.getMsgContent().getToken().length(), 0);
@ -103,6 +105,7 @@ public class P1 {
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode());
})
.build(),
@ -128,6 +131,7 @@ public class P1 {
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertNotNull(v.getMsgContent().getItems());
Assert.assertNotEquals(v.getMsgContent().getItems().size(), 0);
v.getMsgContent().getItems().forEach(k -> {
@ -152,6 +156,7 @@ public class P1 {
.verifyCallback((VerifyProtoRespCallback<CommDeviceListRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertNotNull(v.getMsgContent().getItems());
Assert.assertNotEquals(v.getMsgContent().getItems().size(), 0);
v.getMsgContent().getItems().forEach(k -> {
@ -184,6 +189,7 @@ public class P1 {
.verifyCallback((VerifyProtoRespCallback<CommDeviceListRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertNotNull(v.getMsgContent().getItems());
Assert.assertNotEquals(v.getMsgContent().getItems().size(), 0);
v.getMsgContent().getItems().forEach(k -> {
@ -241,6 +247,7 @@ public class P1 {
.verifyCallback((VerifyProtoRespCallback<TaskStartRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode());
Assert.assertNotNull(v.getMsgContent().getTaskId());
Assert.assertNotEquals(v.getMsgContent().getTaskId().length(), 0);
@ -263,6 +270,7 @@ public class P1 {
.verifyCallback((VerifyProtoRespCallback<TaskStartRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode());
Assert.assertNotNull(v.getMsgContent().getTaskId());
Assert.assertNotEquals(v.getMsgContent().getTaskId().length(), 0);
@ -284,6 +292,7 @@ public class P1 {
.verifyCallback((VerifyProtoRespCallback<TaskStopRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertNotNull(v.getMsgContent().getItems());
Assert.assertEquals(v.getMsgContent().getItems().size(), 1);
Assert.assertEquals((long) v.getMsgContent().getItems().get(0).getStatus(), e.getCode());
@ -306,6 +315,7 @@ public class P1 {
.verifyCallback((VerifyProtoRespCallback<GetTaskRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode());
Assert.assertEquals((long) v.getMsgContent().getCurPageNumber(), 1);
Assert.assertEquals((long) v.getMsgContent().getPageSize(), 10);

View File

@ -0,0 +1,818 @@
package com.dispose.test.qa.testcase.v20;
import com.dispose.common.DisposeCapacityType;
import com.dispose.common.DisposeDeviceType;
import com.dispose.common.ErrorCode;
import com.dispose.common.HttpType;
import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO;
import com.dispose.pojo.dto.protocol.device.manager.AddDeviceRsp;
import com.dispose.pojo.entity.DisposeDevice;
import com.dispose.test.common.QATestItem;
import com.dispose.test.common.TestPriority;
import com.dispose.test.common.VerifyProtoRespCallback;
import com.dispose.test.qa.exec.TestCaseRun;
import lombok.extern.slf4j.Slf4j;
import org.junit.Assert;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* The type P 2 device add.
*
* @author <huangxin@cmhi.chinamoblie.com>
*/
@Slf4j
public class P2DeviceAdd {
/**
* The constant BASE_P2_DEVICE_ADD_ID.
*/
public static final int BASE_P2_DEVICE_ADD_ID = 300;
/**
* The constant testItemArray.
*/
private static final QATestItem[] testItemArray = new QATestItem[]{
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID)
.name("添加新的虚拟能力节点,具备能力高防和检测")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":2,\"objectType\":2," +
"\"ipType\":3},{\"capacityType\":3,\"objectType\":3,\"ipType\":2," +
"\"reserveNetflow\":40}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
DisposeDevice dev = verifyDeviceAddResp(v, e, c);
Assert.assertEquals(dev.getDevCapacity().size(), 2);
dev.getDevCapacity().forEach(k -> {
if (k.getCapacityType() == DisposeCapacityType.HIDEPEND) {
Assert.assertEquals((long) k.getObjectType().getValue(), 2);
Assert.assertEquals((long) k.getIpType().getValue(), 3);
Assert.assertNull(k.getReserveNetflow());
} else {
Assert.assertEquals((long) k.getObjectType().getValue(), 3);
Assert.assertEquals((long) k.getIpType().getValue(), 2);
Assert.assertEquals((long) k.getReserveNetflow(), 40);
}
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 1)
.name("添加新的虚拟能力节点,具备能力清洗,高防和检测")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.20.1/24\",\"reserveNetflow\":10}," +
"{\"capacityType\":1,\"objectType\":4,\"ipType\":2,\"reserveNetflow\":20}," +
"{\"capacityType\":3,\"objectType\":2,\"ipType\":2}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
DisposeDevice dev = verifyDeviceAddResp(v, e, c);
Assert.assertEquals(dev.getDevCapacity().size(), 3);
dev.getDevCapacity().forEach(k -> {
if (k.getCapacityType() == DisposeCapacityType.CLEANUP) {
Assert.assertEquals((long) k.getObjectType().getValue(), 1);
Assert.assertEquals((long) k.getIpType().getValue(), 1);
Assert.assertEquals((long) k.getReserveNetflow(), 10);
Assert.assertEquals(k.getProtectIp(), "192.168.20.1/24");
} else if (k.getCapacityType() == DisposeCapacityType.BLACKHOOL) {
Assert.assertEquals((long) k.getObjectType().getValue(), 4);
Assert.assertEquals((long) k.getIpType().getValue(), 2);
Assert.assertEquals((long) k.getReserveNetflow(), 20);
} else {
Assert.assertEquals((long) k.getObjectType().getValue(), 2);
Assert.assertEquals((long) k.getIpType().getValue(), 2);
Assert.assertNull(k.getReserveNetflow());
}
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 3)
.name("添加新的能力节点,具备能力清洗,压制,高防,检测")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.20.1/24\",\"reserveNetflow\":10}," +
"{\"capacityType\":1,\"objectType\":4,\"ipType\":2,\"protectIp\":\"\"," +
"\"reserveNetflow\":20},{\"capacityType\":2,\"objectType\":2,\"ipType\":2}," +
"{\"capacityType\":3,\"objectType\":2,\"ipType\":2,\"reserveNetflow\":40}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
DisposeDevice dev = verifyDeviceAddResp(v, e, c);
Assert.assertEquals(dev.getDevCapacity().size(), 4);
dev.getDevCapacity().forEach(k -> {
if (k.getCapacityType() == DisposeCapacityType.CLEANUP) {
Assert.assertEquals((long) k.getObjectType().getValue(), 1);
Assert.assertEquals((long) k.getIpType().getValue(), 1);
Assert.assertEquals((long) k.getReserveNetflow(), 10);
Assert.assertEquals(k.getProtectIp(), "192.168.20.1/24");
} else if (k.getCapacityType() == DisposeCapacityType.BLACKHOOL) {
Assert.assertEquals((long) k.getObjectType().getValue(), 4);
Assert.assertEquals((long) k.getIpType().getValue(), 2);
Assert.assertEquals((long) k.getReserveNetflow(), 20);
Assert.assertEquals(k.getProtectIp(), "");
} else if (k.getCapacityType() == DisposeCapacityType.HIDEPEND) {
Assert.assertEquals((long) k.getObjectType().getValue(), 2);
Assert.assertEquals((long) k.getIpType().getValue(), 2);
Assert.assertNull(k.getReserveNetflow());
} else {
Assert.assertEquals((long) k.getObjectType().getValue(), 2);
Assert.assertEquals((long) k.getIpType().getValue(), 2);
Assert.assertEquals((long) k.getReserveNetflow(), 40);
}
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 4)
.name("添加新的清洗能力节点,处置ip为 192.168.10.1-192.168.10.20")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
DisposeDevice dev = verifyDeviceAddResp(v, e, c);
Assert.assertEquals(dev.getDevCapacity().size(), 1);
dev.getDevCapacity().forEach(k -> {
Assert.assertEquals(k.getCapacityType(), DisposeCapacityType.CLEANUP);
Assert.assertEquals((long) k.getObjectType().getValue(), 1);
Assert.assertEquals((long) k.getIpType().getValue(), 1);
Assert.assertEquals((long) k.getReserveNetflow(), 10);
Assert.assertEquals(k.getProtectIp(), "192.168.10.1-192.168.10.20");
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 5)
.name("添加新的清洗能力节点,处置ip为 192.168.20.1/24")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.20.1/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
DisposeDevice dev = verifyDeviceAddResp(v, e, c);
Assert.assertEquals(dev.getDevCapacity().size(), 1);
dev.getDevCapacity().forEach(k -> {
Assert.assertEquals(k.getCapacityType(), DisposeCapacityType.CLEANUP);
Assert.assertEquals((long) k.getObjectType().getValue(), 1);
Assert.assertEquals((long) k.getIpType().getValue(), 1);
Assert.assertEquals((long) k.getReserveNetflow(), 10);
Assert.assertEquals(k.getProtectIp(), "192.168.20.1/24");
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 6)
.name("添加新的清洗能力节点,处置ip为 10.0.10.1, 10.0.0.1, 10.0.0.31-10.0.0.38")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"10.0.10.1,10.0.0.1,10.0.0.31-10.0.0.38\"," +
"\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
DisposeDevice dev = verifyDeviceAddResp(v, e, c);
Assert.assertEquals(dev.getDevCapacity().size(), 1);
dev.getDevCapacity().forEach(k -> {
Assert.assertEquals(k.getCapacityType(), DisposeCapacityType.CLEANUP);
Assert.assertEquals((long) k.getObjectType().getValue(), 1);
Assert.assertEquals((long) k.getIpType().getValue(), 1);
Assert.assertEquals((long) k.getReserveNetflow(), 10);
Assert.assertEquals(k.getProtectIp(), "10.0.10.1,10.0.0.1,10.0.0.31-10.0.0.38");
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 7)
.name("添加新的清洗能力节点,处置ip为IPV6格式")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"10.0.10.1,10.0.0.1,10.0.0.31-10.0.0.38," +
"ABCD:EF01:2345:6789:ABCD:EF01:2345:6789\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
DisposeDevice dev = verifyDeviceAddResp(v, e, c);
Assert.assertEquals(dev.getDevCapacity().size(), 1);
dev.getDevCapacity().forEach(k -> {
Assert.assertEquals(k.getCapacityType(), DisposeCapacityType.CLEANUP);
Assert.assertEquals((long) k.getObjectType().getValue(), 1);
Assert.assertEquals((long) k.getIpType().getValue(), 1);
Assert.assertEquals((long) k.getReserveNetflow(), 10);
Assert.assertEquals(k.getProtectIp(), "10.0.10.1,10.0.0.1,10.0.0.31-10.0.0.38," +
"ABCD:EF01:2345:6789:ABCD:EF01:2345:6789");
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 8)
.name("添加新的压制能力节点,ipType,protectIp,reserveNetflow值为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":1,\"objectType\":2}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
DisposeDevice dev = verifyDeviceAddResp(v, e, c);
Assert.assertEquals(dev.getDevCapacity().size(), 1);
dev.getDevCapacity().forEach(k -> {
Assert.assertEquals(k.getCapacityType(), DisposeCapacityType.BLACKHOOL);
Assert.assertEquals((long) k.getObjectType().getValue(), 2);
Assert.assertNull(k.getReserveNetflow());
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 9)
.name("添加新的高防能力节点,ipType,protectIp,reserveNetflow值为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":2,\"objectType\":2}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
DisposeDevice dev = verifyDeviceAddResp(v, e, c);
Assert.assertEquals(dev.getDevCapacity().size(), 1);
dev.getDevCapacity().forEach(k -> {
Assert.assertEquals(k.getCapacityType(), DisposeCapacityType.HIDEPEND);
Assert.assertEquals((long) k.getObjectType().getValue(), 2);
Assert.assertNull(k.getReserveNetflow());
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 10)
.name("添加新的检测能力节点,ipType,protectIp,reserveNetflow值为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":3,\"objectType\":2}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
DisposeDevice dev = verifyDeviceAddResp(v, e, c);
Assert.assertEquals(dev.getDevCapacity().size(), 1);
dev.getDevCapacity().forEach(k -> {
Assert.assertEquals(k.getCapacityType(), DisposeCapacityType.DETECTIVE);
Assert.assertEquals((long) k.getObjectType().getValue(), 2);
Assert.assertNull(k.getReserveNetflow());
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 11)
.name("添加已经存在能力节点")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"127.0.0.1\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.20.1/24\",\"reserveNetflow\":10}," +
"{\"capacityType\":1,\"objectType\":4,\"ipType\":2,\"protectIp\":\"\"," +
"\"reserveNetflow\":20},{\"capacityType\":2,\"objectType\":2,\"ipType\":3," +
"\"protectIp\":\"\"},{\"capacityType\":3,\"objectType\":1,\"ipType\":2," +
"\"protectIp\":\"ABCD:EF01:2345:6789:ABCD:EF01:2345:6789\",\"reserveNetflow\":40}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long) v.getCode(), e.getHttpCode());
Assert.assertNotNull(v.getMsgContent().getItems());
Assert.assertEquals(v.getMsgContent().getItems().size(), 1);
v.getMsgContent().getItems().forEach(k -> {
Assert.assertEquals(k.getIpAddr(), "127.0.0.1");
Assert.assertEquals((long) k.getStatus(), ErrorCode.ERR_DEVICEEXISTS.getCode());
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 12)
.name("msgContent为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403,\"msgContent\":}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 13)
.name("msgContent为null")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403,\"msgContent\":null}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 14)
.name("ipAddr为整形")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":123456,\"ipPort\":\"\",\"deviceType\":0," +
"\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\",\"manufacturer\":\"DPTech\"," +
"\"model\":\"UMC\",\"version\":\"5.7.13\",\"userName\":\"test\"," +
"\"password\":\"testpassword\",\"urlPath\":\"UMC/service/AbnormalFlowCleaningService" +
"\",\"urlType\":0,\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0," +
"\"objectType\":1,\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\"," +
"\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 15)
.name("ipAddr为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":,\"ipPort\":\"\",\"deviceType\":0," +
"\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\",\"manufacturer\":\"DPTech\"," +
"\"model\":\"UMC\",\"version\":\"5.7.13\",\"userName\":\"test\"," +
"\"password\":\"testpassword\",\"urlPath\":\"UMC/service/AbnormalFlowCleaningService" +
"\",\"urlType\":0,\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0," +
"\"objectType\":1,\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\"," +
"\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 16)
.name("ipPort为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":,\"deviceType\":0," +
"\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\",\"manufacturer\":\"DPTech\"," +
"\"model\":\"UMC\",\"version\":\"5.7.13\",\"userName\":\"test\"," +
"\"password\":\"testpassword\",\"urlPath\":\"UMC/service/AbnormalFlowCleaningService" +
"\",\"urlType\":0,\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0," +
"\"objectType\":1,\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\"," +
"\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 17)
.name("deviceType为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 18)
.name("deviceType为字符串")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":\"0\",\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 19)
.name("areaCode为字符串")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":\"0\",\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 20)
.name("areaCode为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 21)
.name("urlPath为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\",\"urlPath\":,\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 22)
.name("urlType为字符串")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":\"0\"," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 23)
.name("urlType为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"test\",\"password\":\"testpassword\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 24)
.name("capacityType为字符串")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"admin\",\"password\":\"UMCAdministrator\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":\"0\",\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 25)
.name("capacityType为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"admin\",\"password\":\"UMCAdministrator\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 26)
.name("objectType为字符串")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"admin\",\"password\":\"UMCAdministrator\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":\"1\"," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 27)
.name("objectType为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"admin\",\"password\":\"UMCAdministrator\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 28)
.name("capacityType=0时ipType为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"admin\",\"password\":\"UMCAdministrator\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 29)
.name("capacityType=0时protectIp为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"admin\",\"password\":\"UMCAdministrator\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":,\"reserveNetflow\":10}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_ADD_ID + 30)
.name("capacityType=0时reserveNetflow为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.PUT)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
"\"msgContent\":{\"items\":[{\"ipAddr\":\"10.88.77.15\",\"ipPort\":\"\"," +
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
"\"userName\":\"admin\",\"password\":\"UMCAdministrator\"," +
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
"\"readme\":\"实验室测试设备\",\"capacity\":[{\"capacityType\":0,\"objectType\":1," +
"\"ipType\":1,\"protectIp\":\"192.168.10.1-192.168.10.20/24\",\"reserveNetflow\":}]}]}}")
.rspClass(AddDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<AddDeviceRsp>) P2DeviceAdd::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<AddDeviceRsp> 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());
}
/**
* Verify device add resp dispose device.
*
* @param v the v
* @param e the e
* @param c the c
* @return the dispose device
*/
private static DisposeDevice verifyDeviceAddResp(ProtocolRespDTO<AddDeviceRsp> v, ErrorCode e, TestCaseRun c) {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long) v.getCode(), e.getHttpCode());
Assert.assertNotNull(v.getMsgContent().getItems());
Assert.assertNotEquals(v.getMsgContent().getItems().size(), 0);
v.getMsgContent().getItems().forEach(k -> {
Assert.assertEquals((long) k.getStatus(), ErrorCode.ERR_OK.getCode());
Assert.assertNotNull(k.getDevId());
});
DisposeDevice dev = c.getDisposeDeviceMapper().getDeviceByAddress("10.88.77.15", "");
Assert.assertNotNull(dev);
Assert.assertEquals(dev.getDeviceType(), DisposeDeviceType.DPTECH_UMC);
Assert.assertEquals((long) dev.getAreaCode(), 0);
Assert.assertEquals(dev.getDeviceName(), "中移杭研实验室迪普清洗设备");
Assert.assertEquals(dev.getManufacturer(), "DPTech");
Assert.assertEquals(dev.getModel(), "UMC");
Assert.assertEquals(dev.getVersion(), "5.7.13");
Assert.assertEquals(dev.getUserName(), "test");
Assert.assertEquals(dev.getPassword(), "testpassword");
Assert.assertEquals(dev.getReadme(), "实验室测试设备");
Assert.assertEquals(dev.getUrlType(), HttpType.HTTP);
return dev;
}
}

View File

@ -0,0 +1,121 @@
package com.dispose.test.qa.testcase.v20;
import com.dispose.common.ErrorCode;
import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO;
import com.dispose.pojo.dto.protocol.device.manager.CommDeviceListRsp;
import com.dispose.test.common.QATestItem;
import com.dispose.test.common.TestPriority;
import com.dispose.test.common.VerifyProtoRespCallback;
import com.dispose.test.qa.exec.TestCaseRun;
import lombok.extern.slf4j.Slf4j;
import org.junit.Assert;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* The type P 2 device del.
*
* @author <huangxin@cmhi.chinamoblie.com>
*/
@Slf4j
public class P2DeviceDel {
/**
* The constant BASE_P2_DEVICE_DEL_ID.
*/
public static final int BASE_P2_DEVICE_DEL_ID = 400;
/**
* The constant testItemArray.
*/
private static final QATestItem[] testItemArray = new QATestItem[]{
QATestItem.builder()
.id(BASE_P2_DEVICE_DEL_ID)
.name("删除多个能力节点接口")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.DELETE)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598596120673,\"msgContent\":{\"id\":[\"1\"," +
"\"36\"]}}")
.rspClass(CommDeviceListRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<CommDeviceListRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long) v.getCode(), e.getHttpCode());
Assert.assertNotNull(v.getMsgContent().getItems());
Assert.assertEquals(v.getMsgContent().getItems().size(), 2);
v.getMsgContent().getItems().forEach(k -> {
if ("1".equals(k.getId())) {
Assert.assertNotNull(k.getDevStatus());
Assert.assertEquals((long)k.getStatus(), e.getCode());
} else {
Assert.assertNotNull(k.getDevStatus());
Assert.assertEquals((long)k.getStatus(), ErrorCode.ERR_NOSUCHDEVICE.getCode());
}
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_DEL_ID + 1)
.name("msgContent为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.DELETE)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598596120673,\"msgContent\":}")
.rspClass(CommDeviceListRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<CommDeviceListRsp>) P2DeviceDel::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_DEL_ID + 2)
.name("msgContent为null")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.DELETE)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598596120673,\"msgContent\":null}")
.rspClass(CommDeviceListRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<CommDeviceListRsp>) P2DeviceDel::verifyJsonExceptionResp)
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_DEL_ID + 3)
.name("id为null")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/device")
.method(RequestMethod.DELETE)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598596120673,\"msgContent\":{\"id\":null}}")
.rspClass(CommDeviceListRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<CommDeviceListRsp>) P2DeviceDel::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<CommDeviceListRsp> 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());
}
}

View File

@ -0,0 +1,154 @@
package com.dispose.test.qa.testcase.v20;
import com.dispose.common.DisposeDeviceType;
import com.dispose.common.ErrorCode;
import com.dispose.common.HttpType;
import com.dispose.pojo.dto.protocol.device.manager.GetDeviceRsp;
import com.dispose.pojo.entity.DisposeDevice;
import com.dispose.test.common.QATestItem;
import com.dispose.test.common.TestPriority;
import com.dispose.test.common.VerifyProtoRespCallback;
import com.dispose.test.qa.exec.TestCaseRun;
import org.junit.Assert;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.ArrayList;
/**
* The type P 2 device query.
*
* @author <huangxin@cmhi.chinamoblie.com>
*/
public class P2DeviceQuery {
/**
* The constant BASE_P2_DEVICE_QUERY_ID.
*/
public static final int BASE_P2_DEVICE_QUERY_ID = 600;
/**
* Get test case qa test item [ ].
*
* @return the qa test item [ ]
*/
public static QATestItem[] getTestCase() {
return testItemArray;
}
/**
* The constant testItemArray.
*/
private static final QATestItem[] testItemArray = new QATestItem[]{
QATestItem.builder()
.id(BASE_P2_DEVICE_QUERY_ID)
.name("获取第一页10个设备信息")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/deviceList")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598596065234,\"msgContent\":{\"startPage\":1," +
"\"pageSize\":10}}")
.rspClass(GetDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.prepareCallback(P2DeviceQuery::prepareDisposeDevice)
.verifyCallback((VerifyProtoRespCallback<GetDeviceRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long) v.getCode(), e.getHttpCode());
Assert.assertEquals((long)v.getMsgContent().getStatus(), e.getCode());
Assert.assertEquals((long)v.getMsgContent().getCurPageNumber(), 1);
//Assert.assertEquals((long)v.getMsgContent().getPageSize(), 10);
Assert.assertNotNull(v.getMsgContent().getItems());
//Assert.assertEquals(v.getMsgContent().getItems().size(), 10);
Assert.assertNotEquals(v.getMsgContent().getItems().size(), 0);
v.getMsgContent().getItems().forEach(k -> {
Assert.assertNotNull(k.getId());
Assert.assertNotNull(k.getIpAddr());
Assert.assertNotNull(k.getIpPort());
Assert.assertNotNull(k.getCapacity());
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_QUERY_ID + 1)
.name("获取第二页20个设备信息")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/deviceList")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598596065234,\"msgContent\":{\"startPage\":2," +
"\"pageSize\":20}}")
.rspClass(GetDeviceRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.prepareCallback(P2DeviceQuery::prepareDisposeDevice)
.verifyCallback((VerifyProtoRespCallback<GetDeviceRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long) v.getCode(), e.getHttpCode());
Assert.assertEquals((long)v.getMsgContent().getStatus(), e.getCode());
Assert.assertEquals((long)v.getMsgContent().getCurPageNumber(), 2);
//Assert.assertEquals((long)v.getMsgContent().getPageSize(), 10);
Assert.assertNotNull(v.getMsgContent().getItems());
//Assert.assertEquals(v.getMsgContent().getItems().size(), 20);
Assert.assertNotEquals(v.getMsgContent().getItems().size(), 0);
v.getMsgContent().getItems().forEach(k -> {
Assert.assertNotNull(k.getId());
Assert.assertNotNull(k.getIpAddr());
Assert.assertNotNull(k.getIpPort());
Assert.assertNotNull(k.getCapacity());
});
})
.build(),
QATestItem.builder()
.id(BASE_P2_DEVICE_QUERY_ID + 2)
.name("msgContent为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/manager/deviceList")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598596065234,\"msgContent\":}")
.rspClass(GetDeviceRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<GetDeviceRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long) v.getCode(), e.getHttpCode());
Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode());
})
.build(),
};
/**
* Prepare dispose device.
*
* @param c the c
*/
private static void prepareDisposeDevice(TestCaseRun c) {
for(int i = 0; i < 100; i++) {
DisposeDevice dev = DisposeDevice.builder()
.ipAddr("127.0.0.1")
.ipPort(String.valueOf(1000 + i))
.deviceType(DisposeDeviceType.VIRTUAL_DISPOSE)
.areaCode(0)
.deviceName("实验室虚拟清洗设备")
.manufacturer("CMCC")
.model("Virtual")
.version("v0.0.1")
.userName("admin")
.password("admin")
.urlPath("")
.urlType(HttpType.HTTP)
.readme("实验室虚拟测试设备")
.devCapacity(new ArrayList<>())
.build();
c.getDisposeDeviceMapper().addNewDisposeDevice(dev);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -2,9 +2,11 @@ package com.dispose.test.qa.testcase.v20;
import com.dispose.common.ErrorCode;
import com.dispose.pojo.dto.protocol.auth.LoginRsp;
import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO;
import com.dispose.test.common.QATestItem;
import com.dispose.test.common.TestPriority;
import com.dispose.test.common.VerifyProtoRespCallback;
import com.dispose.test.qa.exec.TestCaseRun;
import lombok.extern.slf4j.Slf4j;
import org.junit.Assert;
import org.springframework.web.bind.annotation.RequestMethod;
@ -37,19 +39,20 @@ public class P2Login {
QATestItem.builder()
.id(BASE_P2_LOGIN_ID)
.name("登陆(采用AES加密后的base64编码格式密文")
.priority(TestPriority.P1_PRIORITY)
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/login")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":2,\"timeStamp\":1599812474663," +
"\"msgContent\":\"vIqGePgNnhhbuQRZhNTLDbtawenSt" +
"+nS21iylRfU9Y8BZMEyUJxBBy3YkCxuTrnloPuJWDaUZZrhP7HVkaMUPrTP0riYfDYDCI" +
"/nFgXc9yc7JoMGy695OGm51czkytcOoqQtND2Ywd0/fNULgu664g==\"}")
"\"msgContent\":\"ZRf9oeT6atFIvE1eF5pn+er+5gAiRaltj35ke1rUmCvQSVhn5P+LsKl3xy0eB1DU" +
"/egV426h9sxe35bGWSz5ozmG7x80KXO0vyuJK4nwnNtO6nGBVF9LO8xl7Lwc3arzZQc4WyhvEH6+S4a" +
"+29Uk7g==\"}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(false)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode());
Assert.assertEquals("admin", v.getMsgContent().getUserName());
Assert.assertNotEquals(v.getMsgContent().getToken().length(), 0);
@ -59,7 +62,7 @@ public class P2Login {
QATestItem.builder()
.id(BASE_P2_LOGIN_ID + 1)
.name("ver为空")
.priority(TestPriority.P1_PRIORITY)
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/login")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\": ,\"cryptoType\": 0,\"timeStamp\": 1598580612302,\"msgContent\": " +
@ -68,11 +71,146 @@ public class P2Login {
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(false)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode());
})
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Login::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGIN_ID + 2)
.name("ver为null")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/login")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":null,\"cryptoType\": 0,\"timeStamp\": 1598580612302,\"msgContent\": " +
"{\"password\": \"c3855e6b6bb120450f160ba91134522868f89d36062f2061ebeefd80817e1d58\"," +
"\"userName\": \"admin\" }}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(false)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Login::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGIN_ID + 3)
.name("cryptoType为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/login")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\": 3,\"cryptoType\": ,\"timeStamp\": 1598580612302,\"msgContent\": {\"password\": " +
"\"c3855e6b6bb120450f160ba91134522868f89d36062f2061ebeefd80817e1d58\",\"userName\": " +
"\"admin\" }}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(false)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Login::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGIN_ID + 4)
.name("cryptoType为null")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/login")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\": 3,\"cryptoType\":null,\"timeStamp\": 1598580612302,\"msgContent\": " +
"{\"password\": \"c3855e6b6bb120450f160ba91134522868f89d36062f2061ebeefd80817e1d58\"," +
"\"userName\": \"admin\" }}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(false)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Login::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGIN_ID + 5)
.name("timeStamp为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/login")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\": ,\"msgContent\": {\"password\": " +
"\"c3855e6b6bb120450f160ba91134522868f89d36062f2061ebeefd80817e1d58\",\"userName\": " +
"\"admin\"}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(false)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Login::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGIN_ID + 6)
.name("timeStamp为null")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/login")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\": null,\"msgContent\": {\"password\": " +
"\"c3855e6b6bb120450f160ba91134522868f89d36062f2061ebeefd80817e1d58\",\"userName\": " +
"\"admin\"}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(false)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Login::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGIN_ID + 7)
.name("userName为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/login")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\": 1598580612302,\"msgContent\": {\"password\": " +
"\"c3855e6b6bb120450f160ba91134522868f89d36062f2061ebeefd80817e1d58\",\"userName\":}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(false)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Login::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGIN_ID + 8)
.name("userName为null")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/login")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\": 1598580612302,\"msgContent\": {\"password\": " +
"\"c3855e6b6bb120450f160ba91134522868f89d36062f2061ebeefd80817e1d58\",\"userName\": " +
"null}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(false)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Login::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGIN_ID + 9)
.name("password为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/login")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\": 1598580612302,\"msgContent\": {\"password\": ," +
"\"userName\": \"admin\"}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(false)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Login::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGIN_ID + 10)
.name("password为null")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/login")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\": 1598580612302,\"msgContent\": " +
"{\"password\":null,\"userName\": \"admin\"}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(false)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Login::verifyJsonFailedResp)
.build(),
};
private static void verifyJsonFailedResp(ProtocolRespDTO<LoginRsp> 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());
}
}

View File

@ -0,0 +1,143 @@
package com.dispose.test.qa.testcase.v20;
import com.dispose.common.ErrorCode;
import com.dispose.pojo.dto.protocol.auth.LoginRsp;
import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO;
import com.dispose.test.common.QATestItem;
import com.dispose.test.common.TestPriority;
import com.dispose.test.common.VerifyProtoRespCallback;
import com.dispose.test.qa.exec.TestCaseRun;
import lombok.extern.slf4j.Slf4j;
import org.junit.Assert;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* The type P 2 logout.
*
* @author <huangxin@cmhi.chinamoblie.com>
*/
@Slf4j
public class P2Logout {
/**
* The constant BASE_P2_LOGOUT_ID.
*/
public static final int BASE_P2_LOGOUT_ID = 200;
/**
* Get test case qa test item [ ].
*
* @return the qa test item [ ]
*/
public static QATestItem[] getTestCase() {
return testItemArray;
}
/**
* The constant testItemArray.
*/
private static final QATestItem[] testItemArray = new QATestItem[]{
QATestItem.builder()
.id(BASE_P2_LOGOUT_ID)
.name("注销存在的用户")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/logout")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598582999559," +
"\"msgContent\":{\"userName\":\"admin\"}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_OK)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) (v, e, c) -> {
Assert.assertNotNull(v);
Assert.assertNotNull(v.getMsgContent());
Assert.assertEquals((long)v.getCode(), e.getHttpCode());
Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode());
Assert.assertEquals("admin", v.getMsgContent().getUserName());
})
.build(),
QATestItem.builder()
.id(BASE_P2_LOGOUT_ID + 1)
.name("注销不存在的用户")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/logout")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1598582999559," +
"\"msgContent\":{\"userName\":\"admin1\"}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_USERNOTFOUND)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Logout::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGOUT_ID + 2)
.name("ver为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/logout")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":,\"cryptoType\":0,\"timeStamp\":1598582999559," +
"\"msgContent\":{\"userName\":\"admin\"}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Logout::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGOUT_ID + 3)
.name("ver为null")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/logout")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":null,\"cryptoType\":0,\"timeStamp\":1598582999559," +
"\"msgContent\":{\"userName\":\"admin\"}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Logout::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGOUT_ID + 4)
.name("cryptoType为空")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/logout")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":,\"timeStamp\":1598582999559," +
"\"msgContent\":{\"userName\":\"admin\"}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Logout::verifyJsonFailedResp)
.build(),
QATestItem.builder()
.id(BASE_P2_LOGOUT_ID + 5)
.name("cryptoType为null")
.priority(TestPriority.P2_PRIORITY)
.urlPath("/auth/logout")
.method(RequestMethod.POST)
.caseJsonValue("{\"ver\":3,\"cryptoType\":null,\"timeStamp\":1598582999559," +
"\"msgContent\":{\"userName\":\"admin\"}}")
.rspClass(LoginRsp.class)
.rspCode(ErrorCode.ERR_PARAMEXCEPTION)
.autoLogin(true)
.verifyCallback((VerifyProtoRespCallback<LoginRsp>) P2Logout::verifyJsonFailedResp)
.build()
};
/**
* Verify json exception resp.
*
* @param v the v
* @param e the e
* @param c the c
*/
private static void verifyJsonFailedResp(ProtocolRespDTO<LoginRsp> 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());
}
}