• 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,
__anon989d4cf10102() 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 = "",
__anon989d4cf10202() 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,
__anon989d4cf10302() 299             .messageReceiver = [](const DeviceIdentify *, const uint8_t *, uint32_t) { return 0; },
300         };
301         auto ret = InitDeviceSocketManager(queue, &config);
302         EXPECT_TRUE(ret);
303 
304         uint8_t msg[UINT8_MAX] = {0};
305         {
306             DeviceIdentify idt {.identity = {'a'}, .length = 1};
307             MessengerSendMsgTo(0, &idt, msg, UINT8_MAX);
308         }
309         {
310             DeviceIdentify idt {.identity = {'x'}, .length = 1};
311             MessengerSendMsgTo(0, &idt, msg, UINT8_MAX);
312         }
313         EXPECT_TRUE(DeInitDeviceSocketManager());
314     }
315 }
316 
317 HWTEST_F(DslmMsgLibTest, CreateQueueMsgDataTest, TestSize.Level0)
318 {
319     {
320         auto *data = CreateQueueMsgData(nullptr, nullptr, 0, nullptr);
321         EXPECT_EQ(data, nullptr);
322     }
323     {
324         DeviceIdentify idt {};
325         auto *data = CreateQueueMsgData(&idt, nullptr, 0, nullptr);
326         EXPECT_EQ(data, nullptr);
327     }
328     {
329         DeviceIdentify idt {};
330         uint8_t msg[UINT8_MAX] = {0};
331         auto *data = CreateQueueMsgData(&idt, msg, 0, nullptr);
332         EXPECT_EQ(data, nullptr);
333     }
334     {
335         DeviceIdentify idt {};
336         uint8_t msg[UINT8_MAX] = {0};
337         auto *data = CreateQueueMsgData(&idt, msg, UINT8_MAX, nullptr);
338         EXPECT_EQ(data, nullptr);
339     }
340     {
341         DeviceIdentify idt {};
342         uint8_t msg[UINT8_MAX] = {0};
343         uint32_t queueDataLen = 0;
344         auto *data = CreateQueueMsgData(&idt, msg, UINT8_MAX, &queueDataLen);
345         ASSERT_NE(data, nullptr);
346         EXPECT_EQ(data->msgLen, UINT8_MAX);
347         EXPECT_EQ(queueDataLen, UINT8_MAX + sizeof(QueueMsgData));
348     }
349 }
350 
351 HWTEST_F(DslmMsgLibTest, SocketShutDownTest, TestSize.Level0)
352 {
353     MessengerConfig config = {.pkgName = "pkg", .primarySockName = "pr", .secondarySockName = "", .threadCnt = 1};
354     auto ret = InitDeviceSocketManager(queue, &config);
355     EXPECT_TRUE(ret);
356 
357     DeviceIdentify idt {.length = 1, .identity = {'a'}};
358 
359     char dummy[] = {'a', 0};
360     PeerSocketInfo peer = {.name = dummy, .networkId = dummy};
361     UtServerOnBind(1, peer);
362     UtClientOnBind(1, &idt);
363 
364     UtCreateOrRestartSocketCloseTimerWithLock(0);
365     UtCreateOrRestartSocketCloseTimerWithLock(1);
366 
367     UtServerOnShutdown(3, SHUTDOWN_REASON_UNKNOWN);
368     UtClientOnShutdown(4, SHUTDOWN_REASON_UNKNOWN);
369     UtServerOnShutdown(0, SHUTDOWN_REASON_UNKNOWN);
370     UtClientOnShutdown(0, SHUTDOWN_REASON_UNKNOWN);
371     UtServerOnShutdown(1, SHUTDOWN_REASON_UNKNOWN);
372     UtClientOnShutdown(1, SHUTDOWN_REASON_UNKNOWN);
373     EXPECT_TRUE(DeInitDeviceSocketManager());
374 }
375 
376 HWTEST_F(DslmMsgLibTest, MessengerGetNetworkIdByDeviceIdentifyTest, TestSize.Level0)
377 {
378     {
379         auto ret = MessengerGetNetworkIdByDeviceIdentify(nullptr, nullptr, 0);
380         EXPECT_FALSE(ret);
381     }
382     {
383         DeviceIdentify idt {.length = 1, .identity = {'a'}};
384         auto ret = MessengerGetNetworkIdByDeviceIdentify(&idt, nullptr, 0);
385         EXPECT_FALSE(ret);
386     }
387     {
388         DeviceIdentify idt {.length = 1, .identity = {'a'}};
389         char id[UINT8_MAX] = {0};
390         auto ret = MessengerGetNetworkIdByDeviceIdentify(&idt, id, 0);
391         EXPECT_FALSE(ret);
392     }
393     {
394         DeviceIdentify idt {.length = 1, .identity = {'a'}};
395         char id[UINT8_MAX] = {0};
396         auto ret = MessengerGetNetworkIdByDeviceIdentify(&idt, id, UINT8_MAX);
397         EXPECT_FALSE(ret);
398     }
399 }
400 
401 HWTEST_F(DslmMsgLibTest, MessengerForEachDeviceProcessTest, TestSize.Level0)
402 {
403     {
404         MessengerForEachDeviceProcess(nullptr, nullptr);
405     }
406     {
__anon989d4cf10402(const DeviceIdentify *, int32_t, void *) 407         MessengerForEachDeviceProcess([](const DeviceIdentify *, int32_t, void *) { return 0; }, nullptr);
408     }
409     {
410         auto &mock = DistributedHardware::DeviceManagerMock::Instance();
411         EXPECT_CALL(mock, GetTrustedDeviceList).WillOnce(Return(1));
__anon989d4cf10502(const DeviceIdentify *, int32_t, void *) 412         MessengerForEachDeviceProcess([](const DeviceIdentify *, int32_t, void *) { return 0; }, nullptr);
413     }
414 }
415 
416 HWTEST_F(DslmMsgLibTest, UtTimerProcessWaitingTimeOutTest, TestSize.Level0)
417 {
418     LOG_SetCallback(LogCallback);
419     {
420         UtTimerProcessWaitingTimeOut(nullptr);
421     }
422     {
423         char id[UINT8_MAX] = {0};
424         UtTimerProcessWaitingTimeOut(id);
425         EXPECT_TRUE(g_errLog.find("SocketClosed") != std::string::npos);
426     }
427 }
428 
429 HWTEST_F(DslmMsgLibTest, UtCreateServerTest, TestSize.Level0)
430 {
431     EXPECT_FALSE(UtCreateServer(nullptr));
432 }
433 
434 HWTEST_F(DslmMsgLibTest, UtBindSync, TestSize.Level0)
435 {
436     {
437         EXPECT_FALSE(UtBindSync(0, nullptr));
438     }
439     {
440         DeviceIdentify idt {};
441         EXPECT_TRUE(UtBindSync(1, &idt));
442     }
443     {
444         DeviceIdentify idt {};
445         EXPECT_TRUE(UtBindSync(1, &idt));
446     }
447     {
448         NiceMock<DslmMsgInterfaceMock> msgMock;
__anon989d4cf10602(int32_t, const QosTV[], uint32_t, const ISocketListener *) 449         ON_CALL(msgMock, Bind).WillByDefault([](int32_t, const QosTV[], uint32_t, const ISocketListener *) {
450             return UINT16_MAX;
451         });
452         DeviceIdentify idt {};
453         EXPECT_FALSE(UtBindSync(1, &idt));
454     }
455 }
456 
457 HWTEST_F(DslmMsgLibTest, UtGetClientNameTest, TestSize.Level0)
458 {
459     {
460         EXPECT_NE(0, UtGetClientName(nullptr, nullptr, 0, false));
461     }
462     {
463         char name[UINT8_MAX] = {0};
464         EXPECT_NE(0, UtGetClientName(name, nullptr, 0, false));
465     }
466     {
467         char name[UINT8_MAX] = {0};
468         char to[UINT8_MAX] = {0};
469         EXPECT_EQ(0, UtGetClientName(name, to, 0, false));
470     }
471     {
472         char name[UINT8_MAX] = {0};
473         char to[UINT8_MAX] = {0};
474         EXPECT_EQ(0, UtGetClientName(name, to, 0, true));
475     }
476 }
477 
478 HWTEST_F(DslmMsgLibTest, UtGetSocketBySocketListTest, TestSize.Level0)
479 {
480     DeviceIdentify idt {};
481     UtPushMsgDataToPendingList(0, nullptr, nullptr, 0);
482     UtPushMsgDataToPendingList(0, &idt, nullptr, 0);
483 
484     EXPECT_FALSE(UtGetSocketBySocketList(nullptr, false, nullptr));
485 
486     EXPECT_FALSE(UtGetSocketBySocketList(&idt, false, nullptr));
487 
488     EXPECT_EQ(nullptr, UtCreateSocketNodeInfo(0, nullptr));
489 }
490 
491 HWTEST_F(DslmMsgLibTest, MessengerGetDeviceIdentifyByNetworkId, TestSize.Level0)
492 {
493     {
494         EXPECT_FALSE(MessengerGetDeviceIdentifyByNetworkId(nullptr, nullptr));
495     }
496     {
497         EXPECT_FALSE(MessengerGetDeviceIdentifyByNetworkId("a", nullptr));
498     }
499     {
500         DeviceIdentify idt {};
501         EXPECT_TRUE(MessengerGetDeviceIdentifyByNetworkId("a", &idt));
502     }
503 }
504 
505 HWTEST_F(DslmMsgLibTest, MessengerGetNetworkIdByDeviceIdentify, TestSize.Level0)
506 {
507     {
508         EXPECT_FALSE(MessengerGetNetworkIdByDeviceIdentify(nullptr, nullptr, 0));
509     }
510     {
511         DeviceIdentify idt {};
512         EXPECT_FALSE(MessengerGetNetworkIdByDeviceIdentify(&idt, nullptr, 0));
513     }
514 }
515 
516 HWTEST_F(DslmMsgLibTest, MessengerGetSelfDeviceIdentify, TestSize.Level0)
517 {
518     {
519         EXPECT_FALSE(MessengerGetSelfDeviceIdentify(nullptr, nullptr));
520     }
521     {
522         DeviceIdentify idt {};
523         EXPECT_FALSE(MessengerGetSelfDeviceIdentify(&idt, nullptr));
524     }
525     {
526         DeviceIdentify idt {};
527         int32_t level = 0;
528         EXPECT_TRUE(MessengerGetSelfDeviceIdentify(&idt, &level));
529     }
530     {
531         auto &mock = DistributedHardware::DeviceManagerMock::Instance();
532         EXPECT_CALL(mock, GetLocalDeviceInfo).WillOnce(Return(1));
533 
534         DeviceIdentify idt {};
535         int32_t level = 0;
536         EXPECT_FALSE(MessengerGetSelfDeviceIdentify(&idt, &level));
537     }
538 }
539 
540 HWTEST_F(DslmMsgLibTest, MessengerGetDeviceOnlineStatus, TestSize.Level0)
541 {
542     {
543         EXPECT_FALSE(MessengerGetDeviceOnlineStatus(nullptr, nullptr));
544     }
545     {
546         DeviceIdentify idt {.identity = {'a'}, .length = 1};
547         EXPECT_FALSE(MessengerGetDeviceOnlineStatus(&idt, nullptr));
548     }
549     {
550         DeviceIdentify idt {.identity = {'a'}, .length = 1};
551         int32_t level = 0;
552         EXPECT_FALSE(MessengerGetDeviceOnlineStatus(&idt, &level));
553     }
554 }
555 
556 HWTEST_F(DslmMsgLibTest, InitDeviceStatusManager, TestSize.Level0)
557 {
558     {
559         EXPECT_FALSE(InitDeviceStatusManager(nullptr, nullptr, nullptr));
560     }
561 
562     {
563         EXPECT_FALSE(InitDeviceStatusManager(queue, nullptr, nullptr));
564     }
565 
566     {
567         EXPECT_FALSE(InitDeviceStatusManager(queue, "??", nullptr));
568     }
569 
570     {
__anon989d4cf10702(const DeviceIdentify *devId, uint32_t status, int32_t level) 571         auto recv = [](const DeviceIdentify *devId, uint32_t status, int32_t level) -> int32_t { return 0; };
572         EXPECT_TRUE(InitDeviceStatusManager(queue, "??", recv));
573         EXPECT_TRUE(DeInitDeviceStatusManager());
574     }
575     {
576         auto &mock = DistributedHardware::DeviceManagerMock::Instance();
577         EXPECT_CALL(mock, InitDeviceManager).WillOnce(Return(1)).WillOnce(Return(0));
__anon989d4cf10802(const DeviceIdentify *devId, uint32_t status, int32_t level) 578         auto recv = [](const DeviceIdentify *devId, uint32_t status, int32_t level) -> int32_t { return 0; };
579         EXPECT_TRUE(InitDeviceStatusManager(queue, "??", recv));
580     }
581 }
582 } // namespace DslmUnitTest
583 } // namespace Security
584 } // namespace OHOS