1 /*
2 * Copyright (c) 2022-2024 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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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 = SafetyDump(jsonObject);
474 pinHolder->ProcessCreateMsg(message);
475 ASSERT_NE(pinHolder->timer_, nullptr);
476 }
477
478 HWTEST_F(DmPinHolderTest, ProcessCreateMsg_104, testing::ext::TestSize.Level0)
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 = SafetyDump(jsonObject);
485 pinHolder->ProcessCreateMsg(message);
486 ASSERT_NE(pinHolder->timer_, nullptr);
487 }
488
489 HWTEST_F(DmPinHolderTest, ProcessCreateMsg_105, testing::ext::TestSize.Level0)
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 = SafetyDump(jsonObject);
497 pinHolder->ProcessCreateMsg(message);
498 ASSERT_NE(pinHolder->timer_, nullptr);
499 }
500
501 HWTEST_F(DmPinHolderTest, ProcessCreateRespMsg_101, testing::ext::TestSize.Level0)
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 = SafetyDump(jsonObject);
507 pinHolder->ProcessCreateRespMsg(message);
508 ASSERT_NE(pinHolder->timer_, nullptr);
509 }
510
511 HWTEST_F(DmPinHolderTest, ProcessCreateRespMsg_102, testing::ext::TestSize.Level0)
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 = SafetyDump(jsonObject);
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.Level0)
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 = SafetyDump(jsonObject);
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.Level0)
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 = SafetyDump(jsonObject);
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.Level0)
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.Level0)
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.Level0)
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 = SafetyDump(jsonObject);
573 pinHolder->ProcessDestroyMsg(message);
574 ASSERT_NE(pinHolder->timer_, nullptr);
575 }
576
577 HWTEST_F(DmPinHolderTest, ProcessDestroyMsg_104, testing::ext::TestSize.Level0)
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 = SafetyDump(jsonObject);
584 pinHolder->ProcessDestroyMsg(message);
585 ASSERT_NE(pinHolder->timer_, nullptr);
586 }
587
588 HWTEST_F(DmPinHolderTest, ProcessDestroyMsg_105, testing::ext::TestSize.Level0)
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 = SafetyDump(jsonObject);
596 pinHolder->ProcessDestroyMsg(message);
597 ASSERT_NE(pinHolder->timer_, nullptr);
598 }
599
600 HWTEST_F(DmPinHolderTest, CloseSession_101, testing::ext::TestSize.Level0)
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.Level0)
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 = SafetyDump(jsonObject);
618 pinHolder->OnDataReceived(sessionId, message);
619 ASSERT_NE(pinHolder->timer_, nullptr);
620 }
621
622 HWTEST_F(DmPinHolderTest, OnDataReceived_102, testing::ext::TestSize.Level0)
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 = SafetyDump(jsonObject);
630 pinHolder->OnDataReceived(sessionId, message);
631 ASSERT_NE(pinHolder->timer_, nullptr);
632 }
633
634 HWTEST_F(DmPinHolderTest, OnDataReceived_103, testing::ext::TestSize.Level0)
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 = SafetyDump(jsonObject);
642 pinHolder->OnDataReceived(sessionId, message);
643 ASSERT_NE(pinHolder->timer_, nullptr);
644 }
645
646 HWTEST_F(DmPinHolderTest, OnDataReceived_104, testing::ext::TestSize.Level0)
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 = SafetyDump(jsonObject);
654 pinHolder->OnDataReceived(sessionId, message);
655 ASSERT_NE(pinHolder->timer_, nullptr);
656 }
657
658 HWTEST_F(DmPinHolderTest, OnDataReceived_105, testing::ext::TestSize.Level0)
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 = SafetyDump(jsonObject);
667 pinHolder->OnDataReceived(sessionId, message);
668 ASSERT_NE(pinHolder->timer_, nullptr);
669 }
670
671 HWTEST_F(DmPinHolderTest, GetPeerDeviceId_101, testing::ext::TestSize.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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.Level0)
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 = SafetyDump(sourceJson);
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 = SafetyDump(sourceJson);
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 = SafetyDump(jsonObject);
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.Level0)
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 = SafetyDump(jsonObject);
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.Level0)
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 = SafetyDump(jsonObject);
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.Level0)
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 = SafetyDump(jsonObject);
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.Level0)
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 = SafetyDump(jsonObject);
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.Level0)
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 = SafetyDump(jsonObject);
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 } // namespace
1060 } // namespace DistributedHardware
1061 } // namespace OHOS