From a40ef101d6bca8571fb7491488b6241fa077b4f3 Mon Sep 17 00:00:00 2001 From: daiweihao Date: Wed, 3 Jul 2024 09:33:56 +0800 Subject: [PATCH] Signed-off-by: daiweihao ==-------------------------------------------== supplement websocket_test.cpp testcase https://gitee.com/openharmony/arkcompiler_toolchain/issues/IAA24Z?from=project-issue ==-------------------------------------------== Change-Id: I2deac8d279b7659a9f50b2af69e2f3d45d080334 --- websocket/test/websocket_test.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/websocket/test/websocket_test.cpp b/websocket/test/websocket_test.cpp index 7349dd33..619d96a5 100644 --- a/websocket/test/websocket_test.cpp +++ b/websocket/test/websocket_test.cpp @@ -68,6 +68,8 @@ HWTEST_F(WebSocketTest, ConnectWebSocketTest, testing::ext::TestSize.Level0) #if defined(OHOS_PLATFORM) int appPid = getpid(); ret = serverSocket.InitUnixWebSocket(UNIX_DOMAIN_PATH + std::to_string(appPid), 5); + ASSERT_FALSE(serverSocket.InitUnixWebSocket(-1)); + ASSERT_TRUE(serverSocket.ConnectUnixWebSocketBySocketpair()); #else ret = serverSocket.InitTcpWebSocket(TCP_PORT, 5); #endif @@ -78,6 +80,20 @@ HWTEST_F(WebSocketTest, ConnectWebSocketTest, testing::ext::TestSize.Level0) // note: EXPECT/ASSERT produce errors in subprocess that can not lead to failure of testcase in mainprocess, // so testcase still success finally. WebSocketClient clientSocket; + auto failCallBack = []() -> void { + GTEST_LOG_(INFO) << "ConnectWebSocketTest connection is closed."; + }; + clientSocket.SetCloseConnectionCallback(failCallBack); + + auto closeCallBack = []() -> void { + GTEST_LOG_(INFO) << "ConnectWebSocketTest connection is failed."; + }; + clientSocket.SetFailConnectionCallback(closeCallBack); + + ASSERT_STREQ(clientSocket.GetSocketStateString().c_str(), "uninited"); + ASSERT_FALSE(clientSocket.ClientSendWSUpgradeReq()); + ASSERT_FALSE(clientSocket.ClientRecvWSUpgradeRsp()); + bool retClient = false; #if defined(OHOS_PLATFORM) retClient = clientSocket.InitToolchainWebSocketForSockName(UNIX_DOMAIN_PATH + std::to_string(appPid), 5); @@ -123,6 +139,17 @@ HWTEST_F(WebSocketTest, ConnectWebSocketTest, testing::ext::TestSize.Level0) exit(0); } else if (pid > 0) { // mainprocess, handle server connect and recv/send message + auto validateCallBack = [](const HttpRequest&) -> bool { + GTEST_LOG_(INFO) << "ConnectWebSocketTest connection request is valid."; + return true; + }; + serverSocket.SetValidateConnectionCallback(validateCallBack); + + auto openCallBack = []() -> void { + GTEST_LOG_(INFO) << "ConnectWebSocketTest connection is open."; + }; + serverSocket.SetOpenConnectionCallback(openCallBack); + ret = serverSocket.AcceptNewConnection(); ASSERT_TRUE(ret); std::string recv = serverSocket.Decode(); -- Gitee