1 /*
2 * Copyright (c) 2022-2023 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 "db_adapter_test.h"
17
18 #include <cerrno>
19 #include <sys/stat.h>
20 #include <sys/types.h>
21 #include <vector>
22
23 #include "capability_info.h"
24 #include "constants.h"
25 #define private public
26 #include "db_adapter.h"
27 #undef private
28 #include "dh_context.h"
29 #include "distributed_hardware_errno.h"
30 #include "distributed_hardware_log.h"
31 #include "mock_db_change_listener.h"
32
33 using namespace testing::ext;
34 using namespace std;
35
36 namespace OHOS {
37 namespace DistributedHardware {
38 #undef DH_LOG_TAG
39 #define DH_LOG_TAG "DbAdapterTest"
40
41 namespace {
42 const string DATABASE_DIR = "/data/service/el1/public/database/dtbhardware_manager_service/";
43 const std::string DEV_NETWORK_ID_1 = "nt36a637105409e904d4da83790a4a9";
44 const string TEST_DEV_ID_0 = "bb536a637105409e904d4da83791aa11";
45 const string TEST_DEV_ID_1 = "bb536a637105409e904d4da83791bb22";
46 const string TEST_DEV_ID_2 = "bb536a637105409e904d4da83791bb33";
47 const string TEST_DEV_NAME = "Dev1";
48 const string TEST_DH_ID_0 = "Camera_00";
49 const string TEST_DH_ID_1 = "Mic_01";
50 const string TEST_DH_ID_2 = "Gps_02";
51 const string TEST_DH_ID_3 = "Display_03";
52 const string TEST_DH_ID_4 = "Input_04";
53 const string TEST_DH_ATTR_0 = "db_test_attr0";
54 const string TEST_DH_ATTR_1 = "db_test_attr1";
55 constexpr uint16_t TEST_DEV_TYPE = 0x11;
56
57 const shared_ptr<CapabilityInfo> CAP_INFO_0 =
58 make_shared<CapabilityInfo>(TEST_DH_ID_0, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE, DHType::CAMERA, TEST_DH_ATTR_0);
59 const shared_ptr<CapabilityInfo> CAP_INFO_1 =
60 make_shared<CapabilityInfo>(TEST_DH_ID_1, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE, DHType::AUDIO, TEST_DH_ATTR_0);
61 const shared_ptr<CapabilityInfo> CAP_INFO_2 =
62 make_shared<CapabilityInfo>(TEST_DH_ID_2, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE, DHType::GPS, TEST_DH_ATTR_0);
63 const shared_ptr<CapabilityInfo> CAP_INFO_3 =
64 make_shared<CapabilityInfo>(TEST_DH_ID_3, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE, DHType::HFP, TEST_DH_ATTR_0);
65 const shared_ptr<CapabilityInfo> CAP_INFO_4 =
66 make_shared<CapabilityInfo>(TEST_DH_ID_4, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE, DHType::INPUT, TEST_DH_ATTR_0);
67
68 const shared_ptr<CapabilityInfo> CAP_INFO_5 =
69 make_shared<CapabilityInfo>(TEST_DH_ID_0, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE, DHType::CAMERA, TEST_DH_ATTR_1);
70 const shared_ptr<CapabilityInfo> CAP_INFO_6 =
71 make_shared<CapabilityInfo>(TEST_DH_ID_1, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE, DHType::AUDIO, TEST_DH_ATTR_1);
72 const shared_ptr<CapabilityInfo> CAP_INFO_7 =
73 make_shared<CapabilityInfo>(TEST_DH_ID_2, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE, DHType::GPS, TEST_DH_ATTR_1);
74 const shared_ptr<CapabilityInfo> CAP_INFO_8 =
75 make_shared<CapabilityInfo>(TEST_DH_ID_3, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE, DHType::HFP, TEST_DH_ATTR_1);
76 const shared_ptr<CapabilityInfo> CAP_INFO_9 =
77 make_shared<CapabilityInfo>(TEST_DH_ID_4, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE, DHType::INPUT, TEST_DH_ATTR_1);
78
79 std::shared_ptr<DBAdapter> g_dbAdapterPtr;
80 }
81
SetUpTestCase(void)82 void DbAdapterTest::SetUpTestCase(void)
83 {
84 auto ret = mkdir(DATABASE_DIR.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
85 if (ret != 0) {
86 DHLOGE("mkdir failed, path: %s, errno : %d", DATABASE_DIR.c_str(), errno);
87 }
88
89 std::shared_ptr<DistributedKv::KvStoreObserver> changeListener = std::make_shared<MockDBChangeListener>();
90 g_dbAdapterPtr = std::make_shared<DBAdapter>(APP_ID, GLOBAL_CAPABILITY_ID, changeListener);
91 if (g_dbAdapterPtr != nullptr) {
92 g_dbAdapterPtr->Init();
93 }
94 }
95
TearDownTestCase(void)96 void DbAdapterTest::TearDownTestCase(void)
97 {
98 if (g_dbAdapterPtr != nullptr) {
99 g_dbAdapterPtr->UnInit();
100 }
101
102 g_dbAdapterPtr = nullptr;
103
104 auto ret = remove(DATABASE_DIR.c_str());
105 if (ret != 0) {
106 DHLOGE("remove dir failed, path: %s, errno : %d", DATABASE_DIR.c_str(), errno);
107 }
108 }
109
SetUp()110 void DbAdapterTest::SetUp()
111 {
112 }
113
TearDown()114 void DbAdapterTest::TearDown()
115 {
116 g_dbAdapterPtr->manualSyncCountMap_.clear();
117 }
118
119 /**
120 * @tc.name: db_adapter_test_000
121 * @tc.desc: Verify the Init function.
122 * @tc.type: FUNC
123 * @tc.require: AR000GHSJE
124 */
125 HWTEST_F(DbAdapterTest, db_adapter_test_000, TestSize.Level0)
126 {
127 EXPECT_EQ(DH_FWK_SUCCESS, g_dbAdapterPtr->Init());
128 }
129
130 /**
131 * @tc.name: db_adapter_test_001
132 * @tc.desc: Verify the PutDataBatch function.
133 * @tc.type: FUNC
134 * @tc.require: AR000GHSJE
135 */
136 HWTEST_F(DbAdapterTest, db_adapter_test_001, TestSize.Level0)
137 {
138 vector<shared_ptr<CapabilityInfo>> resInfos { CAP_INFO_0, CAP_INFO_1, CAP_INFO_2, CAP_INFO_3, CAP_INFO_4,
139 CAP_INFO_5, CAP_INFO_6, CAP_INFO_7, CAP_INFO_8, CAP_INFO_9 };
140
141 std::vector<std::string> keys;
142 std::vector<std::string> values;
143 std::string key;
144 for (auto &resInfo : resInfos) {
145 key = resInfo->GetKey();
146 keys.push_back(key);
147 values.push_back(resInfo->ToJsonString());
148 }
149 EXPECT_EQ(DH_FWK_SUCCESS, g_dbAdapterPtr->PutDataBatch(keys, values));
150 for (auto &resInfo : resInfos) {
151 g_dbAdapterPtr->RemoveDataByKey(resInfo->GetKey());
152 }
153 }
154
155 /**
156 * @tc.name: db_adapter_test_002
157 * @tc.desc: Verify the PutDataBatch function.
158 * @tc.type: FUNC
159 * @tc.require: AR000GHSCV
160 */
161 HWTEST_F(DbAdapterTest, db_adapter_test_002, TestSize.Level0)
162 {
163 std::vector<std::string> keys { std::string(TEST_DEV_ID_2 + TEST_DH_ID_0) };
164 std::vector<std::string> values { TEST_DH_ATTR_0 };
165
166 EXPECT_EQ(DH_FWK_SUCCESS, g_dbAdapterPtr->PutDataBatch(keys, values));
167 g_dbAdapterPtr->RemoveDataByKey(keys[0]);
168 }
169
170 /**
171 * @tc.name: db_adapter_test_003
172 * @tc.desc: Verify the PutDataBatch function.
173 * @tc.type: FUNC
174 * @tc.require: AR000GHSCV
175 */
176 HWTEST_F(DbAdapterTest, db_adapter_test_003, TestSize.Level0)
177 {
178 std::vector<std::string> keys { std::string(TEST_DEV_ID_2 + TEST_DH_ID_0) };
179 std::vector<std::string> valuesEmpty;
180
181 EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, g_dbAdapterPtr->PutDataBatch(keys, valuesEmpty));
182 }
183
184 /**
185 * @tc.name: db_adapter_test_004
186 * @tc.desc: Verify the PutDataBatch function.
187 * @tc.type: FUNC
188 * @tc.require: AR000GHSCV
189 */
190 HWTEST_F(DbAdapterTest, db_adapter_test_004, TestSize.Level0)
191 {
192 std::vector<std::string> keysEmpty;
193 std::vector<std::string> values { TEST_DH_ATTR_0 };
194
195 EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, g_dbAdapterPtr->PutDataBatch(keysEmpty, values));
196 }
197
198 /**
199 * @tc.name: db_adapter_test_005
200 * @tc.desc: Verify the PutDataBatch function.
201 * @tc.type: FUNC
202 * @tc.require: AR000GHSCV
203 */
204 HWTEST_F(DbAdapterTest, db_adapter_test_005, TestSize.Level0)
205 {
206 std::vector<std::string> keysEmpty;
207 std::vector<std::string> valuesEmpty;
208
209 EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, g_dbAdapterPtr->PutDataBatch(keysEmpty, valuesEmpty));
210 }
211
212 /**
213 * @tc.name: db_adapter_test_006
214 * @tc.desc: Verify the PutDataBatch function.
215 * @tc.type: FUNC
216 * @tc.require: AR000GHSCV
217 */
218 HWTEST_F(DbAdapterTest, db_adapter_test_006, TestSize.Level0)
219 {
220 std::vector<std::string> keys { std::string(TEST_DEV_ID_2 + TEST_DH_ID_0) };
221 std::vector<std::string> values { TEST_DH_ATTR_0, TEST_DH_ATTR_1 };
222
223 EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, g_dbAdapterPtr->PutDataBatch(keys, values));
224 }
225
226 /**
227 * @tc.name: db_adapter_test_007
228 * @tc.desc: Verify the PutDataBatch function.
229 * @tc.type: FUNC
230 * @tc.require: AR000GHSCV
231 */
232 HWTEST_F(DbAdapterTest, db_adapter_test_007, TestSize.Level0)
233 {
234 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
235 std::vector<std::string> keys { std::string(TEST_DEV_ID_2 + TEST_DH_ID_0) };
236 std::vector<std::string> values { TEST_DH_ATTR_0 };
237
238 EXPECT_EQ(ERR_DH_FWK_RESOURCE_KV_STORAGE_POINTER_NULL, g_dbAdapterPtr->PutDataBatch(keys, values));
239 }
240
241 /**
242 * @tc.name: db_adapter_test_008
243 * @tc.desc: Verify the ReInit function.
244 * @tc.type: FUNC
245 * @tc.require: AR000GHSCV
246 */
247 HWTEST_F(DbAdapterTest, db_adapter_test_008, TestSize.Level0)
248 {
249 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
250 EXPECT_EQ(ERR_DH_FWK_RESOURCE_KV_STORAGE_POINTER_NULL, g_dbAdapterPtr->ReInit());
251 }
252
253 /**
254 * @tc.name: db_adapter_test_009
255 * @tc.desc: Verify the RemoveDeviceData function.
256 * @tc.type: FUNC
257 * @tc.require: AR000GHSCV
258 */
259 HWTEST_F(DbAdapterTest, db_adapter_test_009, TestSize.Level0)
260 {
261 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
262 EXPECT_EQ(ERR_DH_FWK_RESOURCE_KV_STORAGE_POINTER_NULL, g_dbAdapterPtr->RemoveDeviceData(TEST_DEV_ID_0));
263 }
264
265 /**
266 * @tc.name: db_adapter_test_010
267 * @tc.desc: Verify the RemoveDataByKey function.
268 * @tc.type: FUNC
269 * @tc.require: AR000GHSCV
270 */
271 HWTEST_F(DbAdapterTest, db_adapter_test_010, TestSize.Level0)
272 {
273 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
274 EXPECT_EQ(ERR_DH_FWK_RESOURCE_KV_STORAGE_POINTER_NULL, g_dbAdapterPtr->RemoveDataByKey("key"));
275 }
276
277 /**
278 * @tc.name: db_adapter_test_011
279 * @tc.desc: Verify the ManualSync function.
280 * @tc.type: FUNC
281 * @tc.require: AR000GHSCV
282 */
283 HWTEST_F(DbAdapterTest, db_adapter_test_011, TestSize.Level0)
284 {
285 std::string networkId = DEV_NETWORK_ID_1;
286 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
287 EXPECT_EQ(ERR_DH_FWK_RESOURCE_KV_STORAGE_POINTER_NULL, g_dbAdapterPtr->ManualSync(DEV_NETWORK_ID_1));
288 }
289
290 /**
291 * @tc.name: db_adapter_test_012
292 * @tc.desc: Verify the UnRegisterChangeListener function.
293 * @tc.type: FUNC
294 * @tc.require: AR000GHSCV
295 */
296 HWTEST_F(DbAdapterTest, db_adapter_test_012, TestSize.Level0)
297 {
298 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
299 EXPECT_EQ(ERR_DH_FWK_RESOURCE_KV_STORAGE_POINTER_NULL, g_dbAdapterPtr->UnRegisterChangeListener());
300 }
301
302 /**
303 * @tc.name: db_adapter_test_013
304 * @tc.desc: Verify the PutData function.
305 * @tc.type: FUNC
306 * @tc.require: AR000GHSCV
307 */
308 HWTEST_F(DbAdapterTest, db_adapter_test_013, TestSize.Level0)
309 {
310 std::string key = std::string(TEST_DEV_ID_1 + TEST_DH_ID_1);
311 std::string value = TEST_DH_ATTR_0;
312 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
313 EXPECT_EQ(ERR_DH_FWK_RESOURCE_KV_STORAGE_POINTER_NULL, g_dbAdapterPtr->PutData(key, value));
314 }
315
316 /**
317 * @tc.name: db_adapter_test_014
318 * @tc.desc: Verify the RegisterChangeListener function.
319 * @tc.type: FUNC
320 * @tc.require: AR000GHSCV
321 */
322 HWTEST_F(DbAdapterTest, db_adapter_test_014, TestSize.Level0)
323 {
324 std::string networkId = DEV_NETWORK_ID_1;
325 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
326 EXPECT_EQ(ERR_DH_FWK_RESOURCE_KV_STORAGE_POINTER_NULL, g_dbAdapterPtr->RegisterChangeListener());
327 }
328
329 /**
330 * @tc.name: db_adapter_test_015
331 * @tc.desc: Verify the UnRegisterChangeListener function.
332 * @tc.type: FUNC
333 * @tc.require: AR000GHSCV
334 */
335 HWTEST_F(DbAdapterTest, db_adapter_test_015, TestSize.Level0)
336 {
337 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
338 EXPECT_EQ(ERR_DH_FWK_RESOURCE_KV_STORAGE_POINTER_NULL, g_dbAdapterPtr->UnRegisterChangeListener());
339 }
340
341 /**
342 * @tc.name: SyncCompleted_001
343 * @tc.desc: Verify the SyncCompleted function
344 * @tc.type: FUNC
345 * @tc.require: AR000GHSJM
346 */
347 HWTEST_F(DbAdapterTest, SyncCompleted_001, TestSize.Level0)
348 {
349 std::map<std::string, DistributedKv::Status> results;
350 g_dbAdapterPtr->SyncCompleted(results);
351 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
352 }
353
354 /**
355 * @tc.name: SyncCompleted_002
356 * @tc.desc: Verify the SyncCompleted function
357 * @tc.type: FUNC
358 * @tc.require: AR000GHSJM
359 */
360 HWTEST_F(DbAdapterTest, SyncCompleted_002, TestSize.Level0)
361 {
362 std::map<std::string, DistributedKv::Status> results;
363 uint32_t MAX_DB_RECORD_SIZE = 10002;
364 for (uint32_t i = 0; i < MAX_DB_RECORD_SIZE; ++i) {
365 results.insert(std::pair<std::string, DistributedKv::Status>(to_string(i), DistributedKv::Status::SUCCESS));
366 }
367 g_dbAdapterPtr->SyncCompleted(results);
368 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
369 }
370
371 /**
372 * @tc.name: SyncCompleted_003
373 * @tc.desc: Verify the SyncCompleted function
374 * @tc.type: FUNC
375 * @tc.require: AR000GHSJM
376 */
377 HWTEST_F(DbAdapterTest, SyncCompleted_003, TestSize.Level0)
378 {
379 std::map<std::string, DistributedKv::Status> results;
380 uint32_t MAX_DB_RECORD_SIZE = 500;
381 for (uint32_t i = 0; i < MAX_DB_RECORD_SIZE; ++i) {
382 results.insert(std::pair<std::string, DistributedKv::Status>(to_string(i), DistributedKv::Status::SUCCESS));
383 }
384 g_dbAdapterPtr->SyncCompleted(results);
385 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
386 }
387
388 /**
389 * @tc.name: CreateManualSyncCount_001
390 * @tc.desc: Verify the CreateManualSyncCount function
391 * @tc.type: FUNC
392 * @tc.require: AR000GHSJM
393 */
394 HWTEST_F(DbAdapterTest, CreateManualSyncCount_001, TestSize.Level0)
395 {
396 std::string deviceId = "deviceId";
397 g_dbAdapterPtr->CreateManualSyncCount(deviceId);
398 EXPECT_EQ(false, g_dbAdapterPtr->manualSyncCountMap_.empty());
399 }
400
401 /**
402 * @tc.name: RemoveManualSyncCount_001
403 * @tc.desc: Verify the RemoveManualSyncCount function
404 * @tc.type: FUNC
405 * @tc.require: AR000GHSJM
406 */
407 HWTEST_F(DbAdapterTest, RemoveManualSyncCount_001, TestSize.Level0)
408 {
409 std::string deviceId = "deviceId";
410 g_dbAdapterPtr->manualSyncCountMap_.insert(std::make_pair(deviceId, 1));
411 g_dbAdapterPtr->RemoveManualSyncCount(deviceId);
412 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
413 }
414
415 /**
416 * @tc.name: SyncDBForRecover_001
417 * @tc.desc: Verify the SyncDBForRecover function
418 * @tc.type: FUNC
419 * @tc.require: AR000GHSJM
420 */
421 HWTEST_F(DbAdapterTest, SyncDBForRecover_001, TestSize.Level0)
422 {
423 g_dbAdapterPtr->storeId_.storeId = GLOBAL_CAPABILITY_ID;
424 g_dbAdapterPtr->SyncDBForRecover();
425 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
426 }
427
428 /**
429 * @tc.name: SyncDBForRecover_002
430 * @tc.desc: Verify the SyncDBForRecover function
431 * @tc.type: FUNC
432 * @tc.require: AR000GHSJM
433 */
434 HWTEST_F(DbAdapterTest, SyncDBForRecover_002, TestSize.Level0)
435 {
436 g_dbAdapterPtr->storeId_.storeId = GLOBAL_VERSION_ID;
437 g_dbAdapterPtr->SyncDBForRecover();
438 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
439 }
440
441 /**
442 * @tc.name: RegisterKvStoreDeathListener_001
443 * @tc.desc: Verify the RegisterKvStoreDeathListener function
444 * @tc.type: FUNC
445 * @tc.require: AR000GHSJM
446 */
447 HWTEST_F(DbAdapterTest, RegisterKvStoreDeathListener_001, TestSize.Level0)
448 {
449 g_dbAdapterPtr->RegisterKvStoreDeathListener();
450 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
451 }
452
453 /**
454 * @tc.name: UnRegisterKvStoreDeathListener_001
455 * @tc.desc: Verify the UnRegisterKvStoreDeathListener function
456 * @tc.type: FUNC
457 * @tc.require: AR000GHSJM
458 */
459 HWTEST_F(DbAdapterTest, UnRegisterKvStoreDeathListener_001, TestSize.Level0)
460 {
461 g_dbAdapterPtr->UnRegisterKvStoreDeathListener();
462 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
463 }
464
465 /**
466 * @tc.name: RegisterManualSyncListener_001
467 * @tc.desc: Verify the RegisterManualSyncListener function
468 * @tc.type: FUNC
469 * @tc.require: AR000GHSJM
470 */
471 HWTEST_F(DbAdapterTest, RegisterManualSyncListener_001, TestSize.Level0)
472 {
473 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
474 g_dbAdapterPtr->UnRegisterKvStoreDeathListener();
475 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
476 }
477
478 /**
479 * @tc.name: RegisterManualSyncListener_002
480 * @tc.desc: Verify the RegisterManualSyncListener function
481 * @tc.type: FUNC
482 * @tc.require: AR000GHSJM
483 */
484 HWTEST_F(DbAdapterTest, RegisterManualSyncListener_002, TestSize.Level0)
485 {
486 g_dbAdapterPtr->UnRegisterKvStoreDeathListener();
487 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
488 }
489
490 /**
491 * @tc.name: UnRegisterManualSyncListener_001
492 * @tc.desc: Verify the UnRegisterManualSyncListener function
493 * @tc.type: FUNC
494 * @tc.require: AR000GHSJM
495 */
496 HWTEST_F(DbAdapterTest, UnRegisterManualSyncListener_001, TestSize.Level0)
497 {
498 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
499 g_dbAdapterPtr->UnRegisterManualSyncListener();
500 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
501 }
502
503 /**
504 * @tc.name: UnRegisterManualSyncListener_002
505 * @tc.desc: Verify the UnRegisterManualSyncListener function
506 * @tc.type: FUNC
507 * @tc.require: AR000GHSJM
508 */
509 HWTEST_F(DbAdapterTest, UnRegisterManualSyncListener_002, TestSize.Level0)
510 {
511 g_dbAdapterPtr->UnRegisterManualSyncListener();
512 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
513 }
514
515 /**
516 * @tc.name: OnRemoteDied_001
517 * @tc.desc: Verify the OnRemoteDied function
518 * @tc.type: FUNC
519 * @tc.require: AR000GHSJM
520 */
521 HWTEST_F(DbAdapterTest, OnRemoteDied_001, TestSize.Level0)
522 {
523 g_dbAdapterPtr->OnRemoteDied();
524 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
525 }
526
527 /**
528 * @tc.name: DeleteKvStore_001
529 * @tc.desc: Verify the DeleteKvStore function
530 * @tc.type: FUNC
531 * @tc.require: AR000GHSCV
532 */
533 HWTEST_F(DbAdapterTest, DeleteKvStore_001, TestSize.Level0)
534 {
535 g_dbAdapterPtr->DeleteKvStore();
536 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
537 }
538
539 /**
540 * @tc.name: ReInit_001
541 * @tc.desc: Verify the ReInit_001 function.
542 * @tc.type: FUNC
543 * @tc.require: AR000GHSCV
544 */
545 HWTEST_F(DbAdapterTest, ReInit_001, TestSize.Level0)
546 {
547 g_dbAdapterPtr->GetKvStorePtr();
548 EXPECT_EQ(DH_FWK_SUCCESS, g_dbAdapterPtr->ReInit());
549 }
550
551 /**
552 * @tc.name: RemoveDeviceData_001
553 * @tc.desc: Verify the RemoveDeviceData function.
554 * @tc.type: FUNC
555 * @tc.require: AR000GHSJM
556 */
557 HWTEST_F(DbAdapterTest, RemoveDeviceData_001, TestSize.Level0)
558 {
559 g_dbAdapterPtr->GetKvStorePtr();
560 EXPECT_EQ(ERR_DH_FWK_RESOURCE_KV_STORAGE_OPERATION_FAIL, g_dbAdapterPtr->RemoveDeviceData(TEST_DEV_ID_0));
561 }
562
563 /**
564 * @tc.name: UnInit_001
565 * @tc.desc: Verify the UnInit function.
566 * @tc.type: FUNC
567 * @tc.require: AR000GHSJM
568 */
569 HWTEST_F(DbAdapterTest, UnInit_001, TestSize.Level0)
570 {
571 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
572 g_dbAdapterPtr->UnInit();
573 EXPECT_EQ(true, g_dbAdapterPtr->manualSyncCountMap_.empty());
574 }
575
576 /**
577 * @tc.name: PutData_01
578 * @tc.desc: Verify the PutData function.
579 * @tc.type: FUNC
580 * @tc.require: AR000GHSCV
581 */
582 HWTEST_F(DbAdapterTest, PutData_01, TestSize.Level0)
583 {
584 std::string key;
585 std::string value;
586 EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, g_dbAdapterPtr->PutData(key, value));
587 }
588
589 /**
590 * @tc.name: PutData_02
591 * @tc.desc: Verify the PutData function.
592 * @tc.type: FUNC
593 * @tc.require: AR000GHSCV
594 */
595 HWTEST_F(DbAdapterTest, PutData_02, TestSize.Level0)
596 {
597 uint32_t MAX_MESSAGE_LEN = 40 * 1024 * 1024 +1 ;
598 std::string key = "key";
599 key.resize(MAX_MESSAGE_LEN);
600 std::string value;
601 EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, g_dbAdapterPtr->PutData(key, value));
602 }
603
604 /**
605 * @tc.name: PutData_03
606 * @tc.desc: Verify the PutData function.
607 * @tc.type: FUNC
608 * @tc.require: AR000GHSCV
609 */
610 HWTEST_F(DbAdapterTest, PutData_03, TestSize.Level0)
611 {
612 std::string key = "key";
613 std::string value;
614 EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, g_dbAdapterPtr->PutData(key, value));
615 }
616
617 /**
618 * @tc.name: PutData_04
619 * @tc.desc: Verify the PutData function.
620 * @tc.type: FUNC
621 * @tc.require: AR000GHSCV
622 */
623 HWTEST_F(DbAdapterTest, PutData_04, TestSize.Level0)
624 {
625 uint32_t MAX_MESSAGE_LEN = 40 * 1024 * 1024 + 1;
626 std::string key = "key";
627 std::string value;
628 value.resize(MAX_MESSAGE_LEN);
629 EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, g_dbAdapterPtr->PutData(key, value));
630 }
631
632 /**
633 * @tc.name: PutData_05
634 * @tc.desc: Verify the PutData function.
635 * @tc.type: FUNC
636 * @tc.require: AR000GHSCV
637 */
638 HWTEST_F(DbAdapterTest, PutData_05, TestSize.Level0)
639 {
640 std::string key = "key";
641 std::string value = "value";
642 g_dbAdapterPtr->kvStoragePtr_ = nullptr;
643 EXPECT_EQ(ERR_DH_FWK_RESOURCE_KV_STORAGE_POINTER_NULL, g_dbAdapterPtr->PutData(key, value));
644 }
645
646 } // namespace DistributedHardware
647 } // namespace OHOS
648