diff --git a/test/unittest/utils/netstack_chr_client/NetStackChrClientTest.cpp b/test/unittest/utils/netstack_chr_client/NetStackChrClientTest.cpp index bd8ff7a887d76b00c80528d4bfeedbb7656e796f..73f7a11180e0fe53b78334ca18d26b33dec5598f 100644 --- a/test/unittest/utils/netstack_chr_client/NetStackChrClientTest.cpp +++ b/test/unittest/utils/netstack_chr_client/NetStackChrClientTest.cpp @@ -26,15 +26,55 @@ namespace OHOS::NetStack { namespace { using namespace testing::ext; -// static constexpr const char *REQUEST_ID = "123"; -// static constexpr const char *HTTP_VERSION_2 = "2"; static constexpr const char *REQUEST_URL = "https://127.0.0.1"; -// static constexpr const char *REQUEST_ID_ADDRESS = "127.0.0.1"; -// static constexpr const char *REQUEST_STRING = "unused"; -// static constexpr const char *REQUEST_HEADERS = "HTTP/1.1 200 OK\r\nk:v"; -// static constexpr const char *REQUEST_REASON_PARSE = "OK"; -// static constexpr const uint64_t REQUEST_BEGIN_TIME = 100; -// static constexpr const double REQUEST_DNS_TIME = 10; + +static constexpr const char *PROCESS_NAME_DEFAULT_VALUE = "CHR_UT"; + +static constexpr const int UID_DEFAULT_VALUE = 100; +static constexpr const long RESPONSE_CODE_DEFAULT_VALUE = 200; +static constexpr const curl_off_t TOTAL_TIME_DEFAULT_VALUE = 500000; +static constexpr const curl_off_t NAME_LOOK_UP_TIME_DEFAULT_VALUE = 10000; +static constexpr const curl_off_t CONNECT_TIME_DEFAULT_VALUE = 50000; +static constexpr const curl_off_t PRE_TRANSFER_TIME_DEFAULT_VALUE = 80000; +static constexpr const curl_off_t SIZE_UPLOAD_DEFAULT_VALUE = 30; +static constexpr const curl_off_t SIZE_DOWNLOAD_DEFAULT_VALUE = 60; +static constexpr const curl_off_t SPEED_DOWNLOAD_DEFAULT_VALUE = 440; +static constexpr const curl_off_t SPEED_UPLOAD_DEFAULT_VALUE = 180; +static constexpr const char *EFFECTIVE_METHOD_DEFAULT_VALUE = "POST"; +static constexpr const curl_off_t START_TRANSFER_TIME_DEFAULT_VALUE = 500; +static constexpr const char *CONTENT_TYPE_DEFAULT_VALUE = "application/json; charset=utf-8"; +static constexpr const curl_off_t REDIRECT_TIME_DEFAULT_VALUE = 0; +static constexpr const long REDIRECT_COUNT_DEFAULT_VALUE = 0; +static constexpr const long OS_ERROR_DEFAULT_VALUE = 0; +static constexpr const long SSL_VERIFYRESULT_DEFAULT_VALUE = 0; +static constexpr const curl_off_t APPCONNECT_TIME_DEFAULT_VALUE = 80000; +static constexpr const curl_off_t RETRY_AFTER_DEFAULT_VALUE = 0; +static constexpr const long PROXY_ERROR_DEFAULT_VALUE = 0; +static constexpr const curl_off_t QUEUE_TIME_DEFAULT_VALUE = 12000; +static constexpr const long CURL_CODE_DEFAULT_VALUE = 0; +static constexpr const long REQUEST_START_TIME_DEFAULT_VALUE = 1747359000000; + +static constexpr const uint32_t UNACKED_DEFAULT_VALUE = 0; +static constexpr const uint32_t LAST_DATA_SENT_DEFAULT_VALUE = 1000; +static constexpr const uint32_t LAST_ACK_SENT_DEFAULT_VALUE = 0; +static constexpr const uint32_t LAST_DATA_RECV_DEFAULT_VALUE = 1000; +static constexpr const uint32_t LAST_ACK_RECV_DEFAULT_VALUE = 1000; +static constexpr const uint32_t RTT_DEFAULT_VALUE = 12000; +static constexpr const uint32_t RTTVAR_DEFAULT_VALUE = 4000; +static constexpr const uint16_t RETRANSMITS_DEFAULT_VALUE = 0; +static constexpr const uint32_t TOTAL_RETRANS_DEFAULT_VALUE = 0; +static constexpr const char *SRC_IP_DEFAULT_VALUE = "7.246.***.***"; +static constexpr const char *DST_IP_DEFAULT_VALUE = "7.246.***.***"; +static constexpr const uint16_t SRC_PORT_DEFAULT_VALUE = 54000; +static constexpr const uint16_t DST_PORT_DEFAULT_VALUE = 54000; + +static constexpr const long RESPONSE_ERROR_CODE = 301; +static constexpr const long OS_ERROR_CODE = 1; +static constexpr const long PROXY_ERROR_CODE = 1; +static constexpr const long CURL_ERROR_CODE = 1; +static constexpr const curl_off_t SIZE_UPLOAD_TEST = 50000; +static constexpr const curl_off_t SIZE_DOWNLOAD_TEST = 50000; +static constexpr const curl_off_t TOTAL_TIME_TEST = 501000; CURL *GetCurlHandle() { @@ -58,45 +98,45 @@ public: void FillNormalvalue(ChrClient::DataTransChrStats& chrStats) { - chrStats.processName = "CHR_Unit_Test_Case"; - - chrStats.httpInfo.uid = 100; - chrStats.httpInfo.responseCode = 200; - chrStats.httpInfo.totalTime = 500000; - chrStats.httpInfo.nameLookUpTime = 10000; - chrStats.httpInfo.connectTime = 50000; - chrStats.httpInfo.preTransferTime = 80000; - chrStats.httpInfo.sizeUpload = 30; - chrStats.httpInfo.sizeDownload = 60; - chrStats.httpInfo.speedDownload = 440; - chrStats.httpInfo.speedUpload = 180; - chrStats.httpInfo.effectiveMethod = "POST"; - chrStats.httpInfo.startTransferTime = "application/json; charset=utf-8"; - chrStats.httpInfo.contentType = 0; - chrStats.httpInfo.redirectTime = 0; - chrStats.httpInfo.redirectCount = 0; - chrStats.httpInfo.osError = 0; - chrStats.httpInfo.sslVerifyResult= 0; - chrStats.httpInfo.appconnectTime = 80000; - chrStats.httpInfo.retryAfter = 0; - chrStats.httpInfo.proxyError = 0; - chrStats.httpInfo.queueTime = 12000; - chrStats.httpInfo.curlCode = 0; - chrStats.httpInfo.requestStartTime = 1747359000000; - - chrStats.tcpInfo.unacked = 0; - chrStats.tcpInfo.lastDataSent = 1000; - chrStats.tcpInfo.lastAckSent = 0; - chrStats.tcpInfo.lastDataRecv 1000; - chrStats.tcpInfo.lastAckRecv = 1000; - chrStats.tcpInfo.rtt = 12000; - chrStats.tcpInfo.rttvar = 4000; - chrStats.tcpInfo.retransmits = 0; - chrStats.tcpInfo.totalRetrans = 0; - chrStats.tcpInfo.srcIp = "7.246.***.***"; - chrStats.tcpInfo.dstIp = "7.246.***.***"; - chrStats.tcpInfo.srcPort = 54000; - chrStats.tcpInfo.dstPort = 54000; + chrStats.processName = PROCESS_NAME_DEFAULT_VALUE; + + chrStats.httpInfo.uid = UID_DEFAULT_VALUE; + chrStats.httpInfo.responseCode = RESPONSE_CODE_DEFAULT_VALUE; + chrStats.httpInfo.totalTime = TOTAL_TIME_DEFAULT_VALUE; + chrStats.httpInfo.nameLookUpTime = NAME_LOOK_UP_TIME_DEFAULT_VALUE; + chrStats.httpInfo.connectTime = CONNECT_TIME_DEFAULT_VALUE; + chrStats.httpInfo.preTransferTime = PRE_TRANSFER_TIME_DEFAULT_VALUE; + chrStats.httpInfo.sizeUpload = SIZE_UPLOAD_DEFAULT_VALUE; + chrStats.httpInfo.sizeDownload = SIZE_DOWNLOAD_DEFAULT_VALUE; + chrStats.httpInfo.speedDownload = SPEED_DOWNLOAD_DEFAULT_VALUE; + chrStats.httpInfo.speedUpload = SPEED_UPLOAD_DEFAULT_VALUE; + chrStats.httpInfo.effectiveMethod = EFFECTIVE_METHOD_DEFAULT_VALUE; + chrStats.httpInfo.startTransferTime = START_TRANSFER_TIME_DEFAULT_VALUE; + chrStats.httpInfo.contentType = CONTENT_TYPE_DEFAULT_VALUE; + chrStats.httpInfo.redirectTime = REDIRECT_TIME_DEFAULT_VALUE; + chrStats.httpInfo.redirectCount = REDIRECT_COUNT_DEFAULT_VALUE; + chrStats.httpInfo.osError = OS_ERROR_DEFAULT_VALUE; + chrStats.httpInfo.sslVerifyResult= SSL_VERIFYRESULT_DEFAULT_VALUE; + chrStats.httpInfo.appconnectTime = APPCONNECT_TIME_DEFAULT_VALUE; + chrStats.httpInfo.retryAfter = RETRY_AFTER_DEFAULT_VALUE; + chrStats.httpInfo.proxyError = PROXY_ERROR_DEFAULT_VALUE; + chrStats.httpInfo.queueTime = QUEUE_TIME_DEFAULT_VALUE; + chrStats.httpInfo.curlCode = CURL_CODE_DEFAULT_VALUE; + chrStats.httpInfo.requestStartTime = REQUEST_START_TIME_DEFAULT_VALUE; + + chrStats.tcpInfo.unacked = UNACKED_DEFAULT_VALUE; + chrStats.tcpInfo.lastDataSent = LAST_DATA_SENT_DEFAULT_VALUE; + chrStats.tcpInfo.lastAckSent = LAST_ACK_SENT_DEFAULT_VALUE; + chrStats.tcpInfo.lastDataRecv = LAST_DATA_RECV_DEFAULT_VALUE; + chrStats.tcpInfo.lastAckRecv = LAST_ACK_RECV_DEFAULT_VALUE; + chrStats.tcpInfo.rtt = RTT_DEFAULT_VALUE; + chrStats.tcpInfo.rttvar = RTTVAR_DEFAULT_VALUE; + chrStats.tcpInfo.retransmits = RETRANSMITS_DEFAULT_VALUE; + chrStats.tcpInfo.totalRetrans = TOTAL_RETRANS_DEFAULT_VALUE; + chrStats.tcpInfo.srcIp = SRC_IP_DEFAULT_VALUE; + chrStats.tcpInfo.dstIp = DST_IP_DEFAULT_VALUE; + chrStats.tcpInfo.srcPort = SRC_PORT_DEFAULT_VALUE; + chrStats.tcpInfo.dstPort = DST_PORT_DEFAULT_VALUE; } HWTEST_F(NetStackChrClientTest, NetStackChrClientTestResponseCode, TestSize.Level2) @@ -135,8 +175,8 @@ HWTEST_F(NetStackChrClientTest, NetStackChrClientTestNotReport, TestSize.Level2) ChrClient::NetStackChrReport netstackChrReport; ChrClient::DataTransChrStats chrStats; FillNormalvalue(chrStats); - - int res = ChrClient::NetStackChrClient::GetInstance().shouldReportHttpAbnormalEvent(chrStats.httpInfo); + + int res = ChrClient::NetStackChrClient::GetInstance().ShouldReportHttpAbnormalEvent(chrStats.httpInfo); EXPECT_EQ(res, -1); } @@ -145,9 +185,9 @@ HWTEST_F(NetStackChrClientTest, NetStackChrClientTestResponseCodeError, TestSize ChrClient::NetStackChrReport netstackChrReport; ChrClient::DataTransChrStats chrStats; FillNormalvalue(chrStats); - - chrStats.httpInfo.responseCode = 301; - int res = ChrClient::NetStackChrClient::GetInstance().shouldReportHttpAbnormalEvent(chrStats.httpInfo); + + chrStats.httpInfo.responseCode = RESPONSE_ERROR_CODE; + int res = ChrClient::NetStackChrClient::GetInstance().ShouldReportHttpAbnormalEvent(chrStats.httpInfo); EXPECT_EQ(res, 0); } @@ -156,9 +196,9 @@ HWTEST_F(NetStackChrClientTest, NetStackChrClientTestOSError, TestSize.Level2) ChrClient::NetStackChrReport netstackChrReport; ChrClient::DataTransChrStats chrStats; FillNormalvalue(chrStats); - - chrStats.httpInfo.osError = 1; - int res = ChrClient::NetStackChrClient::GetInstance().shouldReportHttpAbnormalEvent(chrStats.httpInfo); + + chrStats.httpInfo.osError = OS_ERROR_CODE; + int res = ChrClient::NetStackChrClient::GetInstance().ShouldReportHttpAbnormalEvent(chrStats.httpInfo); EXPECT_EQ(res, 0); } @@ -167,9 +207,9 @@ HWTEST_F(NetStackChrClientTest, NetStackChrClientTestProxyError, TestSize.Level2 ChrClient::NetStackChrReport netstackChrReport; ChrClient::DataTransChrStats chrStats; FillNormalvalue(chrStats); - - chrStats.httpInfo.proxyError = 1; - int res = ChrClient::NetStackChrClient::GetInstance().shouldReportHttpAbnormalEvent(chrStats.httpInfo); + + chrStats.httpInfo.proxyError = PROXY_ERROR_CODE; + int res = ChrClient::NetStackChrClient::GetInstance().ShouldReportHttpAbnormalEvent(chrStats.httpInfo); EXPECT_EQ(res, 0); } @@ -178,9 +218,9 @@ HWTEST_F(NetStackChrClientTest, NetStackChrClientTestCurlCodeError, TestSize.Lev ChrClient::NetStackChrReport netstackChrReport; ChrClient::DataTransChrStats chrStats; FillNormalvalue(chrStats); - - chrStats.httpInfo.curlCode = 1; - int res = ChrClient::NetStackChrClient::GetInstance().shouldReportHttpAbnormalEvent(chrStats.httpInfo); + + chrStats.httpInfo.curlCode = CURL_ERROR_CODE; + int res = ChrClient::NetStackChrClient::GetInstance().ShouldReportHttpAbnormalEvent(chrStats.httpInfo); EXPECT_EQ(res, 0); } @@ -189,11 +229,11 @@ HWTEST_F(NetStackChrClientTest, NetStackChrClientTestShortRequestButTimeout, Tes ChrClient::NetStackChrReport netstackChrReport; ChrClient::DataTransChrStats chrStats; FillNormalvalue(chrStats); - - chrStats.httpInfo.sizeUpload = 50000; - chrStats.httpInfo.sizeDownload = 50000; - chrStats.httpInfo.totalTime = 501000; - int res = ChrClient::NetStackChrClient::GetInstance().shouldReportHttpAbnormalEvent(chrStats.httpInfo); + + chrStats.httpInfo.sizeUpload = SIZE_UPLOAD_TEST; + chrStats.httpInfo.sizeDownload = SIZE_DOWNLOAD_TEST; + chrStats.httpInfo.totalTime = TOTAL_TIME_TEST; + int res = ChrClient::NetStackChrClient::GetInstance().ShouldReportHttpAbnormalEvent(chrStats.httpInfo); EXPECT_EQ(res, 0); } @@ -201,8 +241,9 @@ HWTEST_F(NetStackChrClientTest, NetStackChrClientTestTimeLimits, TestSize.Level2 { ChrClient::NetStackChrReport netstackChrReport; ChrClient::DataTransChrStats chrStats; - + netstackChrReport.ReportCommonEvent(chrStats); int second_ret = netstackChrReport.ReportCommonEvent(chrStats); - EXPECT_EQ(second_ret, -1); + EXPECT_EQ(second_ret, 1); +} } \ No newline at end of file diff --git a/utils/netstack_chr_client/include/netstack_chr_client.h b/utils/netstack_chr_client/include/netstack_chr_client.h index 7ffd9b5effbb52ddc70e4e2b1748285a0d7ea77c..fadb94450bf03ee46ce83151fb0452ad0b16e4e9 100644 --- a/utils/netstack_chr_client/include/netstack_chr_client.h +++ b/utils/netstack_chr_client/include/netstack_chr_client.h @@ -42,8 +42,8 @@ private: static DataType GetNumericAttributeFromCurl(CURL *handle, CURLINFO info); static std::string GetStringAttributeFromCurl(CURL *handle, CURLINFO info); static long GetRequestStartTime(curl_off_t totalTime); - static int shouldReportHttpAbnormalEvent(const DataTransHttpInfo &httpInfo); - NetStackChrReport netstackChrReport; + static int ShouldReportHttpAbnormalEvent(const DataTransHttpInfo &httpInfo); + NetStackChrReport netstackChrReport_; }; } // namespace OHOS::NetStack::ChrClient diff --git a/utils/netstack_chr_client/src/netstack_chr_client.cpp b/utils/netstack_chr_client/src/netstack_chr_client.cpp index d7ffeec9d30474b88d46acfb4e1cdb59cccc98c6..0ad5254220d96935f9bc2748ca56b7ca70425fd6 100644 --- a/utils/netstack_chr_client/src/netstack_chr_client.cpp +++ b/utils/netstack_chr_client/src/netstack_chr_client.cpp @@ -164,7 +164,7 @@ void NetStackChrClient::GetHttpInfoFromCurl(CURL *handle, DataTransHttpInfo &htt httpInfo.contentType = GetStringAttributeFromCurl(handle, CURLINFO_CONTENT_TYPE); } -int NetStackChrClient::shouldReportHttpAbnormalEvent(const DataTransHttpInfo &httpInfo) +int NetStackChrClient::ShouldReportHttpAbnormalEvent(const DataTransHttpInfo &httpInfo) { if (httpInfo.curlCode != 0 || httpInfo.responseCode != HTTP_REQUEST_SUCCESS || httpInfo.osError != 0 || httpInfo.proxyError != 0) { @@ -192,7 +192,7 @@ void NetStackChrClient::GetDfxInfoFromCurlHandleAndReport(CURL *handle, int32_t } GetHttpInfoFromCurl(handle, dataTransChrStats.httpInfo); - if (shouldReportHttpAbnormalEvent(dataTransChrStats.httpInfo) != 0) { + if (ShouldReportHttpAbnormalEvent(dataTransChrStats.httpInfo) != 0) { return; } @@ -203,7 +203,7 @@ void NetStackChrClient::GetDfxInfoFromCurlHandleAndReport(CURL *handle, int32_t NETSTACK_LOGD("Chr client get tcp info from socket failed, sockfd: %{public}" PRId64, sockfd); } - int ret = netstackChrReport.ReportCommonEvent(dataTransChrStats); + int ret = netstackChrReport_.ReportCommonEvent(dataTransChrStats); if (ret > 0) { NETSTACK_LOGE("Send to CHR failed, error code %{public}d", ret); }