• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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