• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 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 "dslm_msg_lib_test.h"
17 
18 #include <cstdint>
19 
20 #include "messenger.h"
21 #include "messenger_utils.h"
22 #include "securec.h"
23 #include "utils_log.h"
24 #include "utils_mem.h"
25 
26 #include "device_manager_mock.h"
27 #include "dslm_msg_interface_mock.h"
28 #include "dslm_test_link.h"
29 
30 #include "messenger_device_socket_manager.h"
31 #include "messenger_device_status_manager.h"
32 
33 #define QUEUE_LEN 2
34 
35 using namespace std;
36 using namespace std::chrono;
37 using namespace testing;
38 using namespace testing::ext;
39 
40 namespace OHOS {
41 namespace Security {
42 namespace DslmUnitTest {
43 
44 std::string g_errLog;
45 
LogCallback(const LogType,const LogLevel level,const unsigned int domain,const char * tag,const char * msg)46 void LogCallback(const LogType, const LogLevel level, const unsigned int domain, const char *tag, const char *msg)
47 {
48     g_errLog = msg;
49 }
50 
SetUpTestCase()51 void DslmMsgLibTest::SetUpTestCase()
52 {
53 }
TearDownTestCase()54 void DslmMsgLibTest::TearDownTestCase()
55 {
56 }
SetUp()57 void DslmMsgLibTest::SetUp()
58 {
59     queue = CreateWorkQueue(QUEUE_LEN, "msg_ut_test_queue");
60 }
TearDown()61 void DslmMsgLibTest::TearDown()
62 {
63     DestroyWorkQueue(queue);
64     auto &mock = DistributedHardware::DeviceManagerMock::Instance();
65     Mock::VerifyAndClearExpectations(&mock);
66 }
67 
68 HWTEST_F(DslmMsgLibTest, MessengerCommonTest, TestSize.Level0)
69 {
70     {
71         auto *msg = CreateMessenger(nullptr);
72         EXPECT_EQ(msg, nullptr);
73     }
74     {
75         MessengerConfig config = {};
76         auto *msg = CreateMessenger(&config);
77         EXPECT_EQ(msg, nullptr);
78         DestroyMessenger(msg);
79     }
80     {
81         ForEachDeviceProcess(nullptr, nullptr, nullptr);
82         EXPECT_FALSE(GetDeviceStatisticInfo(nullptr, nullptr, nullptr));
83     }
84 }
85 
86 HWTEST_F(DslmMsgLibTest, DeviceSocketTestCase1, TestSize.Level0)
87 {
88     {
89         auto result = InitDeviceSocketManager(nullptr, nullptr);
90         EXPECT_EQ(result, false);
91     }
92     {
93         auto result = InitDeviceSocketManager(queue, nullptr);
94         EXPECT_EQ(result, false);
95     }
96     {
97         MessengerConfig config = {};
98         auto ret = InitDeviceSocketManager(queue, &config);
99         EXPECT_FALSE(ret);
100         EXPECT_TRUE(DeInitDeviceSocketManager());
101     }
102     {
103         MessengerConfig config = {.pkgName = "pkg", .primarySockName = "", .secondarySockName = "se", .threadCnt = 1};
104         auto ret = InitDeviceSocketManager(queue, &config);
105         EXPECT_TRUE(ret);
106         EXPECT_TRUE(DeInitDeviceSocketManager());
107     }
108     {
109         MessengerConfig config = {.pkgName = "pkg", .primarySockName = "pr", .secondarySockName = "", .threadCnt = 1};
110         auto ret = InitDeviceSocketManager(queue, &config);
111         EXPECT_TRUE(ret);
112         EXPECT_TRUE(DeInitDeviceSocketManager());
113     }
114 }
115 
116 HWTEST_F(DslmMsgLibTest, DeviceSocketTestCase2, TestSize.Level0)
117 {
118     MessengerConfig config = {.pkgName = "pkg", .primarySockName = "pr", .secondarySockName = "se", .threadCnt = 1};
119     auto ret = InitDeviceSocketManager(queue, &config);
120     EXPECT_TRUE(ret);
121     char dummy[] = {'a', 0};
122     PeerSocketInfo peer = {.name = dummy, .networkId = dummy};
123     {
124         DeviceIdentify id {.identity = {'a'}, .length = 1};
125         uint8_t msg[UINT8_MAX] = {0};
126         UtPushMsgDataToPendingList(0, &id, msg, 1);
127     }
128     UtServerOnBind(1, peer);
129     {
130         DeviceIdentify idt {};
131         EXPECT_FALSE(UtGetIdentityByServerSocket(1, nullptr));
132         EXPECT_TRUE(UtGetIdentityByServerSocket(1, &idt));
133         UtServerOnBytes(1, nullptr, 0);
134         UtServerOnBytes(1, dummy, 1);
135         UtServerOnBytes(0, dummy, 1);
136         int sock = 0;
137         EXPECT_TRUE(UtGetSocketBySocketList(&idt, true, &sock));
138         EXPECT_EQ(sock, 1);
139     }
140     UtClientOnBind(2, nullptr);
141     DeviceIdentify idt {.length = 1};
142     UtClientOnBind(2, &idt);
143     {
144         DeviceIdentify idt {};
145         EXPECT_FALSE(UtGetIdentityByClientSocket(2, nullptr));
146         EXPECT_TRUE(UtGetIdentityByClientSocket(2, &idt));
147         int sock = 0;
148         EXPECT_TRUE(UtGetSocketBySocketList(&idt, false, &sock));
149         EXPECT_EQ(sock, 2);
150         UtClientOnBytes(2, nullptr, 0);
151         UtClientOnBytes(2, dummy, 1);
152         UtClientOnBytes(0, dummy, 1);
153     }
154     EXPECT_TRUE(DeInitDeviceSocketManager());
155 }
156 
157 HWTEST_F(DslmMsgLibTest, ProcessSocketMessageReceivedTest, TestSize.Level0)
158 {
159     DeviceSocketManager *inst = UtGetDeviceSocketManagerInstance();
160     ASSERT_NE(inst, nullptr);
161 
162     {
163         UtProcessSocketMessageReceived(nullptr, 0);
164         uint8_t data[] = {};
165         UtProcessSocketMessageReceived(data, 0);
166     }
167     {
168         uint8_t *data = static_cast<uint8_t *>(MALLOC(UINT8_MAX));
169         ASSERT_NE(data, nullptr);
170 
171         UtProcessSocketMessageReceived(data, 1); // will free the data.
172         UtRemoveSocketNode(0, SHUTDOWN_REASON_UNKNOWN, false);
173     }
174     {
175         uint8_t *data = static_cast<uint8_t *>(MALLOC(UINT8_MAX));
176         ASSERT_NE(data, nullptr);
177         QueueMsgData *queueData = reinterpret_cast<QueueMsgData *>(data);
178         queueData->msgLen = (UINT8_MAX > sizeof(QueueMsgData)) ? UINT8_MAX - sizeof(QueueMsgData) : 0;
179 
180         UtProcessSocketMessageReceived(data, 1); // will free the data.
181         UtRemoveSocketNode(0, SHUTDOWN_REASON_UNKNOWN, false);
182     }
183     {
184         uint8_t *data = static_cast<uint8_t *>(MALLOC(UINT8_MAX + sizeof(QueueMsgData)));
185         ASSERT_NE(data, nullptr);
186         QueueMsgData *queueData = reinterpret_cast<QueueMsgData *>(data);
187         queueData->msgLen = UINT8_MAX;
188 
189         UtProcessSocketMessageReceived(data, UINT8_MAX + sizeof(QueueMsgData)); // will free the data.
190         UtRemoveSocketNode(0, SHUTDOWN_REASON_UNKNOWN, false);
191     }
192     {
193         MessengerConfig config = {
194             .pkgName = "pkg",
195             .primarySockName = "pr",
196             .secondarySockName = "",
197             .threadCnt = 1,
__anon31937ccf0102() 198             .messageReceiver = [](const DeviceIdentify *, const uint8_t *, uint32_t) { return 0; },
199         };
200         auto ret = InitDeviceSocketManager(queue, &config);
201         EXPECT_TRUE(ret);
202 
203         uint8_t *data = static_cast<uint8_t *>(MALLOC(UINT8_MAX + sizeof(QueueMsgData)));
204         ASSERT_NE(data, nullptr);
205         QueueMsgData *queueData = reinterpret_cast<QueueMsgData *>(data);
206         queueData->msgLen = UINT8_MAX;
207 
208         UtProcessSocketMessageReceived(data, UINT8_MAX + sizeof(QueueMsgData)); // will free the data.
209         UtRemoveSocketNode(0, SHUTDOWN_REASON_UNKNOWN, false);
210         EXPECT_TRUE(DeInitDeviceSocketManager());
211     }
212 }
213 
214 HWTEST_F(DslmMsgLibTest, OnSocketMessageReceivedTest, TestSize.Level0)
215 {
216     {
217         UtOnSocketMessageReceived(nullptr, nullptr, 0);
218     }
219     {
220         DeviceIdentify idt {};
221         UtOnSocketMessageReceived(&idt, nullptr, 0);
222     }
223     {
224         DeviceIdentify idt {};
225         MessengerConfig config = {
226             .pkgName = "pkg",
227             .primarySockName = "pr",
228             .secondarySockName = "",
__anon31937ccf0202() 229             .messageReceiver = [](const DeviceIdentify *, const uint8_t *, uint32_t) { return 0; },
230         };
231 
232         auto ret = InitDeviceSocketManager(queue, &config);
233         EXPECT_TRUE(ret);
234         uint8_t msg[UINT8_MAX] = {0};
235         UtOnSocketMessageReceived(&idt, msg, UINT8_MAX);
236 
237         EXPECT_TRUE(DeInitDeviceSocketManager());
238     }
239     {
240         DeviceIdentify idt {};
241         MessengerConfig config = {.pkgName = "pkg", .primarySockName = "pr", .secondarySockName = "", .threadCnt = 1};
242 
243         auto ret = InitDeviceSocketManager(queue, &config);
244         EXPECT_TRUE(ret);
245         uint8_t msg[UINT8_MAX] = {0};
246         UtOnSocketMessageReceived(&idt, msg, UINT8_MAX);
247 
248         EXPECT_TRUE(DeInitDeviceSocketManager());
249     }
250 }
251 
252 HWTEST_F(DslmMsgLibTest, GetIdentityBySocketIdTest, TestSize.Level0)
253 {
254     {
255         auto ret = UtGetIdentityBySocketId(0, false, nullptr);
256         EXPECT_FALSE(ret);
257     }
258     {
259         DeviceIdentify idt {};
260         auto ret = UtGetIdentityBySocketId(0, true, &idt);
261         EXPECT_FALSE(ret);
262     }
263     {
264         DeviceIdentify idt {};
265         auto ret = UtGetIdentityBySocketId(0, false, &idt);
266         EXPECT_FALSE(ret);
267     }
268 }
269 
270 HWTEST_F(DslmMsgLibTest, MessengerSendMsgToTest, TestSize.Level0)
271 {
272     {
273         MessengerSendMsgTo(0, nullptr, nullptr, 0);
274     }
275     {
276         DeviceIdentify idt {};
277         MessengerSendMsgTo(0, &idt, nullptr, 0);
278     }
279     {
280         DeviceIdentify idt {};
281         uint8_t data[UINT16_MAX] = {};
282         MessengerSendMsgTo(0, &idt, data, 0);
283     }
284     {
285         DeviceIdentify idt {};
286         uint8_t data[UINT16_MAX] = {};
287         MessengerSendMsgTo(0, &idt, data, (81920 * 4) + 1);
288     }
289     {
290         DeviceIdentify idt {};
291         uint8_t data[UINT16_MAX] = {0};
292         MessengerSendMsgTo(0, &idt, data, UINT16_MAX);
293     }
294     {
295         MessengerConfig config = {.pkgName = "pkg",
296             .primarySockName = "pr",
297             .secondarySockName = "se",
298             .threadCnt = 1,
__anon31937ccf0302() 299             .messageReceiver = [](const DeviceIdentify *, const uint8_t *, uint32_t) { return 0; }};
300         auto ret = InitDeviceSocketManager(queue, &config);
301         EXPECT_TRUE(ret);
302 
303         uint8_t msg[UINT8_MAX] = {0};
304         {
305             DeviceIdentify idt {.identity = {'a'}, .length = 1};
306             MessengerSendMsgTo(0, &idt, msg, UINT8_MAX);
307         }
308         {
309             DeviceIdentify idt {.identity = {'x'}, .length = 1};
310             MessengerSendMsgTo(0, &idt, msg, UINT8_MAX);
311         }
312         EXPECT_TRUE(DeInitDeviceSocketManager());
313     }
314 }
315 
316 HWTEST_F(DslmMsgLibTest, CreateQueueMsgDataTest, TestSize.Level0)
317 {
318     {
319         auto *data = CreateQueueMsgData(nullptr, nullptr, 0, nullptr);
320         EXPECT_EQ(data, nullptr);
321     }
322     {
323         DeviceIdentify idt {};
324         auto *data = CreateQueueMsgData(&idt, nullptr, 0, nullptr);
325         EXPECT_EQ(data, nullptr);
326     }
327     {
328         DeviceIdentify idt {};
329         uint8_t msg[UINT8_MAX] = {0};
330         auto *data = CreateQueueMsgData(&idt, msg, 0, nullptr);
331         EXPECT_EQ(data, nullptr);
332     }
333     {
334         DeviceIdentify idt {};
335         uint8_t msg[UINT8_MAX] = {0};
336         auto *data = CreateQueueMsgData(&idt, msg, UINT8_MAX, nullptr);
337         EXPECT_EQ(data, nullptr);
338     }
339     {
340         DeviceIdentify idt {};
341         uint8_t msg[UINT8_MAX] = {0};
342         uint32_t queueDataLen = 0;
343         auto *data = CreateQueueMsgData(&idt, msg, UINT8_MAX, &queueDataLen);
344         ASSERT_NE(data, nullptr);
345         EXPECT_EQ(data->msgLen, UINT8_MAX);
346         EXPECT_EQ(queueDataLen, UINT8_MAX + sizeof(QueueMsgData));
347     }
348 }
349 
350 HWTEST_F(DslmMsgLibTest, SocketShutDownTest, TestSize.Level0)
351 {
352     MessengerConfig config = {.pkgName = "pkg", .primarySockName = "pr", .secondarySockName = "", .threadCnt = 1};
353     auto ret = InitDeviceSocketManager(queue, &config);
354     EXPECT_TRUE(ret);
355 
356     DeviceIdentify idt {.length = 1, .identity = {'a'}};
357 
358     char dummy[] = {'a', 0};
359     PeerSocketInfo peer = {.name = dummy, .networkId = dummy};
360     UtServerOnBind(1, peer);
361     UtClientOnBind(1, &idt);
362 
363     UtCreateOrRestartSocketCloseTimerWithLock(0);
364     UtCreateOrRestartSocketCloseTimerWithLock(1);
365 
366     UtServerOnShutdown(3, SHUTDOWN_REASON_UNKNOWN);
367     UtClientOnShutdown(4, SHUTDOWN_REASON_UNKNOWN);
368     UtServerOnShutdown(0, SHUTDOWN_REASON_UNKNOWN);
369     UtClientOnShutdown(0, SHUTDOWN_REASON_UNKNOWN);
370     UtServerOnShutdown(1, SHUTDOWN_REASON_UNKNOWN);
371     UtClientOnShutdown(1, SHUTDOWN_REASON_UNKNOWN);
372     EXPECT_TRUE(DeInitDeviceSocketManager());
373 }
374 
375 HWTEST_F(DslmMsgLibTest, MessengerGetNetworkIdByDeviceIdentifyTest, TestSize.Level0)
376 {
377     {
378         auto ret = MessengerGetNetworkIdByDeviceIdentify(nullptr, nullptr, 0);
379         EXPECT_FALSE(ret);
380     }
381     {
382         DeviceIdentify idt {.length = 1, .identity = {'a'}};
383         auto ret = MessengerGetNetworkIdByDeviceIdentify(&idt, nullptr, 0);
384         EXPECT_FALSE(ret);
385     }
386     {
387         DeviceIdentify idt {.length = 1, .identity = {'a'}};
388         char id[UINT8_MAX] = {0};
389         auto ret = MessengerGetNetworkIdByDeviceIdentify(&idt, id, 0);
390         EXPECT_FALSE(ret);
391     }
392     {
393         DeviceIdentify idt {.length = 1, .identity = {'a'}};
394         char id[UINT8_MAX] = {0};
395         auto ret = MessengerGetNetworkIdByDeviceIdentify(&idt, id, UINT8_MAX);
396         EXPECT_FALSE(ret);
397     }
398 }
399 
400 HWTEST_F(DslmMsgLibTest, MessengerForEachDeviceProcessTest, TestSize.Level0)
401 {
402     {
403         MessengerForEachDeviceProcess(nullptr, nullptr);
404     }
405     {
__anon31937ccf0402(const DeviceIdentify *, int32_t, void *) 406         MessengerForEachDeviceProcess([](const DeviceIdentify *, int32_t, void *) { return 0; }, nullptr);
407     }
408     {
409         auto &mock = DistributedHardware::DeviceManagerMock::Instance();
410         EXPECT_CALL(mock, GetTrustedDeviceList).WillOnce(Return(1));
__anon31937ccf0502(const DeviceIdentify *, int32_t, void *) 411         MessengerForEachDeviceProcess([](const DeviceIdentify *, int32_t, void *) { return 0; }, nullptr);
412     }
413 }
414 
415 HWTEST_F(DslmMsgLibTest, UtTimerProcessWaitingTimeOutTest, TestSize.Level0)
416 {
417     LOG_SetCallback(LogCallback);
418     {
419         UtTimerProcessWaitingTimeOut(nullptr);
420     }
421     {
422         char id[UINT8_MAX] = {0};
423         UtTimerProcessWaitingTimeOut(id);
424         EXPECT_TRUE(g_errLog.find("SocketClosed") != std::string::npos);
425     }
426 }
427 
428 HWTEST_F(DslmMsgLibTest, UtCreateServerTest, TestSize.Level0)
429 {
430     EXPECT_FALSE(UtCreateServer(nullptr));
431 }
432 
433 HWTEST_F(DslmMsgLibTest, UtBindSync, TestSize.Level0)
434 {
435     {
436         EXPECT_FALSE(UtBindSync(0, nullptr));
437     }
438     {
439         DeviceIdentify idt {};
440         EXPECT_TRUE(UtBindSync(1, &idt));
441     }
442     {
443         DeviceIdentify idt {};
444         EXPECT_TRUE(UtBindSync(1, &idt));
445     }
446     {
447         NiceMock<DslmMsgInterfaceMock> msgMock;
__anon31937ccf0602(int32_t, const QosTV[], uint32_t, const ISocketListener *) 448         ON_CALL(msgMock, Bind).WillByDefault([](int32_t, const QosTV[], uint32_t, const ISocketListener *) {
449             return UINT16_MAX;
450         });
451         DeviceIdentify idt {};
452         EXPECT_FALSE(UtBindSync(1, &idt));
453     }
454 }
455 
456 HWTEST_F(DslmMsgLibTest, UtGetClientNameTest, TestSize.Level0)
457 {
458     {
459         EXPECT_NE(0, UtGetClientName(nullptr, nullptr, 0, false));
460     }
461     {
462         char name[UINT8_MAX] = {0};
463         EXPECT_NE(0, UtGetClientName(name, nullptr, 0, false));
464     }
465     {
466         char name[UINT8_MAX] = {0};
467         char to[UINT8_MAX] = {0};
468         EXPECT_EQ(0, UtGetClientName(name, to, 0, false));
469     }
470     {
471         char name[UINT8_MAX] = {0};
472         char to[UINT8_MAX] = {0};
473         EXPECT_EQ(0, UtGetClientName(name, to, 0, true));
474     }
475 }
476 
477 HWTEST_F(DslmMsgLibTest, UtGetSocketBySocketListTest, TestSize.Level0)
478 {
479     DeviceIdentify idt {};
480     UtPushMsgDataToPendingList(0, nullptr, nullptr, 0);
481     UtPushMsgDataToPendingList(0, &idt, nullptr, 0);
482 
483     EXPECT_FALSE(UtGetSocketBySocketList(nullptr, false, nullptr));
484 
485     EXPECT_FALSE(UtGetSocketBySocketList(&idt, false, nullptr));
486 
487     EXPECT_EQ(nullptr, UtCreateSocketNodeInfo(0, nullptr));
488 }
489 
490 HWTEST_F(DslmMsgLibTest, MessengerGetDeviceIdentifyByNetworkId, TestSize.Level0)
491 {
492     {
493         EXPECT_FALSE(MessengerGetDeviceIdentifyByNetworkId(nullptr, nullptr));
494     }
495     {
496         EXPECT_FALSE(MessengerGetDeviceIdentifyByNetworkId("a", nullptr));
497     }
498     {
499         DeviceIdentify idt {};
500         EXPECT_TRUE(MessengerGetDeviceIdentifyByNetworkId("a", &idt));
501     }
502 }
503 
504 HWTEST_F(DslmMsgLibTest, MessengerGetNetworkIdByDeviceIdentify, TestSize.Level0)
505 {
506     {
507         EXPECT_FALSE(MessengerGetNetworkIdByDeviceIdentify(nullptr, nullptr, 0));
508     }
509     {
510         DeviceIdentify idt {};
511         EXPECT_FALSE(MessengerGetNetworkIdByDeviceIdentify(&idt, nullptr, 0));
512     }
513 }
514 
515 HWTEST_F(DslmMsgLibTest, MessengerGetSelfDeviceIdentify, TestSize.Level0)
516 {
517     {
518         EXPECT_FALSE(MessengerGetSelfDeviceIdentify(nullptr, nullptr));
519     }
520     {
521         DeviceIdentify idt {};
522         EXPECT_FALSE(MessengerGetSelfDeviceIdentify(&idt, nullptr));
523     }
524     {
525         DeviceIdentify idt {};
526         int32_t level = 0;
527         EXPECT_TRUE(MessengerGetSelfDeviceIdentify(&idt, &level));
528     }
529     {
530         auto &mock = DistributedHardware::DeviceManagerMock::Instance();
531         EXPECT_CALL(mock, GetLocalDeviceInfo).WillOnce(Return(1));
532 
533         DeviceIdentify idt {};
534         int32_t level = 0;
535         EXPECT_FALSE(MessengerGetSelfDeviceIdentify(&idt, &level));
536     }
537 }
538 
539 HWTEST_F(DslmMsgLibTest, MessengerGetDeviceOnlineStatus, TestSize.Level0)
540 {
541     {
542         EXPECT_FALSE(MessengerGetDeviceOnlineStatus(nullptr, nullptr));
543     }
544     {
545         DeviceIdentify idt {.identity = {'a'}, .length = 1};
546         EXPECT_FALSE(MessengerGetDeviceOnlineStatus(&idt, nullptr));
547     }
548     {
549         DeviceIdentify idt {.identity = {'a'}, .length = 1};
550         int32_t level = 0;
551         EXPECT_FALSE(MessengerGetDeviceOnlineStatus(&idt, &level));
552     }
553 }
554 
555 HWTEST_F(DslmMsgLibTest, InitDeviceStatusManager, TestSize.Level0)
556 {
557     {
558         EXPECT_FALSE(InitDeviceStatusManager(nullptr, nullptr, nullptr));
559     }
560 
561     {
562         EXPECT_FALSE(InitDeviceStatusManager(queue, nullptr, nullptr));
563     }
564 
565     {
566         EXPECT_FALSE(InitDeviceStatusManager(queue, "??", nullptr));
567     }
568 
569     {
__anon31937ccf0702(const DeviceIdentify *devId, uint32_t status, int32_t level) 570         auto recv = [](const DeviceIdentify *devId, uint32_t status, int32_t level) -> int32_t { return 0; };
571         EXPECT_TRUE(InitDeviceStatusManager(queue, "??", recv));
572         EXPECT_TRUE(DeInitDeviceStatusManager());
573     }
574     {
575         auto &mock = DistributedHardware::DeviceManagerMock::Instance();
576         EXPECT_CALL(mock, InitDeviceManager).WillOnce(Return(1)).WillOnce(Return(0));
__anon31937ccf0802(const DeviceIdentify *devId, uint32_t status, int32_t level) 577         auto recv = [](const DeviceIdentify *devId, uint32_t status, int32_t level) -> int32_t { return 0; };
578         EXPECT_TRUE(InitDeviceStatusManager(queue, "??", recv));
579     }
580 }
581 } // namespace DslmUnitTest
582 } // namespace Security
583 } // namespace OHOS