• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "UTTest_dm_pin_holder.h"
17 #include "dm_device_info.h"
18 
19 #include <unistd.h>
20 #include "accesstoken_kit.h"
21 #include "device_manager_notify.h"
22 #include "dm_anonymous.h"
23 #include "dm_constants.h"
24 #include "dm_log.h"
25 #include "ipc_authenticate_device_req.h"
26 #include "ipc_get_info_by_network_req.h"
27 #include "ipc_get_info_by_network_rsp.h"
28 #include "ipc_get_local_device_info_rsp.h"
29 #include "ipc_get_trustdevice_req.h"
30 #include "ipc_get_trustdevice_rsp.h"
31 #include "ipc_req.h"
32 #include "ipc_rsp.h"
33 #include "ipc_set_useroperation_req.h"
34 #include "ipc_skeleton.h"
35 #include "ipc_publish_req.h"
36 #include "ipc_unpublish_req.h"
37 #include "ipc_unauthenticate_device_req.h"
38 #include "nativetoken_kit.h"
39 #include "json_object.h"
40 #include "securec.h"
41 #include "token_setproc.h"
42 #include "pin_holder.h"
43 #include "pinholder_session_callback.h"
44 #include "softbus_error_code.h"
45 
46 namespace OHOS {
47 namespace DistributedHardware {
SetUp()48 void DmPinHolderTest::SetUp()
49 {
50     const int32_t permsNum = 2;
51     const int32_t indexZero = 0;
52     const int32_t indexOne = 1;
53     uint64_t tokenId;
54     const char *perms[permsNum];
55     perms[indexZero] = "ohos.permission.ACCESS_SERVICE_DM";
56     perms[indexOne] = "ohos.permission.DISTRIBUTED_DATASYNC";
57     NativeTokenInfoParams infoInstance = {
58         .dcapsNum = 0,
59         .permsNum = permsNum,
60         .aclsNum = 0,
61         .dcaps = NULL,
62         .perms = perms,
63         .acls = NULL,
64         .processName = "CollaborationFwk",
65         .aplStr = "system_core",
66     };
67     tokenId = GetAccessTokenId(&infoInstance);
68     SetSelfTokenID(tokenId);
69     OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
70 }
71 
TearDown()72 void DmPinHolderTest::TearDown()
73 {
74 }
75 
SetUpTestCase()76 void DmPinHolderTest::SetUpTestCase()
77 {
78 }
79 
TearDownTestCase()80 void DmPinHolderTest::TearDownTestCase()
81 {
82 }
83 
OnCreateResult(int32_t result)84 void DmPinHolderCallbackTest::OnCreateResult(int32_t result)
85 {
86     std::cout << "OnCreateResult " << result << std::endl;
87 }
88 
OnDestroyResult(int32_t result)89 void DmPinHolderCallbackTest::OnDestroyResult(int32_t result)
90 {
91     std::cout << "OnDestroyResult " << result << std::endl;
92 }
93 
OnPinHolderDestroy(DmPinType pinType,const std::string & payload)94 void DmPinHolderCallbackTest::OnPinHolderDestroy(DmPinType pinType, const std::string &payload)
95 {
96     std::cout << "OnPinHolderDestroy" << std::endl;
97     std::cout << "pinType: " << pinType << std::endl;
98 }
99 
OnPinHolderCreate(const std::string & deviceId,DmPinType pinType,const std::string & payload)100 void DmPinHolderCallbackTest::OnPinHolderCreate(const std::string &deviceId, DmPinType pinType,
101     const std::string &payload)
102 {
103     std::cout << "OnPinHolderCreate" << std::endl;
104     std::cout << "pinType: " << pinType << std::endl;
105     std::cout << "payload: " << payload << std::endl;
106 }
107 
OnPinHolderEvent(DmPinHolderEvent event,int32_t result,const std::string & content)108 void DmPinHolderCallbackTest::OnPinHolderEvent(DmPinHolderEvent event, int32_t result, const std::string &content)
109 {
110     std::cout << "OnPinHolderEvent" << std::endl;
111     std::cout << "result: " << result << std::endl;
112     std::cout << "content: " << content << std::endl;
113 }
114 
115 constexpr int32_t MSG_TYPE_CREATE_PIN_HOLDER = 600;
116 constexpr int32_t MSG_TYPE_CREATE_PIN_HOLDER_RESP = 601;
117 constexpr int32_t MSG_TYPE_DESTROY_PIN_HOLDER = 650;
118 constexpr int32_t MSG_TYPE_DESTROY_PIN_HOLDER_RESP = 651;
119 constexpr int32_t MSG_TYPE_PIN_HOLDER_CHANGE = 700;
120 constexpr int32_t MSG_TYPE_PIN_HOLDER_CHANGE_RESP = 701;
121 constexpr int32_t MSG_TYPE_PIN_CLOSE_SESSION = 800;
122 constexpr int32_t SESSION_ID = 0;
123 constexpr int32_t RESULT = DM_OK;
124 constexpr int32_t REPLY_SUCCESS = 0;
125 constexpr int32_t REPLY_FAILED = -1;
126 
127 constexpr const char* TAG_PIN_TYPE = "PIN_TYPE";
128 constexpr const char* TAG_PAYLOAD = "PAYLOAD";
129 constexpr const char* TAG_REPLY = "REPLY";
130 constexpr int32_t SESSION_ID_INVALID = -1;
131 const std::string PACKAGE_NAME = "com.ohos.dmtest";
132 const std::string PAY_LOAD = "mock_payLoad";
133 namespace {
134 /**
135  * @tc.name: InitDeviceManager_001
136  * @tc.desc: 1. set packName not null
137  *              set dmInitCallback not null
138  *           2. call DeviceManagerImpl::InitDeviceManager with parameter
139  *           4. check ret is DM_OK
140  * deviceTypeId
141  * @tc.type: FUNC
142  * @tc.require: AR000GHSJK
143  */
144 HWTEST_F(DmPinHolderTest, RegisterPinHolderCallback_101, testing::ext::TestSize.Level1)
145 {
146     // 1. set packName not null
147     std::string packName = "com.ohos.dmtest";
148     // 2. set dmInitCallback not null
149     std::shared_ptr<DmInitCallbackTest> callback = std::make_shared<DmInitCallbackTest>();
150     int32_t ret = DeviceManager::GetInstance().InitDeviceManager(packName, callback);
151 
152     std::shared_ptr<DmPinHolderCallbackTest> pinHolderCallback = std::make_shared<DmPinHolderCallbackTest>();
153     ret = DeviceManager::GetInstance().RegisterPinHolderCallback(packName, pinHolderCallback);
154     // 3. check ret is DM_OK
155     ASSERT_EQ(ret, DM_OK);
156     DeviceManager::GetInstance().UnInitDeviceManager(packName);
157 }
158 
159 HWTEST_F(DmPinHolderTest, RegisterPinHolderCallback_102, testing::ext::TestSize.Level1)
160 {
161     std::string packName = "com.ohos.dmtest";
162     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
163     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
164     pinHolder->session_ = nullptr;
165     int32_t ret = pinHolder->RegisterPinHolderCallback(packName);
166     ASSERT_EQ(ret, ERR_DM_FAILED);
167 }
168 
169 HWTEST_F(DmPinHolderTest, RegisterPinHolderCallback_103, testing::ext::TestSize.Level1)
170 {
171     std::string packName = "com.ohos.dmtest";
172     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
173     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
174     pinHolder->session_ = std::make_shared<PinHolderSession>();
175     int32_t ret = pinHolder->RegisterPinHolderCallback(packName);
176     ASSERT_EQ(ret, DM_OK);
177 }
178 
179 HWTEST_F(DmPinHolderTest, CreatePinholder_101, testing::ext::TestSize.Level1)
180 {
181     std::string packName = "com.ohos.dmtest";
182     std::shared_ptr<DmInitCallbackTest> callback = std::make_shared<DmInitCallbackTest>();
183     int32_t ret = DeviceManager::GetInstance().InitDeviceManager(packName, callback);
184 
185     std::shared_ptr<DmPinHolderCallbackTest> pinHolderCallback = std::make_shared<DmPinHolderCallbackTest>();
186     ret = DeviceManager::GetInstance().RegisterPinHolderCallback(packName, pinHolderCallback);
187     PeerTargetId targetId;
188     DmPinType pinType = NUMBER_PIN_CODE;
189     std::string payload = "";
190     ret = DeviceManager::GetInstance().CreatePinHolder(packName, targetId, pinType, payload);
191     ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
192     DeviceManager::GetInstance().UnInitDeviceManager(packName);
193 }
194 
195 HWTEST_F(DmPinHolderTest, CreatePinholder_102, testing::ext::TestSize.Level1)
196 {
197     std::string packName = "com.ohos.dmtest";
198     PeerTargetId targetId;
199     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
200     std::string payload;
201     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
202     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
203     pinHolder->processInfo_.pkgName = "";
204     pinHolder->processInfo_.userId = 100;
205     int32_t ret = pinHolder->CreatePinHolder(packName, targetId, pinType, payload);
206     ASSERT_EQ(ret, ERR_DM_FAILED);
207 }
208 
209 HWTEST_F(DmPinHolderTest, CreatePinholder_103, testing::ext::TestSize.Level1)
210 {
211     std::string packName = "com.ohos.dmtest";
212     PeerTargetId targetId;
213     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
214     std::string payload;
215     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
216     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
217     pinHolder->processInfo_.pkgName = "dmtest";
218     pinHolder->processInfo_.userId = 100;
219     int32_t ret = pinHolder->CreatePinHolder(packName, targetId, pinType, payload);
220     ASSERT_EQ(ret, ERR_DM_FAILED);
221 }
222 
223 HWTEST_F(DmPinHolderTest, CreatePinholder_105, testing::ext::TestSize.Level1)
224 {
225     std::string packName = "com.ohos.dmtest";
226     PeerTargetId targetId = {
227         .deviceId = "",
228         .brMac = "",
229         .bleMac = "",
230         .wifiIp = "",
231     };
232 
233     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
234     std::string payload;
235     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
236     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
237     pinHolder->processInfo_.pkgName = packName;
238     pinHolder->processInfo_.userId = 100;
239     int32_t ret = pinHolder->CreatePinHolder(packName, targetId, pinType, payload);
240     ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
241 }
242 
243 HWTEST_F(DmPinHolderTest, CreatePinholder_106, testing::ext::TestSize.Level1)
244 {
245     std::string packName = "com.ohos.dmtest";
246     PeerTargetId targetId = {
247         .deviceId = "deviceId",
248         .brMac = "brMac",
249         .bleMac = "bleMac",
250         .wifiIp = "wifiIp",
251     };
252 
253     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
254     std::string payload;
255     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
256     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
257     pinHolder->processInfo_.pkgName = packName;
258     pinHolder->processInfo_.userId = 100;
259     pinHolder->listener_ = nullptr;
260     int32_t ret = pinHolder->CreatePinHolder(packName, targetId, pinType, payload);
261     ASSERT_EQ(ret, ERR_DM_FAILED);
262 }
263 
264 HWTEST_F(DmPinHolderTest, CreatePinholder_107, testing::ext::TestSize.Level1)
265 {
266     std::string packName = "com.ohos.dmtest";
267     PeerTargetId targetId = {
268         .deviceId = "deviceId",
269         .brMac = "brMac",
270         .bleMac = "bleMac",
271         .wifiIp = "wifiIp",
272     };
273 
274     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
275     std::string payload;
276     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
277     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
278     pinHolder->processInfo_.pkgName = packName;
279     pinHolder->processInfo_.userId = 100;
280     pinHolder->session_ = nullptr;
281     int32_t ret = pinHolder->CreatePinHolder(packName, targetId, pinType, payload);
282     ASSERT_EQ(ret, ERR_DM_FAILED);
283 }
284 
285 HWTEST_F(DmPinHolderTest, CreatePinholder_108, testing::ext::TestSize.Level1)
286 {
287     std::string packName = "com.ohos.dmtest";
288     PeerTargetId targetId = {
289         .deviceId = "deviceId",
290         .brMac = "brMac",
291         .bleMac = "bleMac",
292         .wifiIp = "wifiIp",
293     };
294 
295     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
296     std::string payload;
297     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
298     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
299     pinHolder->processInfo_.pkgName = packName;
300     pinHolder->processInfo_.userId = 100;
301     pinHolder->sourceState_ = SOURCE_CREATE;
302     int32_t ret = pinHolder->CreatePinHolder(packName, targetId, pinType, payload);
303     ASSERT_EQ(ret, ERR_DM_FAILED);
304 }
305 
306 HWTEST_F(DmPinHolderTest, DestroyPinHolder_101, testing::ext::TestSize.Level1)
307 {
308     std::string packName = "com.ohos.dmtest";
309     PeerTargetId targetId = {
310         .deviceId = "deviceId",
311         .brMac = "brMac",
312         .bleMac = "bleMac",
313         .wifiIp = "wifiIp",
314     };
315     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
316     std::string payload;
317     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
318     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
319     pinHolder->listener_ = nullptr;
320     int32_t ret = pinHolder->DestroyPinHolder(packName, targetId, pinType, payload);
321     ASSERT_EQ(ret, ERR_DM_FAILED);
322 }
323 
324 HWTEST_F(DmPinHolderTest, DestroyPinHolder_102, testing::ext::TestSize.Level1)
325 {
326     std::string packName = "com.ohos.dmtest";
327     PeerTargetId targetId = {
328         .deviceId = "deviceId",
329         .brMac = "brMac",
330         .bleMac = "bleMac",
331         .wifiIp = "wifiIp",
332     };
333     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
334     std::string payload;
335     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
336     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
337     pinHolder->session_ = nullptr;
338     int32_t ret = pinHolder->DestroyPinHolder(packName, targetId, pinType, payload);
339     ASSERT_EQ(ret, ERR_DM_FAILED);
340 }
341 
342 HWTEST_F(DmPinHolderTest, DestroyPinHolder_103, testing::ext::TestSize.Level1)
343 {
344     std::string packName = "com.ohos.dmtest";
345     PeerTargetId targetId = {
346         .deviceId = "deviceId",
347         .brMac = "brMac",
348         .bleMac = "bleMac",
349         .wifiIp = "wifiIp",
350     };
351     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
352     std::string payload;
353     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
354     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
355     pinHolder->processInfo_.pkgName = "";
356     pinHolder->processInfo_.userId = 100;
357     int32_t ret = pinHolder->DestroyPinHolder(packName, targetId, pinType, payload);
358     ASSERT_EQ(ret, ERR_DM_FAILED);
359 }
360 
361 HWTEST_F(DmPinHolderTest, DestroyPinHolder_104, testing::ext::TestSize.Level1)
362 {
363     std::string packName = "com.ohos.dmtest";
364     PeerTargetId targetId = {
365         .deviceId = "deviceId",
366         .brMac = "brMac",
367         .bleMac = "bleMac",
368         .wifiIp = "wifiIp",
369     };
370     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
371     std::string payload;
372     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
373     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
374     pinHolder->processInfo_.pkgName = "dmtest";
375     pinHolder->processInfo_.userId = 100;
376     int32_t ret = pinHolder->DestroyPinHolder(packName, targetId, pinType, payload);
377     ASSERT_EQ(ret, ERR_DM_FAILED);
378 }
379 
380 HWTEST_F(DmPinHolderTest, DestroyPinHolder_105, testing::ext::TestSize.Level1)
381 {
382     std::string packName = "com.ohos.dmtest";
383     PeerTargetId targetId = {
384         .deviceId = "",
385         .brMac = "",
386         .bleMac = "",
387         .wifiIp = "",
388     };
389     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
390     std::string payload;
391     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
392     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
393     pinHolder->processInfo_.pkgName = packName;
394     pinHolder->processInfo_.userId = 100;
395     int32_t ret = pinHolder->DestroyPinHolder(packName, targetId, pinType, payload);
396     ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
397 }
398 
399 HWTEST_F(DmPinHolderTest, DestroyPinHolder_106, testing::ext::TestSize.Level1)
400 {
401     std::string packName = "com.ohos.dmtest";
402     PeerTargetId targetId = {
403         .deviceId = "deviceId",
404         .brMac = "brMac",
405         .bleMac = "bleMac",
406         .wifiIp = "wifiIp",
407     };
408     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
409     std::string payload;
410     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
411     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
412     pinHolder->processInfo_.pkgName = packName;
413     pinHolder->processInfo_.userId = 100;
414     pinHolder->sessionId_ = 0;
415     pinHolder->sourceState_ = SOURCE_DESTROY;
416     pinHolder->listener_ = std::make_shared<IDeviceManagerServiceListenerTest>();
417     int32_t ret = pinHolder->DestroyPinHolder(packName, targetId, pinType, payload);
418     ASSERT_EQ(ret, ERR_DM_FAILED);
419 }
420 
421 HWTEST_F(DmPinHolderTest, CreateGeneratePinHolderMsg_101, testing::ext::TestSize.Level1)
422 {
423     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
424     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
425     pinHolder->listener_ = nullptr;
426     int32_t ret = pinHolder->CreateGeneratePinHolderMsg();
427     ASSERT_EQ(ret, ERR_DM_FAILED);
428 }
429 
430 HWTEST_F(DmPinHolderTest, CreateGeneratePinHolderMsg_102, testing::ext::TestSize.Level1)
431 {
432     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
433     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
434     pinHolder->session_ = nullptr;
435     int32_t ret = pinHolder->CreateGeneratePinHolderMsg();
436     ASSERT_EQ(ret, ERR_DM_FAILED);
437 }
438 
439 HWTEST_F(DmPinHolderTest, ParseMsgType_101, testing::ext::TestSize.Level1)
440 {
441     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
442     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
443     std::string message;
444     int32_t ret = pinHolder->ParseMsgType(message);
445     ASSERT_EQ(ret, ERR_DM_FAILED);
446 }
447 
448 HWTEST_F(DmPinHolderTest, ProcessCreateMsg_101, testing::ext::TestSize.Level1)
449 {
450     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
451     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
452     std::string message;
453     pinHolder->listener_ = nullptr;
454     pinHolder->ProcessCreateMsg(message);
455     ASSERT_NE(pinHolder->timer_, nullptr);
456 }
457 
458 HWTEST_F(DmPinHolderTest, ProcessCreateMsg_102, testing::ext::TestSize.Level1)
459 {
460     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
461     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
462     std::string message;
463     pinHolder->session_ = nullptr;
464     pinHolder->ProcessCreateMsg(message);
465     ASSERT_NE(pinHolder->timer_, nullptr);
466 }
467 
468 HWTEST_F(DmPinHolderTest, ProcessCreateMsg_103, testing::ext::TestSize.Level1)
469 {
470     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
471     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
472     JsonObject jsonObject;
473     std::string message = jsonObject.Dump();
474     pinHolder->ProcessCreateMsg(message);
475     ASSERT_NE(pinHolder->timer_, nullptr);
476 }
477 
478 HWTEST_F(DmPinHolderTest, ProcessCreateMsg_104, testing::ext::TestSize.Level1)
479 {
480     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
481     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
482     JsonObject jsonObject;
483     jsonObject[TAG_PIN_TYPE] = "TAG_PIN_TYPE";
484     std::string message = jsonObject.Dump();
485     pinHolder->ProcessCreateMsg(message);
486     ASSERT_NE(pinHolder->timer_, nullptr);
487 }
488 
489 HWTEST_F(DmPinHolderTest, ProcessCreateMsg_105, testing::ext::TestSize.Level1)
490 {
491     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
492     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
493     JsonObject jsonObject;
494     jsonObject[TAG_PIN_TYPE] = DmPinType::SUPER_SONIC;
495     jsonObject[TAG_PAYLOAD] = DmPinType::SUPER_SONIC;
496     std::string message = jsonObject.Dump();
497     pinHolder->ProcessCreateMsg(message);
498     ASSERT_NE(pinHolder->timer_, nullptr);
499 }
500 
501 HWTEST_F(DmPinHolderTest, ProcessCreateRespMsg_101, testing::ext::TestSize.Level1)
502 {
503     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
504     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
505     JsonObject jsonObject;
506     std::string message = jsonObject.Dump();
507     pinHolder->ProcessCreateRespMsg(message);
508     ASSERT_NE(pinHolder->timer_, nullptr);
509 }
510 
511 HWTEST_F(DmPinHolderTest, ProcessCreateRespMsg_102, testing::ext::TestSize.Level1)
512 {
513     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
514     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
515     JsonObject jsonObject;
516     jsonObject[TAG_REPLY] = DmPinType::NUMBER_PIN_CODE;
517     std::string message = jsonObject.Dump();
518     pinHolder->listener_ = nullptr;
519     pinHolder->ProcessCreateRespMsg(message);
520     ASSERT_NE(pinHolder->timer_, nullptr);
521 }
522 
523 HWTEST_F(DmPinHolderTest, ProcessCreateRespMsg_103, testing::ext::TestSize.Level1)
524 {
525     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
526     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
527     JsonObject jsonObject;
528     jsonObject[TAG_REPLY] = DmPinType::SUPER_SONIC;
529     std::string message = jsonObject.Dump();
530     pinHolder->session_ = nullptr;
531     pinHolder->ProcessCreateRespMsg(message);
532     ASSERT_NE(pinHolder->timer_, nullptr);
533 }
534 
535 HWTEST_F(DmPinHolderTest, ProcessCreateRespMsg_104, testing::ext::TestSize.Level1)
536 {
537     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
538     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
539     JsonObject jsonObject;
540     jsonObject[TAG_REPLY] = DmPinType::NUMBER_PIN_CODE;
541     std::string message = jsonObject.Dump();
542     pinHolder->session_ = nullptr;
543     pinHolder->ProcessCreateRespMsg(message);
544     ASSERT_NE(pinHolder->timer_, nullptr);
545 }
546 
547 HWTEST_F(DmPinHolderTest, ProcessDestroyMsg_101, testing::ext::TestSize.Level1)
548 {
549     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
550     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
551     std::string message;
552     pinHolder->listener_ = nullptr;
553     pinHolder->ProcessDestroyMsg(message);
554     ASSERT_NE(pinHolder->timer_, nullptr);
555 }
556 
557 HWTEST_F(DmPinHolderTest, ProcessDestroyMsg_102, testing::ext::TestSize.Level1)
558 {
559     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
560     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
561     std::string message;
562     pinHolder->session_ = nullptr;
563     pinHolder->ProcessDestroyMsg(message);
564     ASSERT_NE(pinHolder->timer_, nullptr);
565 }
566 
567 HWTEST_F(DmPinHolderTest, ProcessDestroyMsg_103, testing::ext::TestSize.Level1)
568 {
569     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
570     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
571     JsonObject jsonObject;
572     std::string message = jsonObject.Dump();
573     pinHolder->ProcessDestroyMsg(message);
574     ASSERT_NE(pinHolder->timer_, nullptr);
575 }
576 
577 HWTEST_F(DmPinHolderTest, ProcessDestroyMsg_104, testing::ext::TestSize.Level1)
578 {
579     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
580     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
581     JsonObject jsonObject;
582     jsonObject[TAG_PIN_TYPE] = "TAG_PIN_TYPE";
583     std::string message = jsonObject.Dump();
584     pinHolder->ProcessDestroyMsg(message);
585     ASSERT_NE(pinHolder->timer_, nullptr);
586 }
587 
588 HWTEST_F(DmPinHolderTest, ProcessDestroyMsg_105, testing::ext::TestSize.Level1)
589 {
590     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
591     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
592     JsonObject jsonObject;
593     jsonObject[TAG_PIN_TYPE] = DmPinType::SUPER_SONIC;
594     jsonObject[TAG_PAYLOAD] = DmPinType::SUPER_SONIC;
595     std::string message = jsonObject.Dump();
596     pinHolder->ProcessDestroyMsg(message);
597     ASSERT_NE(pinHolder->timer_, nullptr);
598 }
599 
600 HWTEST_F(DmPinHolderTest, CloseSession_101, testing::ext::TestSize.Level1)
601 {
602     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
603     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
604     std::string name;
605     pinHolder->session_ = nullptr;
606     pinHolder->CloseSession(name);
607     ASSERT_NE(pinHolder->timer_, nullptr);
608 }
609 
610 HWTEST_F(DmPinHolderTest, OnDataReceived_101, testing::ext::TestSize.Level1)
611 {
612     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
613     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
614     int32_t sessionId = 1;
615     JsonObject jsonObject;
616     jsonObject[TAG_MSG_TYPE] = MSG_TYPE_CREATE_PIN_HOLDER;
617     std::string message = jsonObject.Dump();
618     pinHolder->OnDataReceived(sessionId, message);
619     ASSERT_NE(pinHolder->timer_, nullptr);
620 }
621 
622 HWTEST_F(DmPinHolderTest, OnDataReceived_102, testing::ext::TestSize.Level1)
623 {
624     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
625     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
626     int32_t sessionId = 1;
627     JsonObject jsonObject;
628     jsonObject[TAG_MSG_TYPE] = MSG_TYPE_CREATE_PIN_HOLDER_RESP;
629     std::string message = jsonObject.Dump();
630     pinHolder->OnDataReceived(sessionId, message);
631     ASSERT_NE(pinHolder->timer_, nullptr);
632 }
633 
634 HWTEST_F(DmPinHolderTest, OnDataReceived_103, testing::ext::TestSize.Level1)
635 {
636     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
637     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
638     int32_t sessionId = 1;
639     JsonObject jsonObject;
640     jsonObject[TAG_MSG_TYPE] = MSG_TYPE_DESTROY_PIN_HOLDER;
641     std::string message = jsonObject.Dump();
642     pinHolder->OnDataReceived(sessionId, message);
643     ASSERT_NE(pinHolder->timer_, nullptr);
644 }
645 
646 HWTEST_F(DmPinHolderTest, OnDataReceived_104, testing::ext::TestSize.Level1)
647 {
648     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
649     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
650     int32_t sessionId = 1;
651     JsonObject jsonObject;
652     jsonObject[TAG_MSG_TYPE] = MSG_TYPE_DESTROY_PIN_HOLDER_RESP;
653     std::string message = jsonObject.Dump();
654     pinHolder->OnDataReceived(sessionId, message);
655     ASSERT_NE(pinHolder->timer_, nullptr);
656 }
657 
658 HWTEST_F(DmPinHolderTest, OnDataReceived_105, testing::ext::TestSize.Level1)
659 {
660     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
661     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
662     int32_t sessionId = 1;
663     int32_t data = 300;
664     JsonObject jsonObject;
665     jsonObject[TAG_MSG_TYPE] = data;
666     std::string message = jsonObject.Dump();
667     pinHolder->OnDataReceived(sessionId, message);
668     ASSERT_NE(pinHolder->timer_, nullptr);
669 }
670 
671 HWTEST_F(DmPinHolderTest, GetPeerDeviceId_101, testing::ext::TestSize.Level1)
672 {
673     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
674     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
675     int32_t sessionId = 1;
676     std::string udidHash;
677     pinHolder->GetPeerDeviceId(sessionId, udidHash);
678     ASSERT_NE(pinHolder->timer_, nullptr);
679 }
680 
681 HWTEST_F(DmPinHolderTest, OnSessionOpened_101, testing::ext::TestSize.Level1)
682 {
683     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
684     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
685     int32_t sessionId = 1;
686     int32_t sessionSide = 0;
687     int32_t result = 0;
688     pinHolder->OnSessionOpened(sessionId, sessionSide, result);
689     ASSERT_NE(pinHolder->timer_, nullptr);
690 }
691 
692 HWTEST_F(DmPinHolderTest, OnSessionOpened_102, testing::ext::TestSize.Level1)
693 {
694     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
695     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
696     int32_t sessionId = 1;
697     int32_t sessionSide = 1;
698     int32_t result = 1;
699     pinHolder ->listener_ = nullptr;
700     pinHolder->OnSessionOpened(sessionId, sessionSide, result);
701     ASSERT_NE(pinHolder->timer_, nullptr);
702 }
703 
704 
705 HWTEST_F(DmPinHolderTest, CheckTargetIdVaild_101, testing::ext::TestSize.Level1)
706 {
707     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
708     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
709     PeerTargetId targetId = {
710         .deviceId = "",
711         .brMac = "",
712         .bleMac = "",
713         .wifiIp = "",
714     };
715     int32_t ret = pinHolder->CheckTargetIdVaild(targetId);
716     ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
717 }
718 
719 HWTEST_F(DmPinHolderTest, CheckTargetIdVaild_102, testing::ext::TestSize.Level1)
720 {
721     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
722     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
723     PeerTargetId targetId = {
724         .deviceId = "deviceId",
725         .brMac = "brMac",
726         .bleMac = "bleMac",
727         .wifiIp = "wifiIp",
728     };
729     int32_t ret = pinHolder->CheckTargetIdVaild(targetId);
730     ASSERT_EQ(ret, DM_OK);
731 }
732 
733 HWTEST_F(DmPinHolderTest, NotifyPinHolderEvent_101, testing::ext::TestSize.Level1)
734 {
735     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
736     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
737     std::string packName = "com.ohos.dmtest";
738     std::string event = "event";
739     int32_t ret = pinHolder->NotifyPinHolderEvent(packName, event);
740     ASSERT_EQ(ret, ERR_DM_FAILED);
741 }
742 
743 HWTEST_F(DmPinHolderTest, OpenSessionServer_101, testing::ext::TestSize.Level1)
744 {
745     std::shared_ptr<PinHolderSession> pinHolderSession = std::make_shared<PinHolderSession>();
746     PeerTargetId targetId = {
747         .deviceId = "deviceId",
748         .brMac = "brMac",
749         .bleMac = "bleMac",
750         .wifiIp = "wifiIp",
751     };
752     int32_t ret = pinHolderSession->OpenSessionServer(targetId);
753     EXPECT_NE(ret, -1);
754 }
755 
756 HWTEST_F(DmPinHolderTest, CloseSessionServer_101, testing::ext::TestSize.Level1)
757 {
758     std::shared_ptr<PinHolderSession> pinHolderSession = std::make_shared<PinHolderSession>();
759     int32_t sessionId = 1;
760     int32_t ret = pinHolderSession->CloseSessionServer(sessionId);
761     EXPECT_EQ(ret, DM_OK);
762 }
763 
764 HWTEST_F(DmPinHolderTest, OnSessionOpened_103, testing::ext::TestSize.Level1)
765 {
766     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
767     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
768     std::shared_ptr<PinHolderSession> pinHolderSession = std::make_shared<PinHolderSession>();
769     pinHolderSession->RegisterSessionCallback(pinHolder);
770     int sessionId = 1;
771     int result = 1;
772     int ret = pinHolderSession->OnSessionOpened(sessionId, result);
773     int closeSessionId = 2;
774     pinHolderSession->OnSessionClosed(closeSessionId);
775     EXPECT_EQ(ret, DM_OK);
776 }
777 
778 HWTEST_F(DmPinHolderTest, SendData_101, testing::ext::TestSize.Level1)
779 {
780     std::shared_ptr<PinHolderSession> pinHolderSession = std::make_shared<PinHolderSession>();
781     int32_t sessionId = 6;
782     std::string message = "123456";
783     int32_t ret = pinHolderSession->SendData(sessionId, message);
784     EXPECT_EQ(ret, ERR_DM_FAILED);
785 }
786 
787 HWTEST_F(DmPinHolderTest, SendData_102, testing::ext::TestSize.Level1)
788 {
789     std::shared_ptr<PinHolderSession> pinHolderSession = std::make_shared<PinHolderSession>();
790     int32_t sessionId = 6;
791     std::string message = R"(
792     {
793         "MSG_TYPE" : "789"
794     }
795     )";
796     int32_t ret = pinHolderSession->SendData(sessionId, message);
797     EXPECT_EQ(ret, ERR_DM_FAILED);
798 }
799 
800 HWTEST_F(DmPinHolderTest, SendData_103, testing::ext::TestSize.Level1)
801 {
802     std::shared_ptr<PinHolderSession> pinHolderSession = std::make_shared<PinHolderSession>();
803     int32_t sessionId = 6;
804     std::string message = R"(
805     {
806         "MSG_TYPE" : 100
807     }
808     )";
809     int32_t ret = pinHolderSession->SendData(sessionId, message);
810     EXPECT_NE(ret, DM_OK);
811 
812     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
813     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
814     pinHolder->session_ = nullptr;
815     pinHolder->ProcessChangeMsg(message);
816 
817     message = R"(
818     {
819         "MSG_TYPE" : 100
820     }}
821     )";
822     pinHolder->session_ = std::make_shared<PinHolderSession>();
823     pinHolder->ProcessChangeMsg(message);
824 
825     message = R"(
826     {
827         "MSG_TYPE" : 100
828     }
829     )";
830     pinHolder->ProcessChangeMsg(message);
831 
832     message = R"(
833     {
834         "PIN_TYPE" : 12
835     }
836     )";
837     pinHolder->sinkState_ = PinHolderState::SINK_INIT;
838     pinHolder->ProcessChangeMsg(message);
839 
840     pinHolder->sinkState_ = PinHolderState::SINK_CREATE;
841     pinHolder->ProcessChangeMsg(message);
842 }
843 
844 HWTEST_F(DmPinHolderTest, GetAddrByTargetId_101, testing::ext::TestSize.Level1)
845 {
846     std::shared_ptr<PinHolderSession> pinHolderSession = std::make_shared<PinHolderSession>();
847     PeerTargetId targetId = {
848         .deviceId = "deviceIdTest",
849         .brMac = "brMacTest",
850         .bleMac = "bleMacTest",
851         .wifiIp = "wifiIpTest",
852         .wifiPort = 369,
853     };
854     ConnectionAddr addr;
855     int32_t ret = pinHolderSession->GetAddrByTargetId(targetId, addr);
856     EXPECT_EQ(ret, DM_OK);
857 
858     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
859     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
860     std::string message = R"(
861     {
862         "MSG_TYPE" : 100
863     }}
864     )";
865     pinHolder->ProcessChangeRespMsg(message);
866 
867     message = R"(
868     {
869         "MSG_TYPE" : 100
870     }
871     )";
872     pinHolder->ProcessChangeRespMsg(message);
873 
874     message = R"(
875     {
876         "REPLY" : 10
877     }
878     )";
879     pinHolder->session_ = nullptr;
880     pinHolder->ProcessChangeRespMsg(message);
881 
882     pinHolder->session_ = std::make_shared<PinHolderSession>();
883     pinHolder->ProcessChangeRespMsg(message);
884 
885     message = R"(
886     {
887         "REPLY" : 0
888     }
889     )";
890     pinHolder->ProcessChangeRespMsg(message);
891 }
892 
893 HWTEST_F(DmPinHolderTest, NotifyPinHolderEvent_102, testing::ext::TestSize.Level1)
894 {
895     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
896     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
897     std::string pkgName = "com.ohos.dmtest";
898     std::string event = "event";
899     pinHolder->session_ = nullptr;
900     int32_t ret = pinHolder->NotifyPinHolderEvent(pkgName, event);
901     ASSERT_EQ(ret, ERR_DM_FAILED);
902 
903     pinHolder->session_ = std::make_shared<PinHolderSession>();
904     pinHolder->processInfo_.pkgName = "";
905     ret = pinHolder->NotifyPinHolderEvent(pkgName, event);
906     ASSERT_EQ(ret, ERR_DM_FAILED);
907 
908     pinHolder->processInfo_.pkgName = "pkgName";
909     pkgName = "pkgName";
910     pinHolder->sessionId_ = -1;
911     ret = pinHolder->NotifyPinHolderEvent(pkgName, event);
912     ASSERT_EQ(ret, ERR_DM_FAILED);
913 
914     pinHolder->sessionId_ = 0;
915     pinHolder->isRemoteSupported_ = false;
916     ret = pinHolder->NotifyPinHolderEvent(pkgName, event);
917     ASSERT_EQ(ret, ERR_DM_BIND_PEER_UNSUPPORTED);
918 
919     pinHolder->isRemoteSupported_ = true;
920     ret = pinHolder->NotifyPinHolderEvent(pkgName, event);
921     ASSERT_EQ(ret, ERR_DM_FAILED);
922 
923     if (pinHolder->timer_ == nullptr) {
924         pinHolder->timer_ = std::make_shared<DmTimer>();
925     }
926     JsonObject jsonObj;
927     jsonObj[TAG_MSG_TYPE] = 1;
928     jsonObj[TAG_PIN_TYPE] = DmPinType::SUPER_SONIC;
929     event = jsonObj.Dump();
930     if (pinHolder->session_ == nullptr) {
931         pinHolder->session_ = std::make_shared<PinHolderSession>();
932     }
933     ret = pinHolder->NotifyPinHolderEvent(pkgName, event);
934     ASSERT_EQ(ret, ERR_DM_FAILED);
935 }
936 
937 HWTEST_F(DmPinHolderTest, CreateMsgScene_101, testing::ext::TestSize.Level1)
938 {
939     JsonObject sourceJson;
940     sourceJson[TAG_MSG_TYPE] = MSG_TYPE_CREATE_PIN_HOLDER;
941     sourceJson[TAG_PIN_TYPE] = DmPinType::QR_CODE;
942     sourceJson[TAG_PAYLOAD] = PAY_LOAD;
943     std::string sourceMessage = sourceJson.Dump();
944 
945     JsonObject sinkJson;
946     sinkJson[TAG_MSG_TYPE] = MSG_TYPE_CREATE_PIN_HOLDER_RESP;
947     sinkJson[TAG_PIN_TYPE] = DmPinType::QR_CODE;
948     sinkJson[TAG_PAYLOAD] = PAY_LOAD;
949     sinkJson[TAG_REPLY] = REPLY_SUCCESS;
950     std::string sinkMessage = sinkJson.Dump();
951 
952     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
953     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
954     pinHolder->OnSessionOpened(SESSION_ID, SESSION_ID_INVALID, RESULT);
955     pinHolder->OnDataReceived(SESSION_ID, sourceMessage);
956 
957     pinHolder->OnDataReceived(SESSION_ID, sinkMessage);
958     pinHolder->OnDataReceived(SESSION_ID, sourceMessage);
959     pinHolder->OnSessionClosed(SESSION_ID);
960     EXPECT_TRUE(pinHolder->isDestroy_.load());
961 }
962 
963 HWTEST_F(DmPinHolderTest, CreateRespMsgScene_101, testing::ext::TestSize.Level2)
964 {
965     JsonObject jsonObject;
966     jsonObject[TAG_MSG_TYPE] = MSG_TYPE_CREATE_PIN_HOLDER_RESP;
967     jsonObject[TAG_PIN_TYPE] = DmPinType::QR_CODE;
968     jsonObject[TAG_PAYLOAD] = PAY_LOAD;
969     jsonObject[TAG_REPLY] = REPLY_FAILED;
970     std::string message = jsonObject.Dump();
971 
972     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
973     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
974     pinHolder->OnSessionOpened(SESSION_ID, SESSION_ID_INVALID, RESULT);
975     pinHolder->OnDataReceived(SESSION_ID, message);
976     pinHolder->OnSessionClosed(SESSION_ID);
977     EXPECT_EQ(pinHolder->sessionId_, SESSION_ID_INVALID);
978 }
979 
980 HWTEST_F(DmPinHolderTest, DestroyMsgScene_101, testing::ext::TestSize.Level1)
981 {
982     JsonObject jsonObject;
983     jsonObject[TAG_MSG_TYPE] = MSG_TYPE_DESTROY_PIN_HOLDER;
984     jsonObject[TAG_PIN_TYPE] = DmPinType::QR_CODE;
985     jsonObject[TAG_PAYLOAD] = PAY_LOAD;
986     std::string message = jsonObject.Dump();
987 
988     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
989     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
990     pinHolder->OnSessionOpened(SESSION_ID, SESSION_ID_INVALID, RESULT);
991     pinHolder->OnDataReceived(SESSION_ID, message);
992     pinHolder->OnSessionClosed(SESSION_ID);
993     EXPECT_TRUE(pinHolder->isDestroy_.load());
994 }
995 
996 HWTEST_F(DmPinHolderTest, DestroyResMsgScene_101, testing::ext::TestSize.Level1)
997 {
998     JsonObject jsonObject;
999     jsonObject[TAG_MSG_TYPE] = MSG_TYPE_DESTROY_PIN_HOLDER_RESP;
1000     jsonObject[TAG_PIN_TYPE] = DmPinType::QR_CODE;
1001     jsonObject[TAG_PAYLOAD] = PAY_LOAD;
1002     std::string message = jsonObject.Dump();
1003 
1004     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1005     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1006     pinHolder->OnSessionOpened(SESSION_ID, SESSION_ID_INVALID, RESULT);
1007     pinHolder->OnDataReceived(SESSION_ID, message);
1008     pinHolder->OnSessionClosed(SESSION_ID);
1009     EXPECT_TRUE(pinHolder->isDestroy_.load());
1010 }
1011 
1012 HWTEST_F(DmPinHolderTest, ChangeMsgScene_101, testing::ext::TestSize.Level1)
1013 {
1014     JsonObject jsonObject;
1015     jsonObject[TAG_MSG_TYPE] = MSG_TYPE_PIN_HOLDER_CHANGE;
1016     jsonObject[TAG_PIN_TYPE] = DmPinType::QR_CODE;
1017     jsonObject[TAG_PAYLOAD] = PAY_LOAD;
1018     std::string message = jsonObject.Dump();
1019 
1020     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1021     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1022     pinHolder->OnSessionOpened(SESSION_ID, SESSION_ID_INVALID, RESULT);
1023     pinHolder->OnDataReceived(SESSION_ID, message);
1024     pinHolder->OnSessionClosed(SESSION_ID);
1025     EXPECT_TRUE(pinHolder->isDestroy_.load());
1026 }
1027 
1028 HWTEST_F(DmPinHolderTest, ChangeRespMsgScene_101, testing::ext::TestSize.Level1)
1029 {
1030     JsonObject jsonObject;
1031     jsonObject[TAG_MSG_TYPE] = MSG_TYPE_PIN_HOLDER_CHANGE_RESP;
1032     jsonObject[TAG_PIN_TYPE] = DmPinType::QR_CODE;
1033     jsonObject[TAG_PAYLOAD] = PAY_LOAD;
1034     std::string message = jsonObject.Dump();
1035 
1036     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1037     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1038     pinHolder->OnSessionOpened(SESSION_ID, SESSION_ID_INVALID, RESULT);
1039     pinHolder->OnDataReceived(SESSION_ID, message);
1040     pinHolder->OnSessionClosed(SESSION_ID);
1041     EXPECT_TRUE(pinHolder->isDestroy_.load());
1042 }
1043 
1044 HWTEST_F(DmPinHolderTest, CloseSessionMsgScene_101, testing::ext::TestSize.Level1)
1045 {
1046     JsonObject jsonObject;
1047     jsonObject[TAG_MSG_TYPE] = MSG_TYPE_PIN_CLOSE_SESSION;
1048     jsonObject[TAG_PIN_TYPE] = DmPinType::QR_CODE;
1049     jsonObject[TAG_PAYLOAD] = PAY_LOAD;
1050     std::string message = jsonObject.Dump();
1051 
1052     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1053     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1054     pinHolder->OnSessionOpened(SESSION_ID, SESSION_ID_INVALID, RESULT);
1055     pinHolder->OnDataReceived(SESSION_ID, message);
1056     pinHolder->OnSessionClosed(SESSION_ID);
1057     EXPECT_EQ(pinHolder->sessionId_, SESSION_ID_INVALID);
1058 }
1059 
1060 HWTEST_F(DmPinHolderTest, OnSessionOpened_104, testing::ext::TestSize.Level1)
1061 {
1062     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1063     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1064     std::shared_ptr<PinHolderSession> pinHolderSession = std::make_shared<PinHolderSession>();
1065     pinHolderSession->RegisterSessionCallback(pinHolder);
1066     int sessionId = 1;
1067     int result = 1;
1068     int ret = pinHolderSession->OnSessionOpened(sessionId, result);
1069     sessionId = 2;
1070     result = 2;
1071     ret = pinHolderSession->OnSessionOpened(sessionId, result);
1072     int closeSessionId = 2;
1073     pinHolderSession->OnSessionClosed(closeSessionId);
1074     closeSessionId = 1;
1075     pinHolderSession->OnSessionClosed(closeSessionId);
1076     std::string dataStr = "a**************2";
1077     void *data = nullptr;
1078     uint32_t dataLen = 0;
1079     data = reinterpret_cast<void *>(dataStr.data());
1080     dataLen = static_cast<uint32_t>(dataStr.length());
1081     pinHolderSession->OnBytesReceived(sessionId, data, dataLen);
1082     std::string dataStr2 = "a**************3";
1083     data = reinterpret_cast<void *>(dataStr2.data());
1084     dataLen = static_cast<uint32_t>(dataStr2.length());
1085     pinHolderSession->OnBytesReceived(sessionId, data, dataLen);
1086     pinHolderSession->UnRegisterSessionCallback();
1087     EXPECT_EQ(ret, DM_OK);
1088 }
1089 
1090 HWTEST_F(DmPinHolderTest, OnSessionOpened_105, testing::ext::TestSize.Level1)
1091 {
1092     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1093     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1094     std::shared_ptr<PinHolderSession> pinHolderSession = std::make_shared<PinHolderSession>();
1095     pinHolderSession->RegisterSessionCallback(pinHolder);
1096     int sessionId = 1;
1097     int result = 1;
1098     int ret = pinHolderSession->OnSessionOpened(sessionId, result);
1099     pinHolderSession->UnRegisterSessionCallback();
1100     ret = pinHolderSession->OnSessionOpened(sessionId, result);
1101     pinHolderSession->RegisterSessionCallback(pinHolder);
1102     std::string dataStr = "a**************2";
1103     void *data = nullptr;
1104     uint32_t dataLen = 0;
1105     data = reinterpret_cast<void *>(dataStr.data());
1106     dataLen = static_cast<uint32_t>(dataStr.length());
1107     pinHolderSession->OnBytesReceived(sessionId, data, dataLen);
1108     pinHolderSession->UnRegisterSessionCallback();
1109     std::string dataStr2 = "a**************3";
1110     data = reinterpret_cast<void *>(dataStr2.data());
1111     dataLen = static_cast<uint32_t>(dataStr2.length());
1112     pinHolderSession->OnBytesReceived(sessionId, data, dataLen);
1113     int closeSessionId = 2;
1114     pinHolderSession->OnSessionClosed(closeSessionId);
1115     pinHolderSession->UnRegisterSessionCallback();
1116     closeSessionId = 1;
1117     pinHolderSession->OnSessionClosed(closeSessionId);
1118     EXPECT_EQ(ret, ERR_DM_FAILED);
1119 }
1120 
1121 HWTEST_F(DmPinHolderTest, CreatePinholder_109, testing::ext::TestSize.Level1)
1122 {
1123     std::string packName = "com.ohos.dmtest";
1124     PeerTargetId targetId = {
1125         .deviceId = "deviceId",
1126         .brMac = "brMac",
1127         .bleMac = "bleMac",
1128         .wifiIp = "wifiIp",
1129     };
1130 
1131     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
1132     std::string payload;
1133     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1134     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1135     pinHolder->processInfo_.pkgName = packName;
1136     pinHolder->processInfo_.userId = 100;
1137     pinHolder->sourceState_ = SOURCE_INIT;
1138     pinHolder->sessionId_ = 0;
1139     int32_t ret = pinHolder->CreatePinHolder(packName, targetId, pinType, payload);
1140     ASSERT_EQ(ret, DM_OK);
1141 }
1142 
1143 HWTEST_F(DmPinHolderTest, CreatePinholder_110, testing::ext::TestSize.Level1)
1144 {
1145     std::string packName = "com.ohos.dmtest";
1146     PeerTargetId targetId = {
1147         .deviceId = "deviceId",
1148         .brMac = "brMac",
1149         .bleMac = "bleMac",
1150         .wifiIp = "wifiIp",
1151     };
1152     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
1153     std::string payload;
1154     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1155     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1156     pinHolder->processInfo_.pkgName = packName;
1157     pinHolder->processInfo_.userId = 100;
1158     pinHolder->sourceState_ = SOURCE_INIT;
1159     int32_t ret = pinHolder->CreatePinHolder(packName, targetId, pinType, payload);
1160     ASSERT_EQ(ret, -1);
1161 }
1162 
1163 HWTEST_F(DmPinHolderTest, DestroyPinHolder_107, testing::ext::TestSize.Level1)
1164 {
1165     std::string packName = "com.ohos.dmtest";
1166     PeerTargetId targetId = {
1167         .deviceId = "deviceId",
1168         .brMac = "brMac",
1169         .bleMac = "bleMac",
1170         .wifiIp = "wifiIp",
1171     };
1172     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
1173     std::string payload;
1174     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1175     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1176     pinHolder->processInfo_.pkgName = packName;
1177     pinHolder->processInfo_.userId = 100;
1178     pinHolder->sessionId_ = SESSION_ID_INVALID;
1179     pinHolder->listener_ = std::make_shared<IDeviceManagerServiceListenerTest>();
1180     int32_t ret = pinHolder->DestroyPinHolder(packName, targetId, pinType, payload);
1181     ASSERT_EQ(ret, DM_OK);
1182 }
1183 
1184  HWTEST_F(DmPinHolderTest, DestroyPinHolder_108, testing::ext::TestSize.Level1)
1185 {
1186     std::string packName = "com.ohos.dmtest";
1187     PeerTargetId targetId = {
1188         .deviceId = "deviceId",
1189         .brMac = "brMac",
1190         .bleMac = "bleMac",
1191         .wifiIp = "wifiIp",
1192     };
1193     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
1194     std::string payload;
1195     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1196     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1197     pinHolder->processInfo_.pkgName = packName;
1198     pinHolder->processInfo_.userId = 100;
1199     pinHolder->sessionId_ = 0;
1200     pinHolder->sourceState_ = SOURCE_CREATE;
1201     pinHolder->listener_ = std::make_shared<IDeviceManagerServiceListenerTest>();
1202     int32_t ret = pinHolder->DestroyPinHolder(packName, targetId, pinType, payload);
1203     ASSERT_NE(ret, DM_OK);
1204 }
1205 
1206 HWTEST_F(DmPinHolderTest, DestroyPinHolder_109, testing::ext::TestSize.Level1)
1207 {
1208     std::string packName = "com.ohos.dmtest";
1209     PeerTargetId targetId = {
1210         .deviceId = "deviceId",
1211         .brMac = "brMac",
1212         .bleMac = "bleMac",
1213         .wifiIp = "wifiIp",
1214     };
1215     DmPinType pinType = DmPinType::NUMBER_PIN_CODE;
1216     std::string payload;
1217     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1218     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1219     pinHolder->processInfo_.pkgName = packName;
1220     pinHolder->processInfo_.userId = 100;
1221     pinHolder->sessionId_ = 0;
1222     pinHolder->sourceState_ = SOURCE_CREATE;
1223     pinHolder->timer_ = std::make_shared<DmTimer>();
1224     pinHolder->listener_ = std::make_shared<IDeviceManagerServiceListenerTest>();
1225     int32_t ret = pinHolder->DestroyPinHolder(packName, targetId, pinType, payload);
1226     ASSERT_NE(ret, DM_OK);
1227 }
1228  HWTEST_F(DmPinHolderTest, ProcessCloseSessionMsg_101, testing::ext::TestSize.Level1)
1229 {
1230     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1231     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1232     std::string message;
1233     pinHolder->listener_ = nullptr;
1234     pinHolder->ProcessCloseSessionMsg(message);
1235     ASSERT_NE(pinHolder->timer_, nullptr);
1236 }
1237 
1238 HWTEST_F(DmPinHolderTest, ProcessCloseSessionMsg_102, testing::ext::TestSize.Level1)
1239 {
1240     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1241     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1242     std::string message;
1243     pinHolder->session_ = nullptr;
1244     pinHolder->ProcessCloseSessionMsg(message);
1245     ASSERT_NE(pinHolder->timer_, nullptr);
1246 }
1247  HWTEST_F(DmPinHolderTest, ProcessDestroyMsg_106, testing::ext::TestSize.Level1)
1248 {
1249     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1250     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1251     JsonObject jsonObject;
1252     jsonObject[TAG_PIN_TYPE] = DmPinType::SUPER_SONIC;
1253     jsonObject[TAG_PAYLOAD] = DmPinType::SUPER_SONIC;
1254     std::string message = jsonObject.Dump();
1255     pinHolder->sinkState_ = SINK_CREATE;
1256     pinHolder->ProcessDestroyMsg(message);
1257     ASSERT_NE(pinHolder->timer_, nullptr);
1258 }
1259  HWTEST_F(DmPinHolderTest, CloseSession_102, testing::ext::TestSize.Level1)
1260 {
1261     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1262     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1263     std::string name;
1264     pinHolder->listener_ = nullptr;
1265     pinHolder->CloseSession(name);
1266     ASSERT_NE(pinHolder->timer_, nullptr);
1267 }
1268 
1269 HWTEST_F(DmPinHolderTest, CloseSession_103, testing::ext::TestSize.Level1)
1270 {
1271     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1272     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1273     std::string name;
1274     pinHolder->timer_ = std::make_shared<DmTimer>();
1275     pinHolder->CloseSession(name);
1276     ASSERT_NE(pinHolder->timer_, nullptr);
1277 }
1278 
1279 HWTEST_F(DmPinHolderTest, ProcessDestroyResMsg_101, testing::ext::TestSize.Level1)
1280 {
1281     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1282     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1283     std::string message;
1284     pinHolder->ProcessDestroyResMsg(message);
1285     ASSERT_NE(pinHolder->timer_, nullptr);
1286 }
1287 
1288 HWTEST_F(DmPinHolderTest, ProcessDestroyResMsg_102, testing::ext::TestSize.Level1)
1289 {
1290     JsonObject jsonObject;
1291     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1292     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1293     std::string message = jsonObject.Dump();
1294     jsonObject[TAG_REPLY] = DmPinType::NUMBER_PIN_CODE;
1295     pinHolder->ProcessDestroyResMsg(message);
1296     ASSERT_NE(pinHolder->timer_, nullptr);
1297 }
1298 
1299 HWTEST_F(DmPinHolderTest, ProcessDestroyResMsg_103, testing::ext::TestSize.Level1)
1300 {
1301     JsonObject jsonObject;
1302     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1303     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1304     std::string message = jsonObject.Dump();
1305     jsonObject[TAG_REPLY] = DmPinType::NUMBER_PIN_CODE;
1306     pinHolder->session_ = nullptr;
1307     pinHolder->ProcessDestroyResMsg(message);
1308     ASSERT_NE(pinHolder->timer_, nullptr);
1309 }
1310 
1311 HWTEST_F(DmPinHolderTest, ProcessDestroyResMsg_104, testing::ext::TestSize.Level1)
1312 {
1313     JsonObject jsonObject;
1314     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1315     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1316     std::string message = jsonObject.Dump();
1317     jsonObject[TAG_REPLY] = DmPinType::NUMBER_PIN_CODE;
1318     pinHolder->listener_ = nullptr;
1319     pinHolder->ProcessDestroyResMsg(message);
1320     ASSERT_NE(pinHolder->timer_, nullptr);
1321 }
1322  HWTEST_F(DmPinHolderTest, UnRegisterPinHolderCallback_101, testing::ext::TestSize.Level1)
1323 {
1324     std::string packName = "com.ohos.dmtest";
1325     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1326     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1327     pinHolder->session_ = nullptr;
1328     int32_t ret = pinHolder->UnRegisterPinHolderCallback(packName);
1329     ASSERT_EQ(ret, ERR_DM_FAILED);
1330 }
1331 
1332 HWTEST_F(DmPinHolderTest, UnRegisterPinHolderCallback_102, testing::ext::TestSize.Level1)
1333 {
1334     std::string packName = "com.ohos.dmtest";
1335     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1336     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1337     pinHolder->session_ = std::make_shared<PinHolderSession>();
1338     int32_t ret = pinHolder->UnRegisterPinHolderCallback(packName);
1339     ASSERT_EQ(ret, DM_OK);
1340 }
1341 
1342 HWTEST_F(DmPinHolderTest, OnSessionClosed_101, testing::ext::TestSize.Level1)
1343 {
1344     std::string packName = "com.ohos.dmtest";
1345     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1346     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1347     int32_t sessionId = 1;
1348     pinHolder->OnSessionClosed(sessionId);
1349     ASSERT_NE(pinHolder->timer_, nullptr);
1350 }
1351 
1352 HWTEST_F(DmPinHolderTest, OnSessionClosed_102, testing::ext::TestSize.Level1)
1353 {
1354     std::string packName = "com.ohos.dmtest";
1355     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1356     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1357     int32_t sessionId = pinHolder->sessionId_;
1358     pinHolder->timer_ = std::make_shared<DmTimer>();
1359     pinHolder->OnSessionClosed(sessionId);
1360     ASSERT_NE(pinHolder->timer_, nullptr);
1361 }
1362 HWTEST_F(DmPinHolderTest, OnSessionClosed_103, testing::ext::TestSize.Level1)
1363 {
1364     std::string packName = "com.ohos.dmtest";
1365     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<IDeviceManagerServiceListenerTest>();
1366     std::shared_ptr<PinHolder> pinHolder = std::make_shared<PinHolder>(listener);
1367     int32_t sessionId = pinHolder->sessionId_;
1368     pinHolder->OnSessionClosed(sessionId);
1369     ASSERT_NE(pinHolder->timer_, nullptr);
1370 }
1371 } // namespace
1372 } // namespace DistributedHardware
1373 } // namespace OHOS