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