From 2a8b28e22b4dba2818c1580269caf0beeaf65e8f Mon Sep 17 00:00:00 2001 From: zqq Date: Tue, 27 Jan 2026 14:11:56 +0800 Subject: [PATCH] add ut Signed-off-by: zqq --- .../nbdelegate_fuzzer/nbdelegate_fuzzer.cpp | 24 +++++++++++++++++++ .../relationalstoredelegate_fuzzer.cpp | 12 ++++++++-- .../relationalstoremanager_fuzzer.cpp | 3 +++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/frameworks/libs/distributeddb/test/fuzztest/nbdelegate_fuzzer/nbdelegate_fuzzer.cpp b/frameworks/libs/distributeddb/test/fuzztest/nbdelegate_fuzzer/nbdelegate_fuzzer.cpp index e9cf4853d1..bb06f7c7ca 100644 --- a/frameworks/libs/distributeddb/test/fuzztest/nbdelegate_fuzzer/nbdelegate_fuzzer.cpp +++ b/frameworks/libs/distributeddb/test/fuzztest/nbdelegate_fuzzer/nbdelegate_fuzzer.cpp @@ -620,6 +620,29 @@ void StoreManagerFuzz(FuzzedDataProvider &fdp) kvManager.DeleteKvStore(storeId); } +void StatusFuzz(FuzzedDataProvider &fdp, KvStoreNbDelegate *kvNbDelegatePtr) +{ + if (kvNbDelegatePtr == nullptr) { + return; + } + kvNbDelegatePtr->GetDatabaseStatus(); + uint32_t op = fdp.ConsumeIntegral(); + kvNbDelegatePtr->OperateDataStatus(op); + Property property; + std::string s1 = fdp.ConsumeRandomLengthString(); + std::string s2 = fdp.ConsumeRandomLengthString(); + property[s1] = s2; + kvNbDelegatePtr->SetProperty(property); + ClearKvMetaDataOption option; + uint32_t type = fdp.ConsumeIntegral(); + option.type = static_cast(type); + kvNbDelegatePtr->ClearMetaData(option); + DeviceSyncNotifier notifier = [](const DeviceSyncNotifyInfo &) { + }; + uint32_t event = fdp.ConsumeIntegral(); + kvNbDelegatePtr->SetDeviceSyncNotify(static_cast(event), notifier); +} + void CombineTest(FuzzedDataProvider &fdp, KvStoreNbDelegate::Option &option) { static auto kvManager = KvStoreDelegateManager("APP_ID", "USER_ID"); @@ -645,6 +668,7 @@ void CombineTest(FuzzedDataProvider &fdp, KvStoreNbDelegate::Option &option) if (option.isEncryptedDb) { EncryptOperation(fdp, config.dataDir, kvNbDelegatePtr); } + StatusFuzz(fdp, kvNbDelegatePtr); RuntimeContext::GetInstance()->StopTaskPool(); kvManager.CloseKvStore(kvNbDelegatePtr); kvManager.DeleteKvStore("distributed_nb_delegate_test"); diff --git a/frameworks/libs/distributeddb/test/fuzztest/relationalstoredelegate_fuzzer/relationalstoredelegate_fuzzer.cpp b/frameworks/libs/distributeddb/test/fuzztest/relationalstoredelegate_fuzzer/relationalstoredelegate_fuzzer.cpp index 6a9250b46f..c0d00200f4 100644 --- a/frameworks/libs/distributeddb/test/fuzztest/relationalstoredelegate_fuzzer/relationalstoredelegate_fuzzer.cpp +++ b/frameworks/libs/distributeddb/test/fuzztest/relationalstoredelegate_fuzzer/relationalstoredelegate_fuzzer.cpp @@ -207,7 +207,11 @@ void CombineTest(FuzzedDataProvider &fdp) g_delegate->RemoveDeviceData(); g_delegate->RemoveDeviceData(deviceId); g_delegate->RemoveDeviceData(deviceId, tableName); - + ClearDeviceDataOption option; + option.device = deviceId; + option.tableList.push_back(tableName); + option.mode = static_cast(len); + g_delegate->RemoveDeviceData(option); RemoteCondition rc = { tableName, device }; std::shared_ptr resultSet = nullptr; uint64_t timeout = len; @@ -217,7 +221,11 @@ void CombineTest(FuzzedDataProvider &fdp) g_delegate->UnRegisterObserver(); delete observer; observer = nullptr; - + Property property; + std::string s1 = fdp.ConsumeRandomLengthString(); + std::string s2 = fdp.ConsumeRandomLengthString(); + property[s1] = s2; + g_delegate->SetProperty(property); TestDistributedSchema(&fdp); } } diff --git a/frameworks/libs/distributeddb/test/fuzztest/relationalstoremanager_fuzzer/relationalstoremanager_fuzzer.cpp b/frameworks/libs/distributeddb/test/fuzztest/relationalstoremanager_fuzzer/relationalstoremanager_fuzzer.cpp index 8bee8d9633..cb0f84f037 100644 --- a/frameworks/libs/distributeddb/test/fuzztest/relationalstoremanager_fuzzer/relationalstoremanager_fuzzer.cpp +++ b/frameworks/libs/distributeddb/test/fuzztest/relationalstoremanager_fuzzer/relationalstoremanager_fuzzer.cpp @@ -211,6 +211,9 @@ void RuntimeConfigMoreFuncTest(FuzzedDataProvider &fdp) bool syncDualTupleMode = fdp.ConsumeBool(); RuntimeConfig::GetStoreIdentifier(userId, appId, storeId, syncDualTupleMode); RuntimeConfig::GetStoreIdentifier(userId, subUserId, appId, storeId, syncDualTupleMode); + RuntimeConfig::SetDataFlowCheckCallback([](const PermissionCheckParam &, const Property &) { + return DataFlowCheckRet::DEFAULT; + }); } CipherPassword GetPassWord(FuzzedDataProvider &fdp) -- Gitee