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