From 9776440d0414636a70ab5db49c1f5c81280d5ee1 Mon Sep 17 00:00:00 2001 From: HuangXin Date: Sat, 12 Sep 2020 11:01:16 +0800 Subject: [PATCH] =?UTF-8?q?OCT=20REM:=201.=20=E5=A2=9E=E5=8A=A0=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B=202.=20=E4=BF=AE=E6=94=B9=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8BHTTP=E9=94=99=E8=AF=AF=E7=A0=81?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dispose/test/common/TestHelper.java | 19 +++-- .../com/dispose/test/qa/exec/TestCaseRun.java | 2 + .../com/dispose/test/qa/testcase/v20/P1.java | 6 +- .../dispose/test/qa/testcase/v20/P2Login.java | 78 +++++++++++++++++++ 4 files changed, 92 insertions(+), 13 deletions(-) create mode 100644 src/test/java/com/dispose/test/qa/testcase/v20/P2Login.java diff --git a/src/test/java/com/dispose/test/common/TestHelper.java b/src/test/java/com/dispose/test/common/TestHelper.java index e56698e5..02d39820 100644 --- a/src/test/java/com/dispose/test/common/TestHelper.java +++ b/src/test/java/com/dispose/test/common/TestHelper.java @@ -10,7 +10,6 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.web.bind.annotation.RequestMethod; import sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl; -import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Type; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; @@ -39,7 +38,7 @@ public class TestHelper { String urlPath, String loginToken, String sendMsgContent, ErrorCode errCode) throws Exception { MockHttpServletRequestBuilder build; - int httpCode = (errCode == ErrorCode.ERR_OK) ? HttpServletResponse.SC_OK : HttpServletResponse.SC_BAD_REQUEST; + int httpCode = errCode.getHttpCode(); switch (reqType) { case PUT: @@ -62,19 +61,19 @@ public class TestHelper { if (loginToken != null) { build.contentType(MediaType.APPLICATION_JSON) - .header("Authorization", ConstValue.STRING_HTTP_AUTH_HEAD + loginToken) - .content(sendMsgContent); + .header("Authorization", ConstValue.STRING_HTTP_AUTH_HEAD + loginToken) + .content(sendMsgContent); } else { build.contentType(MediaType.APPLICATION_JSON) - .content(sendMsgContent); + .content(sendMsgContent); } return mockMvc.perform(build) - .andDo(print()).andExpect(status().is(httpCode)) - .andExpect(jsonPath("$.code").value(errCode.getHttpCode())) - .andReturn() - .getResponse() - .getContentAsString(); + .andDo(print()).andExpect(status().is(httpCode)) + .andExpect(jsonPath("$.code").value(errCode.getHttpCode())) + .andReturn() + .getResponse() + .getContentAsString(); } /** diff --git a/src/test/java/com/dispose/test/qa/exec/TestCaseRun.java b/src/test/java/com/dispose/test/qa/exec/TestCaseRun.java index 65807fec..49b5495c 100644 --- a/src/test/java/com/dispose/test/qa/exec/TestCaseRun.java +++ b/src/test/java/com/dispose/test/qa/exec/TestCaseRun.java @@ -4,6 +4,7 @@ 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.P2Login; import java.util.ArrayList; import java.util.Collections; @@ -37,6 +38,7 @@ public interface TestCaseRun { static List getAllTestCase() { List tolTestCase = new ArrayList<>(); Collections.addAll(tolTestCase, P1.getTestCase()); + Collections.addAll(tolTestCase, P2Login.getTestCase()); return tolTestCase; } } diff --git a/src/test/java/com/dispose/test/qa/testcase/v20/P1.java b/src/test/java/com/dispose/test/qa/testcase/v20/P1.java index 59f9cf99..e639cd4d 100644 --- a/src/test/java/com/dispose/test/qa/testcase/v20/P1.java +++ b/src/test/java/com/dispose/test/qa/testcase/v20/P1.java @@ -32,7 +32,7 @@ public class P1 { /** * The Base p 1 id. */ - public static final int BASE_P1_ID = 100; + public static final int BASE_P1_ID = 0; /** * The constant testItemArray. @@ -50,7 +50,7 @@ public class P1 { "\"userName\":\"admin\"}}") .rspClass(LoginRsp.class) .rspCode(ErrorCode.ERR_OK) - .autoLogin(true) + .autoLogin(false) .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { Assert.assertNotNull(v); Assert.assertNotNull(v.getMsgContent()); @@ -72,7 +72,7 @@ public class P1 { "jhmODlkMzYwNjJmMjA2MWViZWVmZDgwODE3ZTFkNTgiLCJ1c2VyTmFtZSI6ImFkbWluIn0\"}") .rspClass(LoginRsp.class) .rspCode(ErrorCode.ERR_OK) - .autoLogin(true) + .autoLogin(false) .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { Assert.assertNotNull(v); Assert.assertNotNull(v.getMsgContent()); diff --git a/src/test/java/com/dispose/test/qa/testcase/v20/P2Login.java b/src/test/java/com/dispose/test/qa/testcase/v20/P2Login.java new file mode 100644 index 00000000..09316886 --- /dev/null +++ b/src/test/java/com/dispose/test/qa/testcase/v20/P2Login.java @@ -0,0 +1,78 @@ +package com.dispose.test.qa.testcase.v20; + +import com.dispose.common.ErrorCode; +import com.dispose.pojo.dto.protocol.auth.LoginRsp; +import com.dispose.test.common.QATestItem; +import com.dispose.test.common.TestPriority; +import com.dispose.test.common.VerifyProtoRespCallback; +import lombok.extern.slf4j.Slf4j; +import org.junit.Assert; +import org.springframework.web.bind.annotation.RequestMethod; + +/** + * The type P 2 login. + * + * @author + */ +@Slf4j +public class P2Login { + /** + * The constant BASE_P2_LOGIN_ID. + */ + public static final int BASE_P2_LOGIN_ID = 100; + + /** + * 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_LOGIN_ID) + .name("登陆(采用AES加密后的base64编码格式密文)") + .priority(TestPriority.P1_PRIORITY) + .urlPath("/auth/login") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\":3,\"cryptoType\":2,\"timeStamp\":1599812474663," + + "\"msgContent\":\"vIqGePgNnhhbuQRZhNTLDbtawenSt" + + "+nS21iylRfU9Y8BZMEyUJxBBy3YkCxuTrnloPuJWDaUZZrhP7HVkaMUPrTP0riYfDYDCI" + + "/nFgXc9yc7JoMGy695OGm51czkytcOoqQtND2Ywd0/fNULgu664g==\"}") + .rspClass(LoginRsp.class) + .rspCode(ErrorCode.ERR_OK) + .autoLogin(false) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode()); + Assert.assertEquals("admin", v.getMsgContent().getUserName()); + Assert.assertNotEquals(v.getMsgContent().getToken().length(), 0); + }) + .build(), + + QATestItem.builder() + .id(BASE_P2_LOGIN_ID + 1) + .name("ver为空") + .priority(TestPriority.P1_PRIORITY) + .urlPath("/auth/login") + .method(RequestMethod.POST) + .caseJsonValue("{\"ver\": ,\"cryptoType\": 0,\"timeStamp\": 1598580612302,\"msgContent\": " + + "{\"password\": \"c3855e6b6bb120450f160ba91134522868f89d36062f2061ebeefd80817e1d58\"," + + "\"userName\": \"admin\" }}") + .rspClass(LoginRsp.class) + .rspCode(ErrorCode.ERR_PARAMEXCEPTION) + .autoLogin(false) + .verifyCallback((VerifyProtoRespCallback) (v, e, c) -> { + Assert.assertNotNull(v); + Assert.assertNotNull(v.getMsgContent()); + Assert.assertEquals((long) v.getMsgContent().getStatus(), e.getCode()); + }) + .build(), + }; +}