1c29fa5a6Sopenharmony_ci/* 2c29fa5a6Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3c29fa5a6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4c29fa5a6Sopenharmony_ci * you may not use this file except in compliance with the License. 5c29fa5a6Sopenharmony_ci * You may obtain a copy of the License at 6c29fa5a6Sopenharmony_ci * 7c29fa5a6Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8c29fa5a6Sopenharmony_ci * 9c29fa5a6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10c29fa5a6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11c29fa5a6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12c29fa5a6Sopenharmony_ci * See the License for the specific language governing permissions and 13c29fa5a6Sopenharmony_ci * limitations under the License. 14c29fa5a6Sopenharmony_ci */ 15c29fa5a6Sopenharmony_ci 16c29fa5a6Sopenharmony_ci#include <gtest/gtest.h> 17c29fa5a6Sopenharmony_ci 18c29fa5a6Sopenharmony_ci#include "mmi_log.h" 19c29fa5a6Sopenharmony_ci#include "proto.h" 20c29fa5a6Sopenharmony_ci#include "uds_server.h" 21c29fa5a6Sopenharmony_ci 22c29fa5a6Sopenharmony_ci#undef MMI_LOG_TAG 23c29fa5a6Sopenharmony_ci#define MMI_LOG_TAG "UDSServerTest" 24c29fa5a6Sopenharmony_cinamespace OHOS { 25c29fa5a6Sopenharmony_cinamespace MMI { 26c29fa5a6Sopenharmony_cinamespace { 27c29fa5a6Sopenharmony_ciusing namespace testing::ext; 28c29fa5a6Sopenharmony_ciconst std::string PROGRAM_NAME = "uds_server_test"; 29c29fa5a6Sopenharmony_ciconstexpr int32_t MODULE_TYPE = 1; 30c29fa5a6Sopenharmony_ciconstexpr int32_t UDS_FD = -1; 31c29fa5a6Sopenharmony_ciconstexpr int32_t UDS_UID = 100; 32c29fa5a6Sopenharmony_ciconstexpr int32_t UDS_PID = 100; 33c29fa5a6Sopenharmony_ci} // namespace 34c29fa5a6Sopenharmony_ci 35c29fa5a6Sopenharmony_ciclass UDSServerTest : public testing::Test { 36c29fa5a6Sopenharmony_cipublic: 37c29fa5a6Sopenharmony_ci static void SetUpTestCase(void) {} 38c29fa5a6Sopenharmony_ci static void TearDownTestCase(void) {} 39c29fa5a6Sopenharmony_ci}; 40c29fa5a6Sopenharmony_ci 41c29fa5a6Sopenharmony_ciclass UDSServerUnitTest : public UDSServer { 42c29fa5a6Sopenharmony_cipublic: 43c29fa5a6Sopenharmony_ci void SetFd(int32_t fd) 44c29fa5a6Sopenharmony_ci { 45c29fa5a6Sopenharmony_ci fd_ = fd; 46c29fa5a6Sopenharmony_ci } 47c29fa5a6Sopenharmony_ci}; 48c29fa5a6Sopenharmony_ci 49c29fa5a6Sopenharmony_ci/** 50c29fa5a6Sopenharmony_ci * @tc.name: SendMsg_001 51c29fa5a6Sopenharmony_ci * @tc.desc: Test the function SendMsg_001 52c29fa5a6Sopenharmony_ci * @tc.type: FUNC 53c29fa5a6Sopenharmony_ci * @tc.require: 54c29fa5a6Sopenharmony_ci */ 55c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, SendMsg_001, TestSize.Level1) 56c29fa5a6Sopenharmony_ci{ 57c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 58c29fa5a6Sopenharmony_ci MmiMessageId msgId = MmiMessageId::INVALID; 59c29fa5a6Sopenharmony_ci NetPacket pkt(msgId); 60c29fa5a6Sopenharmony_ci int32_t fd = 1000; 61c29fa5a6Sopenharmony_ci UDSServer serObj; 62c29fa5a6Sopenharmony_ci bool retResult = serObj.SendMsg(fd, pkt); 63c29fa5a6Sopenharmony_ci EXPECT_FALSE(retResult); 64c29fa5a6Sopenharmony_ci} 65c29fa5a6Sopenharmony_ci 66c29fa5a6Sopenharmony_ci/** 67c29fa5a6Sopenharmony_ci * @tc.name: SendMsg_002 68c29fa5a6Sopenharmony_ci * @tc.desc: Test the function SendMsg_002 69c29fa5a6Sopenharmony_ci * @tc.type: FUNC 70c29fa5a6Sopenharmony_ci * @tc.require: 71c29fa5a6Sopenharmony_ci */ 72c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, SendMsg_002, TestSize.Level1) 73c29fa5a6Sopenharmony_ci{ 74c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 75c29fa5a6Sopenharmony_ci MmiMessageId msgId = MmiMessageId::INVALID; 76c29fa5a6Sopenharmony_ci NetPacket pkt(msgId); 77c29fa5a6Sopenharmony_ci 78c29fa5a6Sopenharmony_ci int32_t fd = -1001; 79c29fa5a6Sopenharmony_ci UDSServer serObj; 80c29fa5a6Sopenharmony_ci bool retResult = serObj.SendMsg(fd, pkt); 81c29fa5a6Sopenharmony_ci ASSERT_FALSE(retResult); 82c29fa5a6Sopenharmony_ci} 83c29fa5a6Sopenharmony_ci 84c29fa5a6Sopenharmony_ci/** 85c29fa5a6Sopenharmony_ci * @tc.name: SendMsg_003 86c29fa5a6Sopenharmony_ci * @tc.desc: Test the function SendMsg_003 87c29fa5a6Sopenharmony_ci * @tc.type: FUNC 88c29fa5a6Sopenharmony_ci * @tc.require: 89c29fa5a6Sopenharmony_ci */ 90c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, SendMsg_003, TestSize.Level1) 91c29fa5a6Sopenharmony_ci{ 92c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 93c29fa5a6Sopenharmony_ci MmiMessageId msgId = MmiMessageId::INVALID; 94c29fa5a6Sopenharmony_ci NetPacket pkt(msgId); 95c29fa5a6Sopenharmony_ci 96c29fa5a6Sopenharmony_ci int32_t fd = 3333; 97c29fa5a6Sopenharmony_ci UDSServer serObj; 98c29fa5a6Sopenharmony_ci bool retResult = serObj.SendMsg(fd, pkt); 99c29fa5a6Sopenharmony_ci ASSERT_FALSE(retResult); 100c29fa5a6Sopenharmony_ci} 101c29fa5a6Sopenharmony_ci 102c29fa5a6Sopenharmony_ci/** 103c29fa5a6Sopenharmony_ci * @tc.name: Multicast 104c29fa5a6Sopenharmony_ci * @tc.desc: Test the function Multicast 105c29fa5a6Sopenharmony_ci * @tc.type: FUNC 106c29fa5a6Sopenharmony_ci * @tc.require: 107c29fa5a6Sopenharmony_ci */ 108c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, Multicast, TestSize.Level1) 109c29fa5a6Sopenharmony_ci{ 110c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 111c29fa5a6Sopenharmony_ci MmiMessageId msgId = MmiMessageId::INVALID; 112c29fa5a6Sopenharmony_ci NetPacket pkt(msgId); 113c29fa5a6Sopenharmony_ci std::vector<int32_t> fds; 114c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(fds.push_back(1)); 115c29fa5a6Sopenharmony_ci 116c29fa5a6Sopenharmony_ci UDSServer serObj; 117c29fa5a6Sopenharmony_ci serObj.Multicast(fds, pkt); 118c29fa5a6Sopenharmony_ci} 119c29fa5a6Sopenharmony_ci 120c29fa5a6Sopenharmony_ci/** 121c29fa5a6Sopenharmony_ci * @tc.name: Stop_001 122c29fa5a6Sopenharmony_ci * @tc.desc: Test the function Stop_001 123c29fa5a6Sopenharmony_ci * @tc.type: FUNC 124c29fa5a6Sopenharmony_ci * @tc.require: 125c29fa5a6Sopenharmony_ci */ 126c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, Stop_001, TestSize.Level1) 127c29fa5a6Sopenharmony_ci{ 128c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 129c29fa5a6Sopenharmony_ci UDSServer serObj; 130c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(serObj.UdsStop()); 131c29fa5a6Sopenharmony_ci} 132c29fa5a6Sopenharmony_ci 133c29fa5a6Sopenharmony_ci/** 134c29fa5a6Sopenharmony_ci * @tc.name: GetSession_001 135c29fa5a6Sopenharmony_ci * @tc.desc: Test the function GetSession_001 136c29fa5a6Sopenharmony_ci * @tc.type: FUNC 137c29fa5a6Sopenharmony_ci * @tc.require: 138c29fa5a6Sopenharmony_ci */ 139c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, GetSession_001, TestSize.Level1) 140c29fa5a6Sopenharmony_ci{ 141c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 142c29fa5a6Sopenharmony_ci UDSServer UDS_server; 143c29fa5a6Sopenharmony_ci int32_t fd = 0; 144c29fa5a6Sopenharmony_ci auto retResult = UDS_server.GetSession(fd); 145c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult == nullptr); 146c29fa5a6Sopenharmony_ci} 147c29fa5a6Sopenharmony_ci 148c29fa5a6Sopenharmony_ci/** 149c29fa5a6Sopenharmony_ci * @tc.name: GetSession_002 150c29fa5a6Sopenharmony_ci * @tc.desc: Test the function GetSession_002 151c29fa5a6Sopenharmony_ci * @tc.type: FUNC 152c29fa5a6Sopenharmony_ci * @tc.require: 153c29fa5a6Sopenharmony_ci */ 154c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, GetSession_002, TestSize.Level1) 155c29fa5a6Sopenharmony_ci{ 156c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 157c29fa5a6Sopenharmony_ci UDSServer UDS_server; 158c29fa5a6Sopenharmony_ci int32_t fd = 1000000; 159c29fa5a6Sopenharmony_ci auto retResult = UDS_server.GetSession(fd); 160c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult == nullptr); 161c29fa5a6Sopenharmony_ci} 162c29fa5a6Sopenharmony_ci 163c29fa5a6Sopenharmony_ci/** 164c29fa5a6Sopenharmony_ci * @tc.name: GetSession_003 165c29fa5a6Sopenharmony_ci * @tc.desc: Test the function GetSession_003 166c29fa5a6Sopenharmony_ci * @tc.type: FUNC 167c29fa5a6Sopenharmony_ci * @tc.require: 168c29fa5a6Sopenharmony_ci */ 169c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, GetSession_003, TestSize.Level1) 170c29fa5a6Sopenharmony_ci{ 171c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 172c29fa5a6Sopenharmony_ci UDSServer UDS_server; 173c29fa5a6Sopenharmony_ci int32_t fd = -1; 174c29fa5a6Sopenharmony_ci auto retResult = UDS_server.GetSession(fd); 175c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult == nullptr); 176c29fa5a6Sopenharmony_ci} 177c29fa5a6Sopenharmony_ci 178c29fa5a6Sopenharmony_ci/** 179c29fa5a6Sopenharmony_ci * @tc.name: UdsStop_001 180c29fa5a6Sopenharmony_ci * @tc.desc: Test the function UdsStop 181c29fa5a6Sopenharmony_ci * @tc.type: FUNC 182c29fa5a6Sopenharmony_ci * @tc.require: 183c29fa5a6Sopenharmony_ci */ 184c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, UdsStop_001, TestSize.Level1) 185c29fa5a6Sopenharmony_ci{ 186c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 187c29fa5a6Sopenharmony_ci UDSServer udsServer; 188c29fa5a6Sopenharmony_ci const std::string programName = "program"; 189c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 190c29fa5a6Sopenharmony_ci const int32_t uid = 2; 191c29fa5a6Sopenharmony_ci const int32_t pid = 10; 192c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 193c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 194c29fa5a6Sopenharmony_ci int32_t tokenType = 1; 195c29fa5a6Sopenharmony_ci 196c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 197c29fa5a6Sopenharmony_ci udsServer.UdsStop(); 198c29fa5a6Sopenharmony_ci} 199c29fa5a6Sopenharmony_ci 200c29fa5a6Sopenharmony_ci/** 201c29fa5a6Sopenharmony_ci * @tc.name: GetClientPid_001 202c29fa5a6Sopenharmony_ci * @tc.desc: Test the function GetClientPid 203c29fa5a6Sopenharmony_ci * @tc.type: FUNC 204c29fa5a6Sopenharmony_ci * @tc.require: 205c29fa5a6Sopenharmony_ci */ 206c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, GetClientPid_001, TestSize.Level1) 207c29fa5a6Sopenharmony_ci{ 208c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 209c29fa5a6Sopenharmony_ci UDSServer udsServer; 210c29fa5a6Sopenharmony_ci int32_t fd = 1; 211c29fa5a6Sopenharmony_ci int32_t pid1 = 0; 212c29fa5a6Sopenharmony_ci const std::string programName = "program"; 213c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 214c29fa5a6Sopenharmony_ci const int32_t uid = 2; 215c29fa5a6Sopenharmony_ci const int32_t pid = 10; 216c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 217c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 218c29fa5a6Sopenharmony_ci int32_t tokenType = 1; 219c29fa5a6Sopenharmony_ci 220c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 221c29fa5a6Sopenharmony_ci pid1 = udsServer.GetClientPid(fd); 222c29fa5a6Sopenharmony_ci EXPECT_EQ(pid1, INVALID_PID); 223c29fa5a6Sopenharmony_ci} 224c29fa5a6Sopenharmony_ci 225c29fa5a6Sopenharmony_ci/** 226c29fa5a6Sopenharmony_ci * @tc.name: AddSocketPairInfo_001 227c29fa5a6Sopenharmony_ci * @tc.desc: Test the function AddSocketPairInfo 228c29fa5a6Sopenharmony_ci * @tc.type: FUNC 229c29fa5a6Sopenharmony_ci * @tc.require: 230c29fa5a6Sopenharmony_ci */ 231c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, AddSocketPairInfo_001, TestSize.Level1) 232c29fa5a6Sopenharmony_ci{ 233c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 234c29fa5a6Sopenharmony_ci UDSServer udsServer; 235c29fa5a6Sopenharmony_ci const std::string programName = "program"; 236c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 237c29fa5a6Sopenharmony_ci const int32_t uid = 2; 238c29fa5a6Sopenharmony_ci const int32_t pid = 10; 239c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 240c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 241c29fa5a6Sopenharmony_ci int32_t tokenType = 1; 242c29fa5a6Sopenharmony_ci int32_t ret = 0; 243c29fa5a6Sopenharmony_ci 244c29fa5a6Sopenharmony_ci ret = udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 245c29fa5a6Sopenharmony_ci EXPECT_EQ(ret, RET_ERR); 246c29fa5a6Sopenharmony_ci} 247c29fa5a6Sopenharmony_ci 248c29fa5a6Sopenharmony_ci/** 249c29fa5a6Sopenharmony_ci * @tc.name: SetFdProperty_001 250c29fa5a6Sopenharmony_ci * @tc.desc: Test the function SetFdProperty 251c29fa5a6Sopenharmony_ci * @tc.type: FUNC 252c29fa5a6Sopenharmony_ci * @tc.require: 253c29fa5a6Sopenharmony_ci */ 254c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, SetFdProperty_001, TestSize.Level1) 255c29fa5a6Sopenharmony_ci{ 256c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 257c29fa5a6Sopenharmony_ci UDSServer udsServer; 258c29fa5a6Sopenharmony_ci int32_t ret = RET_ERR; 259c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_NATIVE; 260c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 261c29fa5a6Sopenharmony_ci const std::string programName = "program"; 262c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 263c29fa5a6Sopenharmony_ci const int32_t uid = 2; 264c29fa5a6Sopenharmony_ci const int32_t pid = 10; 265c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 266c29fa5a6Sopenharmony_ci 267c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 268c29fa5a6Sopenharmony_ci ret = udsServer.SetFdProperty(tokenType, serverFd, toReturnClientFd); 269c29fa5a6Sopenharmony_ci EXPECT_EQ(ret, RET_ERR); 270c29fa5a6Sopenharmony_ci} 271c29fa5a6Sopenharmony_ci 272c29fa5a6Sopenharmony_ci/** 273c29fa5a6Sopenharmony_ci * @tc.name: SetFdProperty_002 274c29fa5a6Sopenharmony_ci * @tc.desc: Test the function SetFdProperty 275c29fa5a6Sopenharmony_ci * @tc.type: FUNC 276c29fa5a6Sopenharmony_ci * @tc.require: 277c29fa5a6Sopenharmony_ci */ 278c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, SetFdProperty_002, TestSize.Level1) 279c29fa5a6Sopenharmony_ci{ 280c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 281c29fa5a6Sopenharmony_ci UDSServer udsServer; 282c29fa5a6Sopenharmony_ci int32_t ret = RET_ERR; 283c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 284c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 285c29fa5a6Sopenharmony_ci const std::string programName = "program"; 286c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 287c29fa5a6Sopenharmony_ci const int32_t uid = 2; 288c29fa5a6Sopenharmony_ci const int32_t pid = 10; 289c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 290c29fa5a6Sopenharmony_ci 291c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 292c29fa5a6Sopenharmony_ci ret = udsServer.SetFdProperty(tokenType, serverFd, toReturnClientFd); 293c29fa5a6Sopenharmony_ci EXPECT_EQ(ret, RET_ERR); 294c29fa5a6Sopenharmony_ci} 295c29fa5a6Sopenharmony_ci 296c29fa5a6Sopenharmony_ci/** 297c29fa5a6Sopenharmony_ci * @tc.name: Dump_001 298c29fa5a6Sopenharmony_ci * @tc.desc: Test the function Dump 299c29fa5a6Sopenharmony_ci * @tc.type: FUNC 300c29fa5a6Sopenharmony_ci * @tc.require: 301c29fa5a6Sopenharmony_ci */ 302c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, Dump_001, TestSize.Level1) 303c29fa5a6Sopenharmony_ci{ 304c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 305c29fa5a6Sopenharmony_ci UDSServer udsServer; 306c29fa5a6Sopenharmony_ci int32_t fd = 1; 307c29fa5a6Sopenharmony_ci const std::vector<std::string> args = {"help"}; 308c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 309c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 310c29fa5a6Sopenharmony_ci const std::string programName = "program"; 311c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 312c29fa5a6Sopenharmony_ci const int32_t uid = 2; 313c29fa5a6Sopenharmony_ci const int32_t pid = 10; 314c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 315c29fa5a6Sopenharmony_ci 316c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 317c29fa5a6Sopenharmony_ci udsServer.Dump(fd, args); 318c29fa5a6Sopenharmony_ci} 319c29fa5a6Sopenharmony_ci 320c29fa5a6Sopenharmony_ci/** 321c29fa5a6Sopenharmony_ci * @tc.name: OnConnected_001 322c29fa5a6Sopenharmony_ci * @tc.desc: Test the function OnConnected 323c29fa5a6Sopenharmony_ci * @tc.type: FUNC 324c29fa5a6Sopenharmony_ci * @tc.require: 325c29fa5a6Sopenharmony_ci */ 326c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, OnConnected_001, TestSize.Level1) 327c29fa5a6Sopenharmony_ci{ 328c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 329c29fa5a6Sopenharmony_ci UDSServer udsServer; 330c29fa5a6Sopenharmony_ci SessionPtr sess; 331c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 332c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 333c29fa5a6Sopenharmony_ci const std::string programName = "program"; 334c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 335c29fa5a6Sopenharmony_ci const int32_t uid = 2; 336c29fa5a6Sopenharmony_ci const int32_t pid = 10; 337c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 338c29fa5a6Sopenharmony_ci 339c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 340c29fa5a6Sopenharmony_ci udsServer.OnConnected(sess); 341c29fa5a6Sopenharmony_ci} 342c29fa5a6Sopenharmony_ci 343c29fa5a6Sopenharmony_ci/** 344c29fa5a6Sopenharmony_ci * @tc.name: SetRecvFun_001 345c29fa5a6Sopenharmony_ci * @tc.desc: Test the function SetRecvFun 346c29fa5a6Sopenharmony_ci * @tc.type: FUNC 347c29fa5a6Sopenharmony_ci * @tc.require: 348c29fa5a6Sopenharmony_ci */ 349c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, SetRecvFun_001, TestSize.Level1) 350c29fa5a6Sopenharmony_ci{ 351c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 352c29fa5a6Sopenharmony_ci UDSServer udsServer; 353c29fa5a6Sopenharmony_ci MsgServerFunCallback fun{ nullptr }; 354c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 355c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 356c29fa5a6Sopenharmony_ci const std::string programName = "program"; 357c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 358c29fa5a6Sopenharmony_ci const int32_t uid = 2; 359c29fa5a6Sopenharmony_ci const int32_t pid = 10; 360c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 361c29fa5a6Sopenharmony_ci 362c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 363c29fa5a6Sopenharmony_ci udsServer.SetRecvFun(fun); 364c29fa5a6Sopenharmony_ci} 365c29fa5a6Sopenharmony_ci 366c29fa5a6Sopenharmony_ci/** 367c29fa5a6Sopenharmony_ci * @tc.name: OnEpollRecv_001 368c29fa5a6Sopenharmony_ci * @tc.desc: Test the function OnEpollRecv 369c29fa5a6Sopenharmony_ci * @tc.type: FUNC 370c29fa5a6Sopenharmony_ci * @tc.require: 371c29fa5a6Sopenharmony_ci */ 372c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, OnEpollRecv_001, TestSize.Level1) 373c29fa5a6Sopenharmony_ci{ 374c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 375c29fa5a6Sopenharmony_ci UDSServer udsServer; 376c29fa5a6Sopenharmony_ci int32_t size = 100; 377c29fa5a6Sopenharmony_ci epoll_event ev; 378c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 379c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 380c29fa5a6Sopenharmony_ci const std::string programName = "program"; 381c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 382c29fa5a6Sopenharmony_ci const int32_t uid = 2; 383c29fa5a6Sopenharmony_ci const int32_t pid = 10; 384c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 385c29fa5a6Sopenharmony_ci 386c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 387c29fa5a6Sopenharmony_ci int32_t fd = epoll_create(size); 388c29fa5a6Sopenharmony_ci udsServer.OnEpollRecv(fd, ev); 389c29fa5a6Sopenharmony_ci} 390c29fa5a6Sopenharmony_ci 391c29fa5a6Sopenharmony_ci/** 392c29fa5a6Sopenharmony_ci * @tc.name: OnEpollRecv_002 393c29fa5a6Sopenharmony_ci * @tc.desc: Test the function OnEpollRecv 394c29fa5a6Sopenharmony_ci * @tc.type: FUNC 395c29fa5a6Sopenharmony_ci * @tc.require: 396c29fa5a6Sopenharmony_ci */ 397c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, OnEpollRecv_002, TestSize.Level1) 398c29fa5a6Sopenharmony_ci{ 399c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 400c29fa5a6Sopenharmony_ci UDSServer udsServer; 401c29fa5a6Sopenharmony_ci epoll_event ev; 402c29fa5a6Sopenharmony_ci int32_t fd = -1; 403c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 404c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 405c29fa5a6Sopenharmony_ci const std::string programName = "program"; 406c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 407c29fa5a6Sopenharmony_ci const int32_t uid = 2; 408c29fa5a6Sopenharmony_ci const int32_t pid = 10; 409c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 410c29fa5a6Sopenharmony_ci 411c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 412c29fa5a6Sopenharmony_ci udsServer.OnEpollRecv(fd, ev); 413c29fa5a6Sopenharmony_ci} 414c29fa5a6Sopenharmony_ci 415c29fa5a6Sopenharmony_ci/** 416c29fa5a6Sopenharmony_ci * @tc.name: AddEpollEvent_001 417c29fa5a6Sopenharmony_ci * @tc.desc: Test the function AddEpollEvent 418c29fa5a6Sopenharmony_ci * @tc.type: FUNC 419c29fa5a6Sopenharmony_ci * @tc.require: 420c29fa5a6Sopenharmony_ci */ 421c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, AddEpollEvent_001, TestSize.Level1) 422c29fa5a6Sopenharmony_ci{ 423c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 424c29fa5a6Sopenharmony_ci UDSServer udsServer; 425c29fa5a6Sopenharmony_ci std::shared_ptr<mmi_epoll_event> epollEvent=std::make_shared<mmi_epoll_event>(); 426c29fa5a6Sopenharmony_ci int32_t fd = 1; 427c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 428c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 429c29fa5a6Sopenharmony_ci const std::string programName = "program"; 430c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 431c29fa5a6Sopenharmony_ci const int32_t uid = 2; 432c29fa5a6Sopenharmony_ci const int32_t pid = 10; 433c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 434c29fa5a6Sopenharmony_ci 435c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 436c29fa5a6Sopenharmony_ci udsServer.AddEpollEvent(fd, epollEvent); 437c29fa5a6Sopenharmony_ci} 438c29fa5a6Sopenharmony_ci 439c29fa5a6Sopenharmony_ci/** 440c29fa5a6Sopenharmony_ci * @tc.name: DumpSession_001 441c29fa5a6Sopenharmony_ci * @tc.desc: Test the function DumpSession 442c29fa5a6Sopenharmony_ci * @tc.type: FUNC 443c29fa5a6Sopenharmony_ci * @tc.require: 444c29fa5a6Sopenharmony_ci */ 445c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, DumpSession_001, TestSize.Level1) 446c29fa5a6Sopenharmony_ci{ 447c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 448c29fa5a6Sopenharmony_ci UDSServer udsServer; 449c29fa5a6Sopenharmony_ci const std::string title = "test_title"; 450c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 451c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 452c29fa5a6Sopenharmony_ci const std::string programName = "program"; 453c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 454c29fa5a6Sopenharmony_ci const int32_t uid = 2; 455c29fa5a6Sopenharmony_ci const int32_t pid = 10; 456c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 457c29fa5a6Sopenharmony_ci 458c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 459c29fa5a6Sopenharmony_ci udsServer.DumpSession(title); 460c29fa5a6Sopenharmony_ci} 461c29fa5a6Sopenharmony_ci 462c29fa5a6Sopenharmony_ci/** 463c29fa5a6Sopenharmony_ci * @tc.name: AddSession_001 464c29fa5a6Sopenharmony_ci * @tc.desc: Test the function AddSession 465c29fa5a6Sopenharmony_ci * @tc.type: FUNC 466c29fa5a6Sopenharmony_ci * @tc.require: 467c29fa5a6Sopenharmony_ci */ 468c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, AddSession_001, TestSize.Level1) 469c29fa5a6Sopenharmony_ci{ 470c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 471c29fa5a6Sopenharmony_ci UDSServer udsServer; 472c29fa5a6Sopenharmony_ci SessionPtr sess = nullptr; 473c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 474c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 475c29fa5a6Sopenharmony_ci const std::string programName = "program"; 476c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 477c29fa5a6Sopenharmony_ci const int32_t uid = 2; 478c29fa5a6Sopenharmony_ci const int32_t pid = 10; 479c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 480c29fa5a6Sopenharmony_ci 481c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 482c29fa5a6Sopenharmony_ci sess = std::make_shared<UDSSession>(programName, moduleType, serverFd, uid, pid); 483c29fa5a6Sopenharmony_ci udsServer.AddSession(sess); 484c29fa5a6Sopenharmony_ci} 485c29fa5a6Sopenharmony_ci 486c29fa5a6Sopenharmony_ci/** 487c29fa5a6Sopenharmony_ci * @tc.name: DelSession_001 488c29fa5a6Sopenharmony_ci * @tc.desc: Test the function DelSession 489c29fa5a6Sopenharmony_ci * @tc.type: FUNC 490c29fa5a6Sopenharmony_ci * @tc.require: 491c29fa5a6Sopenharmony_ci */ 492c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, DelSession_001, TestSize.Level1) 493c29fa5a6Sopenharmony_ci{ 494c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 495c29fa5a6Sopenharmony_ci UDSServer udsServer; 496c29fa5a6Sopenharmony_ci int32_t fd = -1; 497c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 498c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 499c29fa5a6Sopenharmony_ci const std::string programName = "program"; 500c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 501c29fa5a6Sopenharmony_ci const int32_t uid = 2; 502c29fa5a6Sopenharmony_ci const int32_t pid = 10; 503c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 504c29fa5a6Sopenharmony_ci 505c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 506c29fa5a6Sopenharmony_ci udsServer.DelSession(fd); 507c29fa5a6Sopenharmony_ci} 508c29fa5a6Sopenharmony_ci 509c29fa5a6Sopenharmony_ci/** 510c29fa5a6Sopenharmony_ci * @tc.name: DelSession_002 511c29fa5a6Sopenharmony_ci * @tc.desc: Test the function DelSession 512c29fa5a6Sopenharmony_ci * @tc.type: FUNC 513c29fa5a6Sopenharmony_ci * @tc.require: 514c29fa5a6Sopenharmony_ci */ 515c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, DelSession_002, TestSize.Level1) 516c29fa5a6Sopenharmony_ci{ 517c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 518c29fa5a6Sopenharmony_ci UDSServer udsServer; 519c29fa5a6Sopenharmony_ci int32_t fd = 1; 520c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 521c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 522c29fa5a6Sopenharmony_ci const std::string programName = "program"; 523c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 524c29fa5a6Sopenharmony_ci const int32_t uid = 2; 525c29fa5a6Sopenharmony_ci const int32_t pid = 10; 526c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 527c29fa5a6Sopenharmony_ci 528c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 529c29fa5a6Sopenharmony_ci udsServer.DelSession(fd); 530c29fa5a6Sopenharmony_ci} 531c29fa5a6Sopenharmony_ci 532c29fa5a6Sopenharmony_ci/** 533c29fa5a6Sopenharmony_ci * @tc.name: NotifySessionDeleted_001 534c29fa5a6Sopenharmony_ci * @tc.desc: Test the function NotifySessionDeleted 535c29fa5a6Sopenharmony_ci * @tc.type: FUNC 536c29fa5a6Sopenharmony_ci * @tc.require: 537c29fa5a6Sopenharmony_ci */ 538c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, NotifySessionDeleted_001, TestSize.Level1) 539c29fa5a6Sopenharmony_ci{ 540c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 541c29fa5a6Sopenharmony_ci UDSServer udsServer; 542c29fa5a6Sopenharmony_ci SessionPtr sess = nullptr; 543c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_SHELL; 544c29fa5a6Sopenharmony_ci int32_t serverFd = 1; 545c29fa5a6Sopenharmony_ci const std::string programName = "program"; 546c29fa5a6Sopenharmony_ci const int32_t moduleType = 1; 547c29fa5a6Sopenharmony_ci const int32_t uid = 2; 548c29fa5a6Sopenharmony_ci const int32_t pid = 10; 549c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 1; 550c29fa5a6Sopenharmony_ci 551c29fa5a6Sopenharmony_ci udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 552c29fa5a6Sopenharmony_ci sess = std::make_shared<UDSSession>(programName, moduleType, serverFd, uid, pid); 553c29fa5a6Sopenharmony_ci udsServer.NotifySessionDeleted(sess); 554c29fa5a6Sopenharmony_ci} 555c29fa5a6Sopenharmony_ci 556c29fa5a6Sopenharmony_ci/** 557c29fa5a6Sopenharmony_ci * @tc.name: GetClientPid_002 558c29fa5a6Sopenharmony_ci * @tc.desc: Test the scenario of obtaining the client process ID 559c29fa5a6Sopenharmony_ci * @tc.type: FUNC 560c29fa5a6Sopenharmony_ci * @tc.require: 561c29fa5a6Sopenharmony_ci */ 562c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, GetClientPid_002, TestSize.Level1) 563c29fa5a6Sopenharmony_ci{ 564c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 565c29fa5a6Sopenharmony_ci UDSServer udsServer; 566c29fa5a6Sopenharmony_ci int32_t fd = 123; 567c29fa5a6Sopenharmony_ci auto ret = udsServer.GetClientPid(fd); 568c29fa5a6Sopenharmony_ci EXPECT_EQ(ret, RET_ERR); 569c29fa5a6Sopenharmony_ci} 570c29fa5a6Sopenharmony_ci 571c29fa5a6Sopenharmony_ci/** 572c29fa5a6Sopenharmony_ci * @tc.name: AddSocketPairInfo_002 573c29fa5a6Sopenharmony_ci * @tc.desc: Test the scenario of adding socket pair information 574c29fa5a6Sopenharmony_ci * @tc.type: FUNC 575c29fa5a6Sopenharmony_ci * @tc.require: 576c29fa5a6Sopenharmony_ci */ 577c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, AddSocketPairInfo_002, TestSize.Level1) 578c29fa5a6Sopenharmony_ci{ 579c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 580c29fa5a6Sopenharmony_ci UDSServer udsServer; 581c29fa5a6Sopenharmony_ci std::string programName = "program"; 582c29fa5a6Sopenharmony_ci int32_t moduleType = 1; 583c29fa5a6Sopenharmony_ci int32_t uid = 2; 584c29fa5a6Sopenharmony_ci int32_t pid = 10; 585c29fa5a6Sopenharmony_ci int32_t serverFd = 123; 586c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 456; 587c29fa5a6Sopenharmony_ci int32_t tokenType = 1; 588c29fa5a6Sopenharmony_ci auto ret = udsServer.AddSocketPairInfo(programName, moduleType, uid, pid, serverFd, toReturnClientFd, tokenType); 589c29fa5a6Sopenharmony_ci if (serverFd != -1) { 590c29fa5a6Sopenharmony_ci close(serverFd); 591c29fa5a6Sopenharmony_ci } 592c29fa5a6Sopenharmony_ci if (toReturnClientFd != -1) { 593c29fa5a6Sopenharmony_ci close(toReturnClientFd); 594c29fa5a6Sopenharmony_ci } 595c29fa5a6Sopenharmony_ci EXPECT_EQ(ret, RET_ERR); 596c29fa5a6Sopenharmony_ci} 597c29fa5a6Sopenharmony_ci 598c29fa5a6Sopenharmony_ci/** 599c29fa5a6Sopenharmony_ci * @tc.name: SetFdProperty_003 600c29fa5a6Sopenharmony_ci * @tc.desc: Test the scenario of setting file descriptor properties 601c29fa5a6Sopenharmony_ci * @tc.type: FUNC 602c29fa5a6Sopenharmony_ci * @tc.require: 603c29fa5a6Sopenharmony_ci */ 604c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, SetFdProperty_003, TestSize.Level1) 605c29fa5a6Sopenharmony_ci{ 606c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 607c29fa5a6Sopenharmony_ci UDSServer udsServer; 608c29fa5a6Sopenharmony_ci int32_t tokenType = TokenType::TOKEN_NATIVE; 609c29fa5a6Sopenharmony_ci int32_t serverFd = 123; 610c29fa5a6Sopenharmony_ci int32_t toReturnClientFd = 456; 611c29fa5a6Sopenharmony_ci auto ret = udsServer.SetFdProperty(tokenType, serverFd, toReturnClientFd); 612c29fa5a6Sopenharmony_ci EXPECT_EQ(ret, RET_ERR); 613c29fa5a6Sopenharmony_ci} 614c29fa5a6Sopenharmony_ci 615c29fa5a6Sopenharmony_ci/** 616c29fa5a6Sopenharmony_ci * @tc.name: Dump_002 617c29fa5a6Sopenharmony_ci * @tc.desc: Test the Dump functionality of UDSServer 618c29fa5a6Sopenharmony_ci * @tc.type: FUNC 619c29fa5a6Sopenharmony_ci * @tc.require: 620c29fa5a6Sopenharmony_ci */ 621c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, Dump_002, TestSize.Level1) 622c29fa5a6Sopenharmony_ci{ 623c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 624c29fa5a6Sopenharmony_ci UDSServer udsServer; 625c29fa5a6Sopenharmony_ci int32_t fd = 1; 626c29fa5a6Sopenharmony_ci std::vector<std::string> args = {"help"}; 627c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.Dump(fd, args)); 628c29fa5a6Sopenharmony_ci} 629c29fa5a6Sopenharmony_ci 630c29fa5a6Sopenharmony_ci/** 631c29fa5a6Sopenharmony_ci * @tc.name: OnConnected_002 632c29fa5a6Sopenharmony_ci * @tc.desc: Test the OnConnected function of UDSServer 633c29fa5a6Sopenharmony_ci * @tc.type: FUNC 634c29fa5a6Sopenharmony_ci * @tc.require: 635c29fa5a6Sopenharmony_ci */ 636c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, OnConnected_002, TestSize.Level1) 637c29fa5a6Sopenharmony_ci{ 638c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 639c29fa5a6Sopenharmony_ci UDSServer udsServer; 640c29fa5a6Sopenharmony_ci SessionPtr sess = nullptr; 641c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.OnConnected(sess)); 642c29fa5a6Sopenharmony_ci} 643c29fa5a6Sopenharmony_ci 644c29fa5a6Sopenharmony_ci/** 645c29fa5a6Sopenharmony_ci * @tc.name: OnDisconnected_001 646c29fa5a6Sopenharmony_ci * @tc.desc: Test the OnDisconnected function of UDSServer 647c29fa5a6Sopenharmony_ci * @tc.type: FUNC 648c29fa5a6Sopenharmony_ci * @tc.require: 649c29fa5a6Sopenharmony_ci */ 650c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, OnDisconnected_001, TestSize.Level1) 651c29fa5a6Sopenharmony_ci{ 652c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 653c29fa5a6Sopenharmony_ci UDSServer udsServer; 654c29fa5a6Sopenharmony_ci SessionPtr sess = nullptr; 655c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.OnConnected(sess)); 656c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.OnDisconnected(sess)); 657c29fa5a6Sopenharmony_ci} 658c29fa5a6Sopenharmony_ci 659c29fa5a6Sopenharmony_ci/** 660c29fa5a6Sopenharmony_ci * @tc.name: AddEpoll_001 661c29fa5a6Sopenharmony_ci * @tc.desc: Test the AddEpoll function of UDSServer 662c29fa5a6Sopenharmony_ci * @tc.type: FUNC 663c29fa5a6Sopenharmony_ci * @tc.require: 664c29fa5a6Sopenharmony_ci */ 665c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, AddEpoll_001, TestSize.Level1) 666c29fa5a6Sopenharmony_ci{ 667c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 668c29fa5a6Sopenharmony_ci UDSServer udsServer; 669c29fa5a6Sopenharmony_ci EpollEventType type = EPOLL_EVENT_BEGIN; 670c29fa5a6Sopenharmony_ci int32_t fd = 1; 671c29fa5a6Sopenharmony_ci auto ret = udsServer.AddEpoll(type, fd); 672c29fa5a6Sopenharmony_ci EXPECT_EQ(ret, RET_OK); 673c29fa5a6Sopenharmony_ci} 674c29fa5a6Sopenharmony_ci 675c29fa5a6Sopenharmony_ci/** 676c29fa5a6Sopenharmony_ci * @tc.name: SetRecvFun_002 677c29fa5a6Sopenharmony_ci * @tc.desc: Test the SetRecvFun function of UDSServer 678c29fa5a6Sopenharmony_ci * @tc.type: FUNC 679c29fa5a6Sopenharmony_ci * @tc.require: 680c29fa5a6Sopenharmony_ci */ 681c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, SetRecvFun_002, TestSize.Level1) 682c29fa5a6Sopenharmony_ci{ 683c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 684c29fa5a6Sopenharmony_ci UDSServer udsServer; 685c29fa5a6Sopenharmony_ci MsgServerFunCallback fun{ nullptr }; 686c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.SetRecvFun(fun)); 687c29fa5a6Sopenharmony_ci} 688c29fa5a6Sopenharmony_ci 689c29fa5a6Sopenharmony_ci/** 690c29fa5a6Sopenharmony_ci * @tc.name: ReleaseSession_002 691c29fa5a6Sopenharmony_ci * @tc.desc: Test the ReleaseSession function of UDSServer 692c29fa5a6Sopenharmony_ci * @tc.type: FUNC 693c29fa5a6Sopenharmony_ci * @tc.require: 694c29fa5a6Sopenharmony_ci */ 695c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, ReleaseSession_002, TestSize.Level1) 696c29fa5a6Sopenharmony_ci{ 697c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 698c29fa5a6Sopenharmony_ci UDSServer udsServer; 699c29fa5a6Sopenharmony_ci int32_t fd = 1; 700c29fa5a6Sopenharmony_ci epoll_event ev; 701c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.ReleaseSession(fd, ev)); 702c29fa5a6Sopenharmony_ci} 703c29fa5a6Sopenharmony_ci 704c29fa5a6Sopenharmony_ci/** 705c29fa5a6Sopenharmony_ci * @tc.name: OnPacket_001 706c29fa5a6Sopenharmony_ci * @tc.desc: Test the OnPacket function of UDSServer 707c29fa5a6Sopenharmony_ci * @tc.type: FUNC 708c29fa5a6Sopenharmony_ci * @tc.require: 709c29fa5a6Sopenharmony_ci */ 710c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, OnPacket_001, TestSize.Level1) 711c29fa5a6Sopenharmony_ci{ 712c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 713c29fa5a6Sopenharmony_ci UDSServer udsServer; 714c29fa5a6Sopenharmony_ci MmiMessageId msgId = MmiMessageId::INVALID; 715c29fa5a6Sopenharmony_ci NetPacket pkt(msgId); 716c29fa5a6Sopenharmony_ci int32_t fd = 1; 717c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.OnPacket(fd, pkt)); 718c29fa5a6Sopenharmony_ci} 719c29fa5a6Sopenharmony_ci 720c29fa5a6Sopenharmony_ci/** 721c29fa5a6Sopenharmony_ci * @tc.name: OnEpollRecv_003 722c29fa5a6Sopenharmony_ci * @tc.desc: Test the OnEpollRecv function of UDSServer 723c29fa5a6Sopenharmony_ci * @tc.type: FUNC 724c29fa5a6Sopenharmony_ci * @tc.require: 725c29fa5a6Sopenharmony_ci */ 726c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, OnEpollRecv_003, TestSize.Level1) 727c29fa5a6Sopenharmony_ci{ 728c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 729c29fa5a6Sopenharmony_ci UDSServer udsServer; 730c29fa5a6Sopenharmony_ci int32_t fd = -1; 731c29fa5a6Sopenharmony_ci epoll_event ev; 732c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.OnEpollRecv(fd, ev)); 733c29fa5a6Sopenharmony_ci} 734c29fa5a6Sopenharmony_ci 735c29fa5a6Sopenharmony_ci/** 736c29fa5a6Sopenharmony_ci * @tc.name: OnEpollEvent_001 737c29fa5a6Sopenharmony_ci * @tc.desc: Test the OnEpollEvent function of UDSServer 738c29fa5a6Sopenharmony_ci * @tc.type: FUNC 739c29fa5a6Sopenharmony_ci * @tc.require: 740c29fa5a6Sopenharmony_ci */ 741c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, OnEpollEvent_001, TestSize.Level1) 742c29fa5a6Sopenharmony_ci{ 743c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 744c29fa5a6Sopenharmony_ci UDSServer udsServer; 745c29fa5a6Sopenharmony_ci epoll_event ev; 746c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.OnEpollEvent(ev)); 747c29fa5a6Sopenharmony_ci} 748c29fa5a6Sopenharmony_ci 749c29fa5a6Sopenharmony_ci/** 750c29fa5a6Sopenharmony_ci * @tc.name: AddEpollEvent_002 751c29fa5a6Sopenharmony_ci * @tc.desc: Test the AddEpollEvent function of UDSServer 752c29fa5a6Sopenharmony_ci * @tc.type: FUNC 753c29fa5a6Sopenharmony_ci * @tc.require: 754c29fa5a6Sopenharmony_ci */ 755c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, AddEpollEvent_002, TestSize.Level1) 756c29fa5a6Sopenharmony_ci{ 757c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 758c29fa5a6Sopenharmony_ci UDSServer udsServer; 759c29fa5a6Sopenharmony_ci int32_t fd = 1; 760c29fa5a6Sopenharmony_ci std::shared_ptr<mmi_epoll_event> epollEvent=std::make_shared<mmi_epoll_event>(); 761c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.AddEpollEvent(fd, epollEvent)); 762c29fa5a6Sopenharmony_ci} 763c29fa5a6Sopenharmony_ci 764c29fa5a6Sopenharmony_ci/** 765c29fa5a6Sopenharmony_ci * @tc.name: RemoveEpollEvent_001 766c29fa5a6Sopenharmony_ci * @tc.desc: Test the RemoveEpollEvent function of UDSServer 767c29fa5a6Sopenharmony_ci * @tc.type: FUNC 768c29fa5a6Sopenharmony_ci * @tc.require: 769c29fa5a6Sopenharmony_ci */ 770c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, RemoveEpollEvent_001, TestSize.Level1) 771c29fa5a6Sopenharmony_ci{ 772c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 773c29fa5a6Sopenharmony_ci UDSServer udsServer; 774c29fa5a6Sopenharmony_ci int32_t fd = 1; 775c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.RemoveEpollEvent(fd)); 776c29fa5a6Sopenharmony_ci} 777c29fa5a6Sopenharmony_ci 778c29fa5a6Sopenharmony_ci/** 779c29fa5a6Sopenharmony_ci * @tc.name: DumpSession_002 780c29fa5a6Sopenharmony_ci * @tc.desc: The DumpSession function of UDSServer properly outputs session information 781c29fa5a6Sopenharmony_ci * @tc.type: FUNC 782c29fa5a6Sopenharmony_ci * @tc.require: 783c29fa5a6Sopenharmony_ci */ 784c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, DumpSession_002, TestSize.Level1) 785c29fa5a6Sopenharmony_ci{ 786c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 787c29fa5a6Sopenharmony_ci UDSServer udsServer; 788c29fa5a6Sopenharmony_ci std::string title = "test_title"; 789c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.DumpSession(title)); 790c29fa5a6Sopenharmony_ci} 791c29fa5a6Sopenharmony_ci 792c29fa5a6Sopenharmony_ci/** 793c29fa5a6Sopenharmony_ci * @tc.name: AddSession_002 794c29fa5a6Sopenharmony_ci * @tc.desc: The AddSession function of UDSServer properly adds a session 795c29fa5a6Sopenharmony_ci * @tc.type: FUNC 796c29fa5a6Sopenharmony_ci * @tc.require: 797c29fa5a6Sopenharmony_ci */ 798c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, AddSession_002, TestSize.Level1) 799c29fa5a6Sopenharmony_ci{ 800c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 801c29fa5a6Sopenharmony_ci UDSServer udsServer; 802c29fa5a6Sopenharmony_ci SessionPtr sess = nullptr; 803c29fa5a6Sopenharmony_ci bool ret = udsServer.AddSession(sess); 804c29fa5a6Sopenharmony_ci EXPECT_FALSE(ret); 805c29fa5a6Sopenharmony_ci} 806c29fa5a6Sopenharmony_ci 807c29fa5a6Sopenharmony_ci/** 808c29fa5a6Sopenharmony_ci * @tc.name: DelSession_003 809c29fa5a6Sopenharmony_ci * @tc.desc: The DelSession function of UDSServer properly deletes a session 810c29fa5a6Sopenharmony_ci * @tc.type: FUNC 811c29fa5a6Sopenharmony_ci * @tc.require: 812c29fa5a6Sopenharmony_ci */ 813c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, DelSession_003, TestSize.Level1) 814c29fa5a6Sopenharmony_ci{ 815c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 816c29fa5a6Sopenharmony_ci UDSServer udsServer; 817c29fa5a6Sopenharmony_ci int32_t fd = -1; 818c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.DelSession(fd)); 819c29fa5a6Sopenharmony_ci int32_t fds = 1; 820c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.DelSession(fds)); 821c29fa5a6Sopenharmony_ci} 822c29fa5a6Sopenharmony_ci 823c29fa5a6Sopenharmony_ci/** 824c29fa5a6Sopenharmony_ci * @tc.name: NotifySessionDeleted_002 825c29fa5a6Sopenharmony_ci * @tc.desc: Test the NotifySessionDeleted function of UDSServer 826c29fa5a6Sopenharmony_ci * @tc.type: FUNC 827c29fa5a6Sopenharmony_ci * @tc.require: 828c29fa5a6Sopenharmony_ci */ 829c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, NotifySessionDeleted_002, TestSize.Level1) 830c29fa5a6Sopenharmony_ci{ 831c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 832c29fa5a6Sopenharmony_ci UDSServer udsServer; 833c29fa5a6Sopenharmony_ci SessionPtr ses = nullptr; 834c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.NotifySessionDeleted(ses)); 835c29fa5a6Sopenharmony_ci} 836c29fa5a6Sopenharmony_ci 837c29fa5a6Sopenharmony_ci/** 838c29fa5a6Sopenharmony_ci * @tc.name: UDSServerTest_GetClientFd 839c29fa5a6Sopenharmony_ci * @tc.desc: Test Get Client Fd 840c29fa5a6Sopenharmony_ci * @tc.type: FUNC 841c29fa5a6Sopenharmony_ci * @tc.require: 842c29fa5a6Sopenharmony_ci */ 843c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, UDSServerTest_GetClientFd, TestSize.Level1) 844c29fa5a6Sopenharmony_ci{ 845c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 846c29fa5a6Sopenharmony_ci UDSServer udsServer; 847c29fa5a6Sopenharmony_ci int32_t pid = 1000; 848c29fa5a6Sopenharmony_ci int32_t fd = 150; 849c29fa5a6Sopenharmony_ci udsServer.idxPidMap_.insert(std::make_pair(pid, fd)); 850c29fa5a6Sopenharmony_ci ASSERT_EQ(udsServer.GetClientFd(pid), fd); 851c29fa5a6Sopenharmony_ci} 852c29fa5a6Sopenharmony_ci 853c29fa5a6Sopenharmony_ci/** 854c29fa5a6Sopenharmony_ci * @tc.name: UDSServerTest_GetClientPid 855c29fa5a6Sopenharmony_ci * @tc.desc: Test Get Client Pid 856c29fa5a6Sopenharmony_ci * @tc.type: FUNC 857c29fa5a6Sopenharmony_ci * @tc.require: 858c29fa5a6Sopenharmony_ci */ 859c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, UDSServerTest_GetClientPid, TestSize.Level1) 860c29fa5a6Sopenharmony_ci{ 861c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 862c29fa5a6Sopenharmony_ci UDSServer udsServer; 863c29fa5a6Sopenharmony_ci int32_t fd = 150; 864c29fa5a6Sopenharmony_ci SessionPtr session = std::make_shared<UDSSession>(PROGRAM_NAME, MODULE_TYPE, UDS_FD, UDS_UID, UDS_PID); 865c29fa5a6Sopenharmony_ci udsServer.sessionsMap_.insert(std::make_pair(fd, session)); 866c29fa5a6Sopenharmony_ci ASSERT_EQ(udsServer.GetClientPid(fd), UDS_PID); 867c29fa5a6Sopenharmony_ci} 868c29fa5a6Sopenharmony_ci 869c29fa5a6Sopenharmony_ci/** 870c29fa5a6Sopenharmony_ci * @tc.name: UDSServerTest_SendMsg 871c29fa5a6Sopenharmony_ci * @tc.desc: Test Send Msg 872c29fa5a6Sopenharmony_ci * @tc.type: FUNC 873c29fa5a6Sopenharmony_ci * @tc.require: 874c29fa5a6Sopenharmony_ci */ 875c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, UDSServerTest_SendMsg, TestSize.Level1) 876c29fa5a6Sopenharmony_ci{ 877c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 878c29fa5a6Sopenharmony_ci UDSServer udsServer; 879c29fa5a6Sopenharmony_ci int32_t fd = 150; 880c29fa5a6Sopenharmony_ci MmiMessageId msgId = MmiMessageId::INVALID; 881c29fa5a6Sopenharmony_ci NetPacket pkt(msgId); 882c29fa5a6Sopenharmony_ci SessionPtr session = std::make_shared<UDSSession>(PROGRAM_NAME, MODULE_TYPE, UDS_FD, UDS_UID, UDS_PID); 883c29fa5a6Sopenharmony_ci udsServer.sessionsMap_.insert(std::make_pair(fd, session)); 884c29fa5a6Sopenharmony_ci ASSERT_FALSE(udsServer.SendMsg(fd, pkt)); 885c29fa5a6Sopenharmony_ci} 886c29fa5a6Sopenharmony_ci 887c29fa5a6Sopenharmony_ci/** 888c29fa5a6Sopenharmony_ci * @tc.name: UDSServerTest_GetSession 889c29fa5a6Sopenharmony_ci * @tc.desc: Test Get Session 890c29fa5a6Sopenharmony_ci * @tc.type: FUNC 891c29fa5a6Sopenharmony_ci * @tc.require: 892c29fa5a6Sopenharmony_ci */ 893c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, UDSServerTest_GetSession, TestSize.Level1) 894c29fa5a6Sopenharmony_ci{ 895c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 896c29fa5a6Sopenharmony_ci UDSServer udsServer; 897c29fa5a6Sopenharmony_ci int32_t fd = 150; 898c29fa5a6Sopenharmony_ci SessionPtr session = std::make_shared<UDSSession>(PROGRAM_NAME, MODULE_TYPE, UDS_FD, UDS_UID, UDS_PID); 899c29fa5a6Sopenharmony_ci udsServer.sessionsMap_.insert(std::make_pair(fd, session)); 900c29fa5a6Sopenharmony_ci ASSERT_EQ(udsServer.GetSession(fd), session); 901c29fa5a6Sopenharmony_ci} 902c29fa5a6Sopenharmony_ci 903c29fa5a6Sopenharmony_ci/** 904c29fa5a6Sopenharmony_ci * @tc.name: UDSServerTest_GetSessionByPid 905c29fa5a6Sopenharmony_ci * @tc.desc: Test Get Session By Pid 906c29fa5a6Sopenharmony_ci * @tc.type: FUNC 907c29fa5a6Sopenharmony_ci * @tc.require: 908c29fa5a6Sopenharmony_ci */ 909c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, UDSServerTest_GetSessionByPid, TestSize.Level1) 910c29fa5a6Sopenharmony_ci{ 911c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 912c29fa5a6Sopenharmony_ci UDSServer udsServer; 913c29fa5a6Sopenharmony_ci int32_t fd = 150; 914c29fa5a6Sopenharmony_ci SessionPtr session = std::make_shared<UDSSession>(PROGRAM_NAME, MODULE_TYPE, UDS_FD, UDS_UID, UDS_PID); 915c29fa5a6Sopenharmony_ci udsServer.sessionsMap_.insert(std::make_pair(fd, session)); 916c29fa5a6Sopenharmony_ci udsServer.idxPidMap_.insert(std::make_pair(UDS_PID, fd)); 917c29fa5a6Sopenharmony_ci ASSERT_EQ(udsServer.GetSessionByPid(UDS_PID), session); 918c29fa5a6Sopenharmony_ci} 919c29fa5a6Sopenharmony_ci 920c29fa5a6Sopenharmony_ci/** 921c29fa5a6Sopenharmony_ci * @tc.name: UDSServerTest_AddSession 922c29fa5a6Sopenharmony_ci * @tc.desc: Test Add Session 923c29fa5a6Sopenharmony_ci * @tc.type: FUNC 924c29fa5a6Sopenharmony_ci * @tc.require: 925c29fa5a6Sopenharmony_ci */ 926c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, UDSServerTest_AddSession, TestSize.Level1) 927c29fa5a6Sopenharmony_ci{ 928c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 929c29fa5a6Sopenharmony_ci UDSServer udsServer; 930c29fa5a6Sopenharmony_ci int32_t udsSessionFd = 100; 931c29fa5a6Sopenharmony_ci int32_t udsSessionPid = -1; 932c29fa5a6Sopenharmony_ci SessionPtr session = std::make_shared<UDSSession>(PROGRAM_NAME, MODULE_TYPE, udsSessionFd, UDS_UID, udsSessionPid); 933c29fa5a6Sopenharmony_ci ASSERT_FALSE(udsServer.AddSession(session)); 934c29fa5a6Sopenharmony_ci 935c29fa5a6Sopenharmony_ci udsSessionPid = 1000; 936c29fa5a6Sopenharmony_ci SessionPtr sess = std::make_shared<UDSSession>(PROGRAM_NAME, MODULE_TYPE, udsSessionFd, UDS_UID, udsSessionPid); 937c29fa5a6Sopenharmony_ci udsServer.sessionsMap_.insert(std::make_pair(udsSessionFd, sess)); 938c29fa5a6Sopenharmony_ci ASSERT_TRUE(udsServer.AddSession(sess)); 939c29fa5a6Sopenharmony_ci SessionPtr sessPtr = std::make_shared<UDSSession>(PROGRAM_NAME, MODULE_TYPE, udsSessionFd, UDS_UID, udsSessionPid); 940c29fa5a6Sopenharmony_ci for (int32_t i = 0; i < MAX_SESSON_ALARM + 1; ++i) { 941c29fa5a6Sopenharmony_ci udsServer.sessionsMap_.insert(std::make_pair(i, sessPtr)); 942c29fa5a6Sopenharmony_ci } 943c29fa5a6Sopenharmony_ci ASSERT_TRUE(udsServer.AddSession(sessPtr)); 944c29fa5a6Sopenharmony_ci} 945c29fa5a6Sopenharmony_ci 946c29fa5a6Sopenharmony_ci/** 947c29fa5a6Sopenharmony_ci * @tc.name: UDSServerTest_DelSession 948c29fa5a6Sopenharmony_ci * @tc.desc: Test Delete Session 949c29fa5a6Sopenharmony_ci * @tc.type: FUNC 950c29fa5a6Sopenharmony_ci * @tc.require: 951c29fa5a6Sopenharmony_ci */ 952c29fa5a6Sopenharmony_ciHWTEST_F(UDSServerTest, UDSServerTest_DelSession, TestSize.Level1) 953c29fa5a6Sopenharmony_ci{ 954c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 955c29fa5a6Sopenharmony_ci UDSServer udsServer; 956c29fa5a6Sopenharmony_ci int32_t fd = 100; 957c29fa5a6Sopenharmony_ci SessionPtr session = std::make_shared<UDSSession>(PROGRAM_NAME, MODULE_TYPE, UDS_FD, UDS_UID, UDS_PID); 958c29fa5a6Sopenharmony_ci udsServer.sessionsMap_.insert(std::make_pair(fd, session)); 959c29fa5a6Sopenharmony_ci udsServer.idxPidMap_.insert(std::make_pair(UDS_PID, fd)); 960c29fa5a6Sopenharmony_ci ASSERT_NO_FATAL_FAILURE(udsServer.DelSession(fd)); 961c29fa5a6Sopenharmony_ci} 962c29fa5a6Sopenharmony_ci} // namespace MMI 963c29fa5a6Sopenharmony_ci} // namespace OHOS 964