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