• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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 <gtest/gtest.h>
17 #include <securec.h>
18 #include <cstddef>
19 #include <cstdlib>
20 #include <cstring>
21 
22 #include "lnn_data_cloud_sync_deps_mock.h"
23 #include "lnn_kv_adapter_wrapper_mock.h"
24 #include "lnn_net_ledger_mock.h"
25 #include "lnn_data_cloud_sync.h"
26 #include "lnn_data_cloud_sync.c"
27 
28 constexpr char MACTEST[BT_MAC_LEN] = "00:11:22:33:44";
29 constexpr char PEERUUID[UUID_BUF_LEN] = "021315ASD";
30 constexpr char NETWORKID[NETWORK_ID_BUF_LEN] = "123456ABD";
31 constexpr char PEERUDID[UDID_BUF_LEN] = "021315ASD";
32 constexpr char SOFTBUSVERSION[DEVICE_VERSION_SIZE_MAX] = "softBusVersion";
33 constexpr char TMPMSG[] = "{\"type\":1}";
34 constexpr int32_t TMP_LEN = 10;
35 constexpr int32_t STATE_VERSION = 2;
36 constexpr uint64_t TIMES_STAP0 = 0;
37 constexpr uint64_t TIMES_STAP1 = 1;
38 constexpr uint64_t TIMES_STAP2 = 2;
39 
40 namespace OHOS {
41 using namespace testing;
42 using namespace testing::ext;
43 class LNNDataCloudSyncMockTest : public testing::Test {
44 public:
45     static void SetUpTestCase();
46     static void TearDownTestCase();
47     void SetUp();
48     void TearDown();
49 };
50 
SetUpTestCase()51 void LNNDataCloudSyncMockTest::SetUpTestCase() {}
52 
TearDownTestCase()53 void LNNDataCloudSyncMockTest::TearDownTestCase() {}
54 
SetUp()55 void LNNDataCloudSyncMockTest::SetUp() {}
56 
TearDown()57 void LNNDataCloudSyncMockTest::TearDown() {}
58 
59 /*
60  * @tc.name: DBCipherInfoSyncToCache_Test_001
61  * @tc.desc: DBCipherInfoSyncToCache
62  * @tc.type: FUNC
63  * @tc.require:
64  */
65 HWTEST_F(LNNDataCloudSyncMockTest, DBCipherInfoSyncToCache_Test_001, TestSize.Level1)
66 {
67     NiceMock<LnnDataCloudSyncInterfaceMock> DataCloudSyncMock;
68     EXPECT_CALL(DataCloudSyncMock, LnnSetRemoteBroadcastCipherInfo).WillRepeatedly(Return(SOFTBUS_OK));
69     EXPECT_CALL(DataCloudSyncMock, ConvertHexStringToBytes).WillOnce(Return(SOFTBUS_ERR))
70         .WillRepeatedly(Return(SOFTBUS_OK));
71     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
72     NodeInfo cacheInfo;
73     (void)memset_s(&cacheInfo, sizeof(NodeInfo), 0, sizeof(NodeInfo));
74     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_BROADCAST_CIPHER_KEY));
75     const char *value = "valueTest";
76     size_t valueLength = strlen(value);
77     const char *udid = "udidTest";
78     EXPECT_EQ(DBCipherInfoSyncToCache(&cacheInfo, fieldName, value, valueLength, udid),
79         SOFTBUS_KV_CONVERT_BYTES_FAILED);
80     EXPECT_EQ(DBCipherInfoSyncToCache(&cacheInfo, fieldName, value, valueLength, udid), SOFTBUS_OK);
81     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_BROADCAST_CIPHER_IV));
82     EXPECT_CALL(DataCloudSyncMock, ConvertHexStringToBytes).WillOnce(Return(SOFTBUS_ERR))
83         .WillRepeatedly(Return(SOFTBUS_OK));
84     EXPECT_EQ(DBCipherInfoSyncToCache(&cacheInfo, fieldName, value, valueLength, udid),
85         SOFTBUS_KV_CONVERT_BYTES_FAILED);
86     EXPECT_EQ(DBCipherInfoSyncToCache(&cacheInfo, fieldName, value, valueLength, udid), SOFTBUS_OK);
87     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_JSON_BROADCAST_KEY_TABLE));
88     EXPECT_EQ(DBCipherInfoSyncToCache(&cacheInfo, fieldName, value, valueLength, udid), SOFTBUS_OK);
89     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DISTRIBUTED_SWITCH));
90     EXPECT_EQ(DBCipherInfoSyncToCache(&cacheInfo, fieldName, value, valueLength, udid), SOFTBUS_OK);
91     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, value));
92     EXPECT_EQ(DBCipherInfoSyncToCache(&cacheInfo, fieldName, value, valueLength, udid), SOFTBUS_INVALID_PARAM);
93 }
94 
95 /*
96  * @tc.name: LNNDataCloudSyncMockTest_Test_001
97  * @tc.desc: DBDeviceNameInfoSyncToCache
98  * @tc.type: FUNC
99  * @tc.require:
100  */
101 HWTEST_F(LNNDataCloudSyncMockTest, LNNDataCloudSyncMockTest_Test_001, TestSize.Level1)
102 {
103     NodeInfo cacheInfo;
104     (void)memset_s(&cacheInfo, sizeof(NodeInfo), 0, sizeof(NodeInfo));
105     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
106     const char *value = "valueTest";
107     size_t valueLength = strlen(value);
108     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_NAME));
109     EXPECT_EQ(DBDeviceNameInfoSyncToCache(&cacheInfo, fieldName, value, valueLength), SOFTBUS_OK);
110     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_UNIFIED_DEVICE_NAME));
111     EXPECT_EQ(DBDeviceNameInfoSyncToCache(&cacheInfo, fieldName, value, valueLength), SOFTBUS_OK);
112     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_UNIFIED_DEFAULT_DEVICE_NAME));
113     EXPECT_EQ(DBDeviceNameInfoSyncToCache(&cacheInfo, fieldName, value, valueLength), SOFTBUS_OK);
114     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_SETTINGS_NICK_NAME));
115     EXPECT_EQ(DBDeviceNameInfoSyncToCache(&cacheInfo, fieldName, value, valueLength), SOFTBUS_OK);
116     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, value));
117     EXPECT_EQ(DBDeviceNameInfoSyncToCache(&cacheInfo, fieldName, value, valueLength), SOFTBUS_INVALID_PARAM);
118 }
119 
120 /*
121  * @tc.name: DBConnectMacInfoSyncToCache_Test_001
122  * @tc.desc: DBConnectMacInfoSyncToCache
123  * @tc.type: FUNC
124  * @tc.require:
125  */
126 HWTEST_F(LNNDataCloudSyncMockTest, DBConnectMacInfoSyncToCache_Test_001, TestSize.Level1)
127 {
128     NiceMock<LnnDataCloudSyncInterfaceMock> DataCloudSyncMock;
129     EXPECT_CALL(DataCloudSyncMock, ConvertHexStringToBytes).WillOnce(Return(SOFTBUS_ERR))
130         .WillRepeatedly(Return(SOFTBUS_OK));
131     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
132     NodeInfo cacheInfo;
133     (void)memset_s(&cacheInfo, sizeof(NodeInfo), 0, sizeof(NodeInfo));
134     const char *value = "valueTest";
135     size_t valueLength = strlen(value);
136     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_BT_MAC));
137     EXPECT_EQ(DBConnectMacInfoSyncToCache(&cacheInfo, fieldName, value, valueLength), SOFTBUS_OK);
138     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_P2P_MAC_ADDR));
139     EXPECT_EQ(DBConnectMacInfoSyncToCache(&cacheInfo, fieldName, value, valueLength), SOFTBUS_OK);
140     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_IRK));
141     EXPECT_EQ(DBConnectMacInfoSyncToCache(&cacheInfo, fieldName, value, valueLength),
142         SOFTBUS_KV_CONVERT_BYTES_FAILED);
143     EXPECT_EQ(DBConnectMacInfoSyncToCache(&cacheInfo, fieldName, value, valueLength), SOFTBUS_OK);
144     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_PUB_MAC));
145     EXPECT_CALL(DataCloudSyncMock, ConvertHexStringToBytes).WillOnce(Return(SOFTBUS_ERR))
146         .WillRepeatedly(Return(SOFTBUS_OK));
147     EXPECT_EQ(DBConnectMacInfoSyncToCache(&cacheInfo, fieldName, value, valueLength),
148         SOFTBUS_KV_CONVERT_BYTES_FAILED);
149     EXPECT_EQ(DBConnectMacInfoSyncToCache(&cacheInfo, fieldName, value, valueLength), SOFTBUS_OK);
150     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, value));
151     EXPECT_EQ(DBDeviceNameInfoSyncToCache(&cacheInfo, fieldName, value, valueLength), SOFTBUS_INVALID_PARAM);
152 }
153 
154 /*
155  * @tc.name: JudgeFieldNameIsDeviceBasicInfo_Test_001
156  * @tc.desc: JudgeFieldNameIsDeviceBasicInfo
157  * @tc.type: FUNC
158  * @tc.require:
159  */
160 HWTEST_F(LNNDataCloudSyncMockTest, JudgeFieldNameIsDeviceBasicInfo_Test_001, TestSize.Level1)
161 {
162     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
163     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_NAME));
164     EXPECT_EQ(JudgeFieldNameIsDeviceBasicInfo(nullptr), false);
165     EXPECT_EQ(JudgeFieldNameIsDeviceBasicInfo(fieldName), true);
166     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_UNIFIED_DEVICE_NAME));
167     EXPECT_EQ(JudgeFieldNameIsDeviceBasicInfo(fieldName), true);
168     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_UNIFIED_DEFAULT_DEVICE_NAME));
169     EXPECT_EQ(JudgeFieldNameIsDeviceBasicInfo(fieldName), true);
170     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_SETTINGS_NICK_NAME));
171     EXPECT_EQ(JudgeFieldNameIsDeviceBasicInfo(fieldName), true);
172     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_UDID));
173     EXPECT_EQ(JudgeFieldNameIsDeviceBasicInfo(fieldName), true);
174     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_TYPE));
175     EXPECT_EQ(JudgeFieldNameIsDeviceBasicInfo(fieldName), true);
176     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_OS_TYPE));
177     EXPECT_EQ(JudgeFieldNameIsDeviceBasicInfo(fieldName), true);
178     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_OS_VERSION));
179     EXPECT_EQ(JudgeFieldNameIsDeviceBasicInfo(fieldName), true);
180     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_UUID));
181     EXPECT_EQ(JudgeFieldNameIsDeviceBasicInfo(fieldName), true);
182     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_PUB_MAC));
183     EXPECT_EQ(JudgeFieldNameIsDeviceBasicInfo(fieldName), false);
184 }
185 
186 /*
187  * @tc.name: JudgeFieldNameIsNumInfo_Test_001
188  * @tc.desc: JudgeFieldNameIsNumInfo
189  * @tc.type: FUNC
190  * @tc.require:
191  */
192 HWTEST_F(LNNDataCloudSyncMockTest, JudgeFieldNameIsNumInfo_Test_001, TestSize.Level1)
193 {
194     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
195     EXPECT_EQ(JudgeFieldNameIsNumInfo(nullptr), false);
196     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_STATE_VERSION));
197     EXPECT_EQ(JudgeFieldNameIsNumInfo(fieldName), true);
198     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_TRANSPORT_PROTOCOL));
199     EXPECT_EQ(JudgeFieldNameIsNumInfo(fieldName), true);
200     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_WIFI_VERSION));
201     EXPECT_EQ(JudgeFieldNameIsNumInfo(fieldName), true);
202     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_BLE_VERSION));
203     EXPECT_EQ(JudgeFieldNameIsNumInfo(fieldName), true);
204     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_ACCOUNT_ID));
205     EXPECT_EQ(JudgeFieldNameIsNumInfo(fieldName), true);
206     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_FEATURE));
207     EXPECT_EQ(JudgeFieldNameIsNumInfo(fieldName), true);
208     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_CONN_SUB_FEATURE));
209     EXPECT_EQ(JudgeFieldNameIsNumInfo(fieldName), true);
210     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_AUTH_CAP));
211     EXPECT_EQ(JudgeFieldNameIsNumInfo(fieldName), true);
212     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_PUB_MAC));
213     EXPECT_EQ(JudgeFieldNameIsNumInfo(fieldName), false);
214 }
215 
216 /*
217  * @tc.name: JudgeFieldNameIsConnectInfo_Test_001
218  * @tc.desc: JudgeFieldNameIsConnectInfo
219  * @tc.type: FUNC
220  * @tc.require:
221  */
222 HWTEST_F(LNNDataCloudSyncMockTest, JudgeFieldNameIsConnectInfo_Test_001, TestSize.Level1)
223 {
224     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
225     EXPECT_EQ(JudgeFieldNameIsConnectInfo(nullptr), false);
226     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_NETWORK_ID));
227     EXPECT_EQ(JudgeFieldNameIsConnectInfo(fieldName), true);
228     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_PKG_VERSION));
229     EXPECT_EQ(JudgeFieldNameIsConnectInfo(fieldName), true);
230     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_BT_MAC));
231     EXPECT_EQ(JudgeFieldNameIsConnectInfo(fieldName), true);
232     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_P2P_MAC_ADDR));
233     EXPECT_EQ(JudgeFieldNameIsConnectInfo(fieldName), true);
234     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_IRK));
235     EXPECT_EQ(JudgeFieldNameIsConnectInfo(fieldName), true);
236     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_PUB_MAC));
237     EXPECT_EQ(JudgeFieldNameIsConnectInfo(fieldName), true);
238     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_PTK));
239     EXPECT_EQ(JudgeFieldNameIsConnectInfo(fieldName), true);
240     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_SW_VERSION));
241     EXPECT_EQ(JudgeFieldNameIsConnectInfo(fieldName), true);
242     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_PUB_MAC));
243     EXPECT_EQ(JudgeFieldNameIsConnectInfo(fieldName), true);
244 }
245 
246 /*
247  * @tc.name: JudgeFieldNameIsCipherInfo_Test_001
248  * @tc.desc: JudgeFieldNameIsCipherInfo
249  * @tc.type: FUNC
250  * @tc.require:
251  */
252 HWTEST_F(LNNDataCloudSyncMockTest, JudgeFieldNameIsCipherInfo_Test_001, TestSize.Level1)
253 {
254     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
255     EXPECT_EQ(JudgeFieldNameIsCipherInfo(nullptr), false);
256     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_BROADCAST_CIPHER_KEY));
257     EXPECT_EQ(JudgeFieldNameIsCipherInfo(fieldName), true);
258     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_BROADCAST_CIPHER_IV));
259     EXPECT_EQ(JudgeFieldNameIsCipherInfo(fieldName), true);
260     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_JSON_BROADCAST_KEY_TABLE));
261     EXPECT_EQ(JudgeFieldNameIsCipherInfo(fieldName), true);
262     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_JSON_KEY_TOTAL_LIFE));
263     EXPECT_EQ(JudgeFieldNameIsCipherInfo(fieldName), true);
264     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_JSON_KEY_TIMESTAMP_BEGIN));
265     EXPECT_EQ(JudgeFieldNameIsCipherInfo(fieldName), true);
266     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_JSON_KEY_CURRENT_INDEX));
267     EXPECT_EQ(JudgeFieldNameIsCipherInfo(fieldName), true);
268     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DISTRIBUTED_SWITCH));
269     EXPECT_EQ(JudgeFieldNameIsCipherInfo(fieldName), true);
270     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_PUB_MAC));
271     EXPECT_EQ(JudgeFieldNameIsCipherInfo(fieldName), false);
272 }
273 
274 /*
275  * @tc.name: DBDataChangeBatchSyncToCacheInternal_Test_001
276  * @tc.desc: DBDataChangeBatchSyncToCacheInternal
277  * @tc.type: FUNC
278  * @tc.require:
279  */
280 HWTEST_F(LNNDataCloudSyncMockTest, DBDataChangeBatchSyncToCacheInternal_Test_001, TestSize.Level1)
281 {
282     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
283     NodeInfo cacheInfo;
284     (void)memset_s(&cacheInfo, sizeof(NodeInfo), 0, sizeof(NodeInfo));
285     const char *value = "valueTest";
286     size_t valueLength = strlen(value);
287     const char *udid = "udidTest";
288     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_UDID));
289     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(&cacheInfo, fieldName, value, valueLength, udid), SOFTBUS_OK);
290     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_STATE_VERSION));
291     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(&cacheInfo, fieldName, value, valueLength, udid), SOFTBUS_OK);
292     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_PKG_VERSION));
293     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(&cacheInfo, fieldName, value, valueLength, udid), SOFTBUS_OK);
294     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DISTRIBUTED_SWITCH));
295     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(&cacheInfo, fieldName, value, valueLength, udid), SOFTBUS_OK);
296     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_BLE_P2P));
297     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(&cacheInfo, fieldName, value, valueLength, udid), SOFTBUS_OK);
298     const char *value1 = "true";
299     char deviceUdid[UDID_BUF_LEN] = { 0 };
300     UpdateInfoToLedger(&cacheInfo, deviceUdid, fieldName, const_cast<char *>(value1));
301     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(&cacheInfo, fieldName, value1, valueLength, udid), SOFTBUS_OK);
302     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, value));
303     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(&cacheInfo, fieldName, value, valueLength, udid),
304         SOFTBUS_INVALID_PARAM);
305     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(nullptr, fieldName, value, valueLength, udid),
306         SOFTBUS_INVALID_PARAM);
307     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(&cacheInfo, nullptr, value, valueLength, udid),
308         SOFTBUS_INVALID_PARAM);
309     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(&cacheInfo, fieldName, nullptr, valueLength, udid),
310         SOFTBUS_INVALID_PARAM);
311     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(&cacheInfo, fieldName, value, valueLength, nullptr),
312         SOFTBUS_INVALID_PARAM);
313     const char *udid1 = "123456789123456789123456789123456789123456789123456789123456789123456789";
314     EXPECT_EQ(DBDataChangeBatchSyncToCacheInternal(&cacheInfo, fieldName, value, valueLength, udid1),
315         SOFTBUS_INVALID_PARAM);
316     const char *key = "key";
317     char splitKeyValue[SPLIT_KEY_NUM][SPLIT_MAX_LEN];
318     EXPECT_EQ(SplitKeyOrValue(nullptr, splitKeyValue, 0), SOFTBUS_INVALID_PARAM);
319     EXPECT_EQ(SplitKeyOrValue(key, nullptr, 0), SOFTBUS_INVALID_PARAM);
320 }
321 
322 /*
323  * @tc.name: GetInfoFromSplitKey_Test_001
324  * @tc.desc: GetInfoFromSplitKey
325  * @tc.type: FUNC
326  * @tc.require:
327  */
328 HWTEST_F(LNNDataCloudSyncMockTest, GetInfoFromSplitKey_Test_001, TestSize.Level1)
329 {
330     char splitKey[][SPLIT_MAX_LEN] = {
331         "123456",
332         "234567",
333         "345678",
334     };
335     int64_t accountId;
336     char deviceUdid[UDID_BUF_LEN] = { 0 };
337     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
338     EXPECT_EQ(GetInfoFromSplitKey(splitKey, &accountId, deviceUdid, fieldName), SOFTBUS_OK);
339     EXPECT_EQ(GetInfoFromSplitKey(nullptr, &accountId, deviceUdid, fieldName), SOFTBUS_INVALID_PARAM);
340     EXPECT_EQ(GetInfoFromSplitKey(splitKey, nullptr, deviceUdid, fieldName), SOFTBUS_INVALID_PARAM);
341     EXPECT_EQ(GetInfoFromSplitKey(splitKey, &accountId, nullptr, fieldName), SOFTBUS_INVALID_PARAM);
342     EXPECT_EQ(GetInfoFromSplitKey(splitKey, &accountId, deviceUdid, nullptr), SOFTBUS_INVALID_PARAM);
343     char splitValue[SPLIT_VALUE_NUM][SPLIT_MAX_LEN];
344     const char *key = "key";
345     const char *value = "value";
346     CloudSyncValue parseValue;
347     EXPECT_EQ(SplitString(nullptr, splitValue, key, value, &parseValue), SOFTBUS_INVALID_PARAM);
348     EXPECT_EQ(SplitString(splitKey, nullptr, key, value, &parseValue), SOFTBUS_INVALID_PARAM);
349     EXPECT_EQ(SplitString(splitKey, splitValue, nullptr, value, &parseValue), SOFTBUS_INVALID_PARAM);
350     EXPECT_EQ(SplitString(splitKey, splitValue, key, nullptr, &parseValue), SOFTBUS_INVALID_PARAM);
351     EXPECT_EQ(SplitString(splitKey, splitValue, key, value, nullptr), SOFTBUS_INVALID_PARAM);
352 }
353 
354 /*
355  * @tc.name: HandleDBAddChangeInternal_Test_001
356  * @tc.desc: HandleDBAddChangeInternal
357  * @tc.type: FUNC
358  * @tc.require:
359  */
360 HWTEST_F(LNNDataCloudSyncMockTest, HandleDBAddChangeInternal_Test_001, TestSize.Level1)
361 {
362     NodeInfo localCaheInfo = { .stateVersion = 12, };
363     EXPECT_EQ(EOK, strcpy_s(localCaheInfo.deviceInfo.deviceUdid, UDID_BUF_LEN, PEERUDID));
364     NiceMock<LnnDataCloudSyncInterfaceMock> DataCloudSyncMock;
365     EXPECT_CALL(DataCloudSyncMock, LnnGetLocalCacheNodeInfo).WillOnce(Return(SOFTBUS_ERR))
366         .WillRepeatedly(DoAll(SetArgPointee<0>(localCaheInfo), Return(SOFTBUS_OK)));
367     const char *key = "key1#key2#key3";
368     const char *value = "value1#value2#value3";
369     NodeInfo cacheInfo;
370     (void)memset_s(&cacheInfo, sizeof(NodeInfo), 0, sizeof(NodeInfo));
371     EXPECT_EQ(HandleDBAddChangeInternal(key, value, &cacheInfo), SOFTBUS_ERR);
372     EXPECT_EQ(HandleDBAddChangeInternal(key, value, &cacheInfo), SOFTBUS_ERR);
373 }
374 
375 /*
376  * @tc.name: SetDBNameDataToDLedger_Test_001
377  * @tc.desc: SetDBNameDataToDLedger
378  * @tc.type: FUNC
379  * @tc.require:
380  */
381 HWTEST_F(LNNDataCloudSyncMockTest, SetDBNameDataToDLedger_Test_001, TestSize.Level1)
382 {
383     NiceMock<LnnNetLedgertInterfaceMock> NetLedgerMock;
384     EXPECT_CALL(NetLedgerMock, LnnSetDLDeviceInfoName).WillOnce(Return(SOFTBUS_ERR))
385         .WillRepeatedly(Return(SOFTBUS_OK));
386     EXPECT_CALL(NetLedgerMock, LnnSetDLUnifiedDeviceName).WillOnce(Return(SOFTBUS_ERR))
387         .WillRepeatedly(Return(SOFTBUS_OK));
388     EXPECT_CALL(NetLedgerMock, LnnSetDLUnifiedDefaultDeviceName).WillOnce(Return(SOFTBUS_ERR))
389         .WillRepeatedly(Return(SOFTBUS_OK));
390     EXPECT_CALL(NetLedgerMock, LnnSetDLDeviceNickNameByUdid).WillOnce(Return(SOFTBUS_ERR))
391         .WillRepeatedly(Return(SOFTBUS_OK));
392     NodeInfo cacheInfo;
393     (void)memset_s(&cacheInfo, sizeof(NodeInfo), 0, sizeof(NodeInfo));
394     char deviceUdid[UDID_BUF_LEN] = { 0 };
395     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
396     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DEVICE_NAME));
397     EXPECT_EQ(SetDBNameDataToDLedger(&cacheInfo, deviceUdid, fieldName), SOFTBUS_OK);
398     EXPECT_EQ(SetDBNameDataToDLedger(&cacheInfo, deviceUdid, fieldName), SOFTBUS_ERR);
399     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_UNIFIED_DEVICE_NAME));
400     EXPECT_EQ(SetDBNameDataToDLedger(&cacheInfo, deviceUdid, fieldName), SOFTBUS_ERR);
401     EXPECT_EQ(SetDBNameDataToDLedger(&cacheInfo, deviceUdid, fieldName), SOFTBUS_OK);
402     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_UNIFIED_DEFAULT_DEVICE_NAME));
403     EXPECT_EQ(SetDBNameDataToDLedger(&cacheInfo, deviceUdid, fieldName), SOFTBUS_ERR);
404     EXPECT_EQ(SetDBNameDataToDLedger(&cacheInfo, deviceUdid, fieldName), SOFTBUS_OK);
405     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_SETTINGS_NICK_NAME));
406     EXPECT_EQ(SetDBNameDataToDLedger(&cacheInfo, deviceUdid, fieldName), SOFTBUS_ERR);
407     EXPECT_EQ(SetDBNameDataToDLedger(&cacheInfo, deviceUdid, fieldName), SOFTBUS_OK);
408     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DISTRIBUTED_SWITCH));
409     EXPECT_EQ(SetDBNameDataToDLedger(&cacheInfo, deviceUdid, fieldName), SOFTBUS_OK);
410 }
411 
412 /*
413  * @tc.name: SetDBDataToDistributedLedger_Test_001
414  * @tc.desc: SetDBDataToDistributedLedger
415  * @tc.type: FUNC
416  * @tc.require:
417  */
418 HWTEST_F(LNNDataCloudSyncMockTest, SetDBDataToDistributedLedger_Test_001, TestSize.Level1)
419 {
420     NiceMock<LnnNetLedgertInterfaceMock> NetLedgerMock;
421     EXPECT_CALL(NetLedgerMock, LnnSetDLDeviceBroadcastCipherKey).WillOnce(Return(SOFTBUS_ERR))
422         .WillRepeatedly(Return(SOFTBUS_OK));
423     EXPECT_CALL(NetLedgerMock, LnnSetDLDeviceBroadcastCipherIv).WillOnce(Return(SOFTBUS_ERR))
424         .WillRepeatedly(Return(SOFTBUS_OK));
425     EXPECT_CALL(NetLedgerMock, LnnSetDLDeviceStateVersion).WillOnce(Return(SOFTBUS_ERR))
426         .WillRepeatedly(Return(SOFTBUS_OK));
427     NiceMock<LnnDataCloudSyncInterfaceMock> DataCloudSyncMock;
428     EXPECT_CALL(DataCloudSyncMock, LnnUpdateNetworkId).WillOnce(Return(SOFTBUS_ERR))
429         .WillRepeatedly(Return(SOFTBUS_OK));
430     NodeInfo cacheInfo;
431     (void)memset_s(&cacheInfo, sizeof(NodeInfo), 0, sizeof(NodeInfo));
432     char deviceUdid[UDID_BUF_LEN] = { 0 };
433     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
434     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_BROADCAST_CIPHER_KEY));
435     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, deviceUdid, 0, fieldName), SOFTBUS_ERR);
436     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, deviceUdid, 0, fieldName), SOFTBUS_OK);
437     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_BROADCAST_CIPHER_IV));
438     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, deviceUdid, 0, fieldName), SOFTBUS_ERR);
439     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, deviceUdid, 0, fieldName), SOFTBUS_OK);
440     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_NETWORK_ID));
441     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, deviceUdid, 0, fieldName), SOFTBUS_ERR);
442     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, deviceUdid, 0, fieldName), SOFTBUS_OK);
443     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_STATE_VERSION));
444     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, deviceUdid, 0, fieldName), SOFTBUS_ERR);
445     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, deviceUdid, 0, fieldName), SOFTBUS_OK);
446     EXPECT_EQ(EOK, strcpy_s(fieldName, FIELDNAME_MAX_LEN, DEVICE_INFO_DISTRIBUTED_SWITCH));
447     const char *value = "value";
448     UpdateInfoToLedger(&cacheInfo, deviceUdid, fieldName, const_cast<char *>(value));
449     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, deviceUdid, 0, fieldName), SOFTBUS_OK);
450     EXPECT_EQ(SetDBDataToDistributedLedger(nullptr, deviceUdid, 0, fieldName), SOFTBUS_INVALID_PARAM);
451     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, nullptr, 0, fieldName), SOFTBUS_INVALID_PARAM);
452     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, deviceUdid, UDID_BUF_LEN, fieldName),
453         SOFTBUS_INVALID_PARAM);
454     EXPECT_EQ(SetDBDataToDistributedLedger(&cacheInfo, deviceUdid, 0, nullptr), SOFTBUS_INVALID_PARAM);
455 }
456 
457 /*
458  * @tc.name: IsIgnoreUpdate_Test_001
459  * @tc.desc: IsIgnoreUpdate
460  * @tc.type: FUNC
461  * @tc.require:
462  */
463 HWTEST_F(LNNDataCloudSyncMockTest, IsIgnoreUpdate_Test_001, TestSize.Level1)
464 {
465     NodeInfo cacheInfo;
466     (void)memset_s(&cacheInfo, sizeof(NodeInfo), 0, sizeof(NodeInfo));
467     char deviceUdid[UDID_BUF_LEN] = { 0 };
468     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
469     const char *value = "value";
470     const char *deviceUdid1 = "123456789123456789123456789123456789123456789123456789123456789123456789";
471     UpdateInfoToLedger(nullptr, deviceUdid, fieldName, const_cast<char *>(value));
472     UpdateInfoToLedger(&cacheInfo, nullptr, fieldName, const_cast<char *>(value));
473     UpdateInfoToLedger(&cacheInfo, deviceUdid, nullptr, const_cast<char *>(value));
474     UpdateInfoToLedger(&cacheInfo, deviceUdid, fieldName, nullptr);
475     UpdateInfoToLedger(&cacheInfo, const_cast<char *>(deviceUdid1), fieldName, const_cast<char *>(value));
476     EXPECT_EQ(IsIgnoreUpdate(STATE_VERSION, TIMES_STAP0, STATE_VERSION, TIMES_STAP0), false);
477     EXPECT_EQ(IsIgnoreUpdate(STATE_VERSION, TIMES_STAP2, STATE_VERSION, TIMES_STAP1), true);
478 }
479 
480 /*
481  * @tc.name: HandleDBUpdateInternal_Test_001
482  * @tc.desc: HandleDBUpdateInternal
483  * @tc.type: FUNC
484  * @tc.require:
485  */
486 HWTEST_F(LNNDataCloudSyncMockTest, HandleDBUpdateInternal_Test_001, TestSize.Level1)
487 {
488     NiceMock<LnnDataCloudSyncInterfaceMock> DataCloudSyncMock;
489     EXPECT_CALL(DataCloudSyncMock, LnnGenerateHexStringHash).WillOnce(Return(SOFTBUS_ERR))
490         .WillRepeatedly(Return(SOFTBUS_OK));
491     EXPECT_CALL(DataCloudSyncMock, LnnRetrieveDeviceInfo).WillOnce(Return(SOFTBUS_ERR))
492         .WillRepeatedly(Return(SOFTBUS_OK));
493     EXPECT_CALL(DataCloudSyncMock, LnnSaveRemoteDeviceInfo).WillRepeatedly(Return(SOFTBUS_OK));
494     char deviceUdid[UDID_BUF_LEN] = { 0 };
495     char fieldName[FIELDNAME_MAX_LEN] = { 0 };
496     CloudSyncValue parseValue;
497     char trueValue[SPLIT_MAX_LEN] = { 0 };
498     int32_t localStateVersion = 0;
499     EXPECT_EQ(HandleDBUpdateInternal(deviceUdid, fieldName, trueValue, &parseValue, localStateVersion), SOFTBUS_ERR);
500     EXPECT_EQ(HandleDBUpdateInternal(deviceUdid, fieldName, trueValue, &parseValue, localStateVersion), SOFTBUS_OK);
501     EXPECT_EQ(HandleDBUpdateInternal(deviceUdid, fieldName, trueValue, &parseValue, localStateVersion), SOFTBUS_OK);
502     EXPECT_EQ(HandleDBUpdateInternal(nullptr, fieldName, trueValue, &parseValue, localStateVersion),
503         SOFTBUS_INVALID_PARAM);
504     EXPECT_EQ(HandleDBUpdateInternal(deviceUdid, nullptr, trueValue, &parseValue, localStateVersion),
505         SOFTBUS_INVALID_PARAM);
506     EXPECT_EQ(HandleDBUpdateInternal(deviceUdid, fieldName, nullptr, &parseValue, localStateVersion),
507         SOFTBUS_INVALID_PARAM);
508 }
509 
510 /*
511  * @tc.name: LnnDBDataAddChangeSyncToCache_Test_001
512  * @tc.desc: LnnDBDataAddChangeSyncToCache
513  * @tc.type: FUNC
514  * @tc.require:
515  */
516 HWTEST_F(LNNDataCloudSyncMockTest, LnnDBDataAddChangeSyncToCache_Test_001, TestSize.Level1)
517 {
518     const char **key = reinterpret_cast<const char **>(SoftBusCalloc(TMP_LEN * TMP_LEN));
519     const char **value = reinterpret_cast<const char **>(SoftBusCalloc(TMP_LEN * TMP_LEN));
520     int32_t keySize = 0;
521     EXPECT_EQ(LnnDBDataAddChangeSyncToCache(nullptr, value, keySize), SOFTBUS_INVALID_PARAM);
522     EXPECT_EQ(LnnDBDataAddChangeSyncToCache(key, nullptr, keySize), SOFTBUS_INVALID_PARAM);
523     SoftBusFree(key);
524     SoftBusFree(value);
525 }
526 
527 /*
528  * @tc.name: LnnDBDataChangeSyncToCacheInner_Test_001
529  * @tc.desc: LnnDBDataChangeSyncToCacheInner
530  * @tc.type: FUNC
531  * @tc.require:
532  */
533 HWTEST_F(LNNDataCloudSyncMockTest, LnnDBDataChangeSyncToCacheInner_Test_001, TestSize.Level1)
534 {
535     NodeInfo cacheInfo = { .accountId = 12345, };
536     EXPECT_EQ(EOK, strcpy_s(cacheInfo.p2pInfo.p2pMac, MAC_LEN, MACTEST));
537     EXPECT_EQ(EOK, strcpy_s(cacheInfo.connectInfo.macAddr, MAC_LEN, MACTEST));
538     EXPECT_EQ(EOK, strcpy_s(cacheInfo.deviceInfo.deviceUdid, UDID_BUF_LEN, PEERUDID));
539     EXPECT_EQ(EOK, strcpy_s(cacheInfo.uuid, UUID_BUF_LEN, PEERUUID));
540     EXPECT_EQ(EOK, strcpy_s(cacheInfo.networkId, NETWORK_ID_BUF_LEN, NETWORKID));
541     EXPECT_EQ(EOK, strcpy_s(cacheInfo.deviceInfo.deviceVersion, DEVICE_VERSION_SIZE_MAX, SOFTBUSVERSION));
542     PrintSyncNodeInfo(nullptr);
543     PrintSyncNodeInfo(&cacheInfo);
544     NiceMock<LnnDataCloudSyncInterfaceMock> DataCloudSyncMock;
545     EXPECT_CALL(DataCloudSyncMock, LnnUnPackCloudSyncDeviceInfo).WillOnce(Return(SOFTBUS_ERR))
546         .WillRepeatedly(DoAll(SetArgPointee<1>(cacheInfo), Return(SOFTBUS_OK)));
547     EXPECT_CALL(DataCloudSyncMock, LnnGenerateHexStringHash).WillOnce(Return(SOFTBUS_ERR))
548         .WillRepeatedly(Return(SOFTBUS_OK));
549     EXPECT_CALL(DataCloudSyncMock, LnnRetrieveDeviceInfo).WillRepeatedly(Return(SOFTBUS_ERR));
550     EXPECT_CALL(DataCloudSyncMock, LnnGetLocalCacheNodeInfo).WillOnce(Return(SOFTBUS_ERR))
551         .WillRepeatedly(Return(SOFTBUS_OK));
552     const char *key = "key";
553     const char *value = TMPMSG;
554     EXPECT_EQ(LnnDBDataChangeSyncToCacheInner(key, value), SOFTBUS_ERR);
555     EXPECT_EQ(LnnDBDataChangeSyncToCacheInner(key, value), SOFTBUS_ERR);
556     EXPECT_EQ(LnnDBDataChangeSyncToCacheInner(key, value), SOFTBUS_ERR);
557     EXPECT_EQ(LnnDBDataChangeSyncToCacheInner(key, value), SOFTBUS_OK);
558     EXPECT_EQ(LnnDBDataChangeSyncToCacheInner(key, value), SOFTBUS_OK);
559     EXPECT_EQ(LnnDBDataChangeSyncToCacheInner(nullptr, value), SOFTBUS_INVALID_PARAM);
560     EXPECT_EQ(LnnDBDataChangeSyncToCacheInner(key, nullptr), SOFTBUS_INVALID_PARAM);
561 }
562 
563 /*
564  * @tc.name: LnnLedgerDataChangeSyncToDB_Test_001
565  * @tc.desc: LnnLedgerDataChangeSyncToDB
566  * @tc.type: FUNC
567  * @tc.require:
568  */
569 HWTEST_F(LNNDataCloudSyncMockTest, LnnLedgerDataChangeSyncToDB_Test_001, TestSize.Level1)
570 {
571     NodeInfo localCaheInfo = { .accountId = 0, .stateVersion = 12, };
572     EXPECT_EQ(EOK, strcpy_s(localCaheInfo.deviceInfo.deviceUdid, UDID_BUF_LEN, PEERUDID));
573     NiceMock<LnnDataCloudSyncInterfaceMock> DataCloudSyncMock;
574     EXPECT_CALL(DataCloudSyncMock, LnnGetLocalCacheNodeInfo).WillOnce(Return(SOFTBUS_ERR))
575         .WillRepeatedly(DoAll(SetArgPointee<0>(localCaheInfo), Return(SOFTBUS_OK)));
576     const char key[] = "key";
577     const char value[] = "value";
578     size_t valueLength = strlen(value);
579     EXPECT_EQ(LnnLedgerDataChangeSyncToDB(key, value, valueLength), SOFTBUS_ERR);
580     EXPECT_EQ(LnnLedgerDataChangeSyncToDB(key, value, valueLength), SOFTBUS_OK);
581     EXPECT_EQ(LnnLedgerDataChangeSyncToDB(nullptr, value, valueLength), SOFTBUS_INVALID_PARAM);
582     EXPECT_EQ(LnnLedgerDataChangeSyncToDB(key, nullptr, valueLength), SOFTBUS_INVALID_PARAM);
583     EXPECT_EQ(LnnLedgerDataChangeSyncToDB(key, value, KEY_MAX_LEN), SOFTBUS_INVALID_PARAM);
584 }
585 
586 /*
587  * @tc.name: PackBroadcastCipherKeyInner_Test_001
588  * @tc.desc: PackBroadcastCipherKeyInner
589  * @tc.type: FUNC
590  * @tc.require:
591  */
592 HWTEST_F(LNNDataCloudSyncMockTest, PackBroadcastCipherKeyInner_Test_001, TestSize.Level1)
593 {
594     CloudSyncInfo syncInfo;
595     (void)memset_s(&syncInfo, sizeof(CloudSyncInfo), 0, sizeof(CloudSyncInfo));
596     syncInfo.broadcastCipherKey = reinterpret_cast<char *>(SoftBusCalloc(TMP_LEN));
597     ASSERT_TRUE(syncInfo.broadcastCipherKey != nullptr);
598     NiceMock<LnnDataCloudSyncInterfaceMock> DataCloudSyncMock;
599     EXPECT_CALL(DataCloudSyncMock, LnnPackCloudSyncDeviceInfo).WillOnce(Return(SOFTBUS_ERR))
600         .WillRepeatedly(Return(SOFTBUS_OK));
601     EXPECT_CALL(DataCloudSyncMock, LnnGetLocalBroadcastCipherInfo).WillOnce(Return(SOFTBUS_ERR))
602         .WillRepeatedly(DoAll(SetArgPointee<0>(syncInfo), Return(SOFTBUS_OK)));
603     cJSON *json = cJSON_CreateObject();
604     ASSERT_TRUE(json != nullptr);
605     NodeInfo info;
606     (void)memset_s(&info, sizeof(NodeInfo), 0, sizeof(NodeInfo));
607     EXPECT_NE(PackBroadcastCipherKeyInner(json, &info), SOFTBUS_OK);
608     EXPECT_NE(PackBroadcastCipherKeyInner(json, &info), SOFTBUS_OK);
609     EXPECT_EQ(PackBroadcastCipherKeyInner(json, &info), SOFTBUS_OK);
610     cJSON_Delete(json);
611 }
612 } // namespace OHOS