From 6b059c0347e2383917e17a7fbacbae9944304e24 Mon Sep 17 00:00:00 2001 From: Sven Wang Date: Wed, 9 Feb 2022 15:21:14 +0800 Subject: [PATCH 1/2] fixed ut bugs Signed-off-by: Sven Wang --- ...stributed_kv_data_manager_encrypt_test.cpp | 1 + .../distributed_kv_data_manager_test.cpp | 2 + .../app/src/kvstore_data_service.cpp | 45 +++++-------------- .../app/src/kvstore_data_service.h | 4 -- .../app/test/unittest/kvstore_backup_test.cpp | 18 +++++--- .../kvstore_impl_logical_isolation_test.cpp | 8 ++++ .../framework/checker/checker_manager.cpp | 8 ++++ 7 files changed, 41 insertions(+), 45 deletions(-) diff --git a/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/distributed_kv_data_manager_encrypt_test.cpp b/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/distributed_kv_data_manager_encrypt_test.cpp index 2ab4bb0ac..2129f49bb 100755 --- a/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/distributed_kv_data_manager_encrypt_test.cpp +++ b/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/distributed_kv_data_manager_encrypt_test.cpp @@ -72,6 +72,7 @@ void DistributedKvDataManagerEncryptTest::SetUpTestCase(void) createEnc.createIfMissing = true; createEnc.encrypt = true; createEnc.autoSync = true; + createEnc.kvStoreType = MULTI_VERSION; userId.userId = "account0"; appId.appId = "com.ohos.nb.service"; diff --git a/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/distributed_kv_data_manager_test.cpp b/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/distributed_kv_data_manager_test.cpp index f7815cc72..cc9f09053 100755 --- a/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/distributed_kv_data_manager_test.cpp +++ b/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/distributed_kv_data_manager_test.cpp @@ -84,11 +84,13 @@ void DistributedKvDataManagerTest::SetUpTestCase(void) create.createIfMissing = true; create.encrypt = false; create.autoSync = true; + create.kvStoreType = MULTI_VERSION; noCreate.createIfMissing = false; noCreate.encrypt = false; noCreate.autoSync = true; noCreate.dataOwnership = true; + noCreate.kvStoreType = MULTI_VERSION; userId.userId = "account0"; appId.appId = "com.ohos.kvdatamanager.test"; diff --git a/services/distributeddataservice/app/src/kvstore_data_service.cpp b/services/distributeddataservice/app/src/kvstore_data_service.cpp index e04c555f9..262d86e07 100644 --- a/services/distributeddataservice/app/src/kvstore_data_service.cpp +++ b/services/distributeddataservice/app/src/kvstore_data_service.cpp @@ -117,32 +117,6 @@ void KvStoreDataService::Initialize() AccountDelegate::GetInstance()->Subscribe(accountEventObserver_); } -bool KvStoreDataService::CheckBundleName(const std::string &bundleName) const -{ - if (bundleName.empty() || bundleName.size() > MAX_APP_ID_LENGTH || - bundleName.find(Constant::KEY_SEPARATOR) != std::string::npos) { - return false; - } - - auto iter = std::find_if_not(bundleName.begin(), bundleName.end(), - [](char c) { return (std::isprint(c) && c != '/'); }); - - return (iter == bundleName.end()); -} - -bool KvStoreDataService::CheckStoreId(const std::string &storeId) const -{ - if (storeId.empty() || storeId.size() > Constant::MAX_STORE_ID_LENGTH || - storeId.find(Constant::KEY_SEPARATOR) != std::string::npos) { - return false; - } - - auto iter = std::find_if_not(storeId.begin(), storeId.end(), - [](char c) { return (std::isdigit(c) || std::isalpha(c) || c == '_'); }); - - return (iter == storeId.end()); -} - Status KvStoreDataService::GetKvStore(const Options &options, const AppId &appId, const StoreId &storeId, std::function)> callback) { @@ -194,11 +168,13 @@ Status KvStoreDataService::GetKvStore(const Options &options, const AppId &appId ZLOGD("get kvstore return status:%d, userId:[%s], bundleName:[%s].", param.status, KvStoreUtils::ToBeAnonymous(param.userId).c_str(), appId.appId.c_str()); - if (param.status != Status::SUCCESS) { - param.status = GetKvStoreFailDo(options, param, keyPara, it->second, store); + if (param.status == Status::SUCCESS) { + callback(std::move(store)); + return UpdateMetaData(options, param, keyPara.metaKey, it->second); } + param.status = GetKvStoreFailDo(options, param, keyPara, it->second, store); callback(std::move(store)); - return UpdateMetaData(options, param, keyPara.metaKey, it->second); + return param.status; } Status KvStoreDataService::GetSingleKvStore(const Options &options, const AppId &appId, const StoreId &storeId, @@ -243,17 +219,16 @@ Status KvStoreDataService::GetSingleKvStore(const Options &options, const AppId it = result.first; } sptr store; - status = (it->second).GetKvStore(options, param.bundleName, param.storeId, uid, keyPara.secretKey, store); + param.status = (it->second).GetKvStore(options, param.bundleName, param.storeId, uid, keyPara.secretKey, store); if (keyPara.outdated) { KvStoreMetaManager::GetInstance().ReKey(param.userId, param.bundleName, param.storeId, KvStoreAppManager::ConvertPathType(param.uid, param.bundleName, options.securityLevel), store); } - if (status == Status::SUCCESS) { + if (param.status == Status::SUCCESS) { callback(std::move(store)); return UpdateMetaData(options, param, keyPara.metaKey, it->second); } - param.status = status; param.status = GetSingleKvStoreFailDo(options, param, keyPara, it->second, store); callback(std::move(store)); return param.status; @@ -651,7 +626,7 @@ Status KvStoreDataService::DeleteKvStore(const AppId &appId, const StoreId &stor return Status::INVALID_ARGUMENT; } int32_t uid = IPCSkeleton::GetCallingUid(); - if (CheckerManager::GetInstance().IsValid(appId.appId, uid)) { + if (!CheckerManager::GetInstance().IsValid(appId.appId, uid)) { ZLOGE("get appId failed."); return Status::PERMISSION_DENIED; } @@ -687,7 +662,7 @@ Status KvStoreDataService::DeleteAllKvStore(const AppId &appId) } int32_t uid = IPCSkeleton::GetCallingUid(); - if (CheckerManager::GetInstance().IsValid(appId.appId, uid)) { + if (!CheckerManager::GetInstance().IsValid(appId.appId, uid)) { ZLOGE("get appId failed."); return Status::PERMISSION_DENIED; } @@ -726,7 +701,7 @@ Status KvStoreDataService::RegisterClientDeathObserver(const AppId &appId, sptr< } int32_t uid = IPCSkeleton::GetCallingUid(); - if (CheckerManager::GetInstance().IsValid(appId.appId, uid)) { + if (!CheckerManager::GetInstance().IsValid(appId.appId, uid)) { ZLOGE("no permission bundleName:%{public}s, uid:%{public}d.", appId.appId.c_str(), uid); return Status::PERMISSION_DENIED; } diff --git a/services/distributeddataservice/app/src/kvstore_data_service.h b/services/distributeddataservice/app/src/kvstore_data_service.h index 6d73fe666..26ba9cfc8 100755 --- a/services/distributeddataservice/app/src/kvstore_data_service.h +++ b/services/distributeddataservice/app/src/kvstore_data_service.h @@ -155,10 +155,6 @@ private: Status AppExit(const AppId &appId); - bool CheckBundleName(const std::string &bundleName) const; - - bool CheckStoreId(const std::string &storeId) const; - bool CheckPermissions(const std::string &userId, const std::string &appId, const std::string &storeId, const std::string &deviceId, uint8_t flag) const; void ResolveAutoLaunchParamByIdentifier(const std::string &identifier, DistributedDB::AutoLaunchParam ¶m); diff --git a/services/distributeddataservice/app/test/unittest/kvstore_backup_test.cpp b/services/distributeddataservice/app/test/unittest/kvstore_backup_test.cpp index a02b3aaac..89b2aa042 100755 --- a/services/distributeddataservice/app/test/unittest/kvstore_backup_test.cpp +++ b/services/distributeddataservice/app/test/unittest/kvstore_backup_test.cpp @@ -17,6 +17,7 @@ #include #include #include +#include "bootstrap.h" #include "checker/checker_manager.h" #include "kvstore_impl.h" #include "backup_handler.h" @@ -56,6 +57,11 @@ void KvStoreBackupTest::SetUp(void) const std::string backupDirDe = "/data/misc_de/0/mdds/0/default/backup"; unlink(backupDirDe.c_str()); mkdir(backupDirDe.c_str(), KvStoreBackupTest::DEFAULT_DIR_MODE); + KvStoreMetaManager::GetInstance().InitMetaParameter(); + Bootstrap::GetInstance().LoadComponents(); + Bootstrap::GetInstance().LoadDirectory(); + Bootstrap::GetInstance().LoadCheckers(); + Bootstrap::GetInstance().LoadNetworks(); } void KvStoreBackupTest::TearDown(void) @@ -111,7 +117,7 @@ HWTEST_F(KvStoreBackupTest, KvStoreBackupTest002, TestSize.Level1) Value value2("test2_value"); kvStorePtr->Put(key2, value2); - auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, CheckerManager::INVALID_UID); + auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, 1000); auto backupHandler = std::make_unique(); MetaData metaData{0}; metaData.kvStoreMetaData.deviceAccountId = "0"; @@ -164,7 +170,7 @@ HWTEST_F(KvStoreBackupTest, KvStoreBackupTest003, TestSize.Level1) Value value2("test2_value"); kvStorePtr->Put(key2, value2); - auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, CheckerManager::INVALID_UID); + auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, 1000); auto backupHandler = std::make_unique(); MetaData metaData{0}; metaData.kvStoreMetaData.deviceAccountId = "0"; @@ -226,7 +232,7 @@ HWTEST_F(KvStoreBackupTest, KvStoreBackupTest004, TestSize.Level1) Value value2("test2_value"); kvStorePtr->Put(key2, value2); - auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, CheckerManager::INVALID_UID); + auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, 1000); auto backupHandler = std::make_unique(); MetaData metaData{0}; metaData.kvStoreMetaData.deviceAccountId = "0"; @@ -283,7 +289,7 @@ HWTEST_F(KvStoreBackupTest, KvStoreBackupTest005, TestSize.Level1) Value value2("test2_value"); kvStorePtr->Put(key2, value2); - auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, CheckerManager::INVALID_UID); + auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, 1000); auto backupHandler = std::make_unique(); MetaData metaData{0}; metaData.kvStoreMetaData.deviceAccountId = "0"; @@ -336,7 +342,7 @@ HWTEST_F(KvStoreBackupTest, KvStoreBackupTest006, TestSize.Level1) Value value2("test2_value"); kvStorePtr->Put(key2, value2); - auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, CheckerManager::INVALID_UID); + auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, 1000); auto backupHandler = std::make_unique(); MetaData metaData{0}; metaData.kvStoreMetaData.deviceAccountId = "0"; @@ -389,7 +395,7 @@ HWTEST_F(KvStoreBackupTest, KvStoreBackupTest007, TestSize.Level1) Value value2("test2_value"); kvStorePtr->Put(key2, value2); - auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, CheckerManager::INVALID_UID); + auto trueAppId = CheckerManager::GetInstance().GetAppId(appId.appId, 1000); auto backupHandler = std::make_unique(); MetaData metaData{0}; metaData.kvStoreMetaData.deviceAccountId = "0"; diff --git a/services/distributeddataservice/app/test/unittest/kvstore_impl_logical_isolation_test.cpp b/services/distributeddataservice/app/test/unittest/kvstore_impl_logical_isolation_test.cpp index 9b48b7633..2ba27e180 100755 --- a/services/distributeddataservice/app/test/unittest/kvstore_impl_logical_isolation_test.cpp +++ b/services/distributeddataservice/app/test/unittest/kvstore_impl_logical_isolation_test.cpp @@ -16,12 +16,15 @@ #include #include #include "kvstore_data_service.h" +#include "kvstore_meta_manager.h" #include "kvstore_impl.h" #include "refbase.h" #include "types.h" +#include "bootstrap.h" #include "gtest/gtest.h" using namespace testing::ext; using namespace OHOS::DistributedKv; +using namespace OHOS::DistributedData; using namespace OHOS; namespace { @@ -74,6 +77,11 @@ void KvStoreImplLogicalIsolationTest::TearDownTestCase(void) void KvStoreImplLogicalIsolationTest::SetUp(void) { g_kvStoreDataService = sptr(new KvStoreDataService()); + KvStoreMetaManager::GetInstance().InitMetaParameter(); + Bootstrap::GetInstance().LoadComponents(); + Bootstrap::GetInstance().LoadDirectory(); + Bootstrap::GetInstance().LoadCheckers(); + Bootstrap::GetInstance().LoadNetworks(); g_kvStoreDataService->CloseAllKvStore(g_appId); g_kvStoreDataService->CloseAllKvStore(g_appId1); g_kvStoreDataService->CloseAllKvStore(g_appId2); diff --git a/services/distributeddataservice/framework/checker/checker_manager.cpp b/services/distributeddataservice/framework/checker/checker_manager.cpp index d6869475c..1b62d6510 100644 --- a/services/distributeddataservice/framework/checker/checker_manager.cpp +++ b/services/distributeddataservice/framework/checker/checker_manager.cpp @@ -53,6 +53,10 @@ void CheckerManager::RegisterPlugin(const std::string &checker, std::function Date: Wed, 9 Feb 2022 15:38:56 +0800 Subject: [PATCH 2/2] fixed ut bugs Signed-off-by: Sven Wang --- .../kvstore_impl_physical_isolation_test.cpp | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/services/distributeddataservice/app/test/unittest/kvstore_impl_physical_isolation_test.cpp b/services/distributeddataservice/app/test/unittest/kvstore_impl_physical_isolation_test.cpp index 581083b1c..c2d6e9554 100755 --- a/services/distributeddataservice/app/test/unittest/kvstore_impl_physical_isolation_test.cpp +++ b/services/distributeddataservice/app/test/unittest/kvstore_impl_physical_isolation_test.cpp @@ -17,12 +17,15 @@ #include #include "constant.h" #include "kvstore_data_service.h" +#include "kvstore_meta_manager.h" #include "kvstore_impl.h" #include "refbase.h" #include "types.h" +#include "bootstrap.h" #include "gtest/gtest.h" using namespace testing::ext; using namespace OHOS::DistributedKv; +using namespace OHOS::DistributedData; using namespace OHOS; namespace { @@ -73,6 +76,11 @@ void KvStoreImplPhysicalIsolationTest::TearDownTestCase(void) void KvStoreImplPhysicalIsolationTest::SetUp(void) { g_kvStoreDataService = sptr(new KvStoreDataService()); + KvStoreMetaManager::GetInstance().InitMetaParameter(); + Bootstrap::GetInstance().LoadComponents(); + Bootstrap::GetInstance().LoadDirectory(); + Bootstrap::GetInstance().LoadCheckers(); + Bootstrap::GetInstance().LoadNetworks(); g_kvStoreDataService->CloseAllKvStore(g_appId); g_kvStoreDataService->CloseAllKvStore(g_appId1); g_kvStoreDataService->CloseAllKvStore(g_appId2); @@ -102,7 +110,7 @@ void KvStoreImplPhysicalIsolationTest::TearDown(void) HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation001, TestSize.Level1) { const std::string storePath = Constant::Concatenate( - {Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", "0", "/", Constant::GetDefaultHarmonyAccountName(), + {Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", "0", "/", Constant::GetDefaultHarmonyAccountName(), "/"}) + std::string("phy0/store0"); sptr kvStorePtr; @@ -123,7 +131,7 @@ HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation001, TestSize.Level1 HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation002, TestSize.Level1) { const std::string deviceAccountId = "0"; - const std::string storePath = Constant::Concatenate({ Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", + const std::string storePath = Constant::Concatenate({ Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", deviceAccountId, "/", Constant::GetDefaultHarmonyAccountName(), "/" }) + std::string("phy0/store0"); sptr kvStorePtr; @@ -132,7 +140,7 @@ HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation002, TestSize.Level1 EXPECT_EQ(status, Status::SUCCESS) << "GetKvStore return wrong status"; EXPECT_NE(kvStorePtr, nullptr) << "GetKvStore execute fail!!"; EXPECT_EQ((static_cast(kvStorePtr.GetRefPtr()))->GetStorePath(), storePath) << "StorePath EQ fail"; - const std::string storePath1 = Constant::Concatenate({ Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", + const std::string storePath1 = Constant::Concatenate({ Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", deviceAccountId, "/", Constant::GetDefaultHarmonyAccountName(), "/" }) + std::string("phy0/store1"); sptr kvStorePtr1; status = g_kvStoreDataService->GetKvStore(g_defaultOptions, g_appId, g_storeId1, @@ -153,7 +161,7 @@ HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation002, TestSize.Level1 HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation003, TestSize.Level1) { const std::string deviceAccountId = "0"; - const std::string storePath = Constant::Concatenate({ Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", + const std::string storePath = Constant::Concatenate({ Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", deviceAccountId, "/", Constant::GetDefaultHarmonyAccountName(), "/" }) + std::string("phy0/store0"); sptr kvStorePtr; @@ -162,7 +170,7 @@ HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation003, TestSize.Level1 EXPECT_EQ(status, Status::SUCCESS) << "GetKvStore return wrong status"; EXPECT_NE(kvStorePtr, nullptr) << "GetKvStore execute fail!!"; EXPECT_EQ((static_cast(kvStorePtr.GetRefPtr()))->GetStorePath(), storePath) << "StorePath EQ fail"; - const std::string storePath1 = Constant::Concatenate({ Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", + const std::string storePath1 = Constant::Concatenate({ Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", deviceAccountId, "/", Constant::GetDefaultHarmonyAccountName(), "/" }) + std::string("phy1/store0"); sptr kvStorePtr1; status = g_kvStoreDataService->GetKvStore(g_defaultOptions, g_appId1, g_storeId, @@ -183,7 +191,7 @@ HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation003, TestSize.Level1 HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation004, TestSize.Level1) { const std::string deviceAccountId = "0"; - const std::string storePath = Constant::Concatenate({ Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", + const std::string storePath = Constant::Concatenate({ Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", deviceAccountId, "/", Constant::GetDefaultHarmonyAccountName(), "/" }) + std::string("phy0/store0"); sptr kvStorePtr; @@ -193,7 +201,7 @@ HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation004, TestSize.Level1 EXPECT_NE(kvStorePtr, nullptr) << "GetKvStore execute fail!!"; EXPECT_EQ((static_cast(kvStorePtr.GetRefPtr()))->GetStorePath(), storePath) << "StorePath EQ fail"; - const std::string storePath1 = Constant::Concatenate({ Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", + const std::string storePath1 = Constant::Concatenate({ Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", deviceAccountId, "/", Constant::GetDefaultHarmonyAccountName(), "/" }) + std::string("phy1/store1"); sptr kvStorePtr1; status = g_kvStoreDataService->GetKvStore(g_defaultOptions, g_appId1, g_storeId1, @@ -214,7 +222,7 @@ HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation004, TestSize.Level1 HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation005, TestSize.Level1) { const std::string storePath = Constant::Concatenate( - {Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", "0", "/", Constant::GetDefaultHarmonyAccountName(), + {Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", "0", "/", Constant::GetDefaultHarmonyAccountName(), "/"}) + std::string("phy0/store0"); sptr kvStorePtr; @@ -242,7 +250,7 @@ HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation005, TestSize.Level1 HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation006, TestSize.Level1) { const std::string storePath = Constant::Concatenate( - {Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", "0", "/", Constant::GetDefaultHarmonyAccountName(), + {Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", "0", "/", Constant::GetDefaultHarmonyAccountName(), "/"}) + std::string("phy0/store0"); sptr kvStorePtr; sptr kvStorePtr1; @@ -282,11 +290,11 @@ HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation006, TestSize.Level1 HWTEST_F(KvStoreImplPhysicalIsolationTest, PhysicalIsolation007, TestSize.Level1) { const std::string deviceAccountId = "0"; - const std::string storePath = Constant::Concatenate({ Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", + const std::string storePath = Constant::Concatenate({ Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", deviceAccountId, "/", Constant::GetDefaultHarmonyAccountName(), "/" }) + std::string("phy0/store0"); - const std::string storePath1 = Constant::Concatenate({ Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", + const std::string storePath1 = Constant::Concatenate({ Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", deviceAccountId, "/", Constant::GetDefaultHarmonyAccountName(), "/" }) + std::string("phy1/store1"); - const std::string storePath2 = Constant::Concatenate({ Constant::ROOT_PATH_CE, "/", Constant::SERVICE_NAME, "/", + const std::string storePath2 = Constant::Concatenate({ Constant::ROOT_PATH_DE, "/", Constant::SERVICE_NAME, "/", deviceAccountId, "/", Constant::GetDefaultHarmonyAccountName(), "/" }) + std::string("phy2/store2"); sptr kvStorePtr; -- Gitee