diff --git a/services/distributeddataservice/service/test/mock/relational_store_manager_mock.cpp b/services/distributeddataservice/service/test/mock/relational_store_manager_mock.cpp index be77dce7fe34874ceb8cb73bbc1017af0c16ea08..fa61b0cc4b968a2870c7c5be5b0201d6dd9297f7 100644 --- a/services/distributeddataservice/service/test/mock/relational_store_manager_mock.cpp +++ b/services/distributeddataservice/service/test/mock/relational_store_manager_mock.cpp @@ -21,7 +21,12 @@ namespace DistributedDB { DBStatus RelationalStoreManager::OpenStore(const std::string &path, const std::string &storeId, const RelationalStoreDelegate::Option &option, RelationalStoreDelegate *&delegate) { - delegate = std::make_shared().get(); + delegate = new (std::nothrow) MockRelationalStoreDelegate(); + if (delegate == nullptr) { + return DB_ERROR; + } + delegate->CreateDistributedTable("naturalbase_rdb_test"); + delegate->CreateDistributedTable("naturalbase_rdb_name"); if (storeId == "mock") { return OK; } @@ -30,6 +35,7 @@ DBStatus RelationalStoreManager::OpenStore(const std::string &path, const std::s DBStatus RelationalStoreManager::CloseStore(RelationalStoreDelegate *store) { + delete store; store = nullptr; return OK; } diff --git a/services/distributeddataservice/service/test/rdb_general_store_test.cpp b/services/distributeddataservice/service/test/rdb_general_store_test.cpp index 2721fe24f3eedc2c7c24f253bc6814c7a352e79e..c6f60f81f237c298ec42dfbe47bee05046d66701 100644 --- a/services/distributeddataservice/service/test/rdb_general_store_test.cpp +++ b/services/distributeddataservice/service/test/rdb_general_store_test.cpp @@ -64,6 +64,8 @@ public: { Bootstrap::GetInstance().LoadDirectory(); InitMetaData(); + store = std::make_shared(metaData_); + ASSERT_NE(store, nullptr); }; void TearDown() { @@ -73,6 +75,7 @@ public: protected: void InitMetaData(); StoreMetaData metaData_; + std::shared_ptr store; }; void RdbGeneralStoreTest::InitMetaData() @@ -103,7 +106,6 @@ public: } }; - /** * @tc.name: BindSnapshots001 * @tc.desc: RdbGeneralStore BindSnapshots test @@ -111,8 +113,6 @@ public: */ HWTEST_F(RdbGeneralStoreTest, BindSnapshots001, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); BindAssets bindAssets; auto result = store->BindSnapshots(bindAssets.bindAssets); EXPECT_EQ(result, GeneralError::E_OK); @@ -143,8 +143,6 @@ HWTEST_F(RdbGeneralStoreTest, BindSnapshots002, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Bind001, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); DistributedData::Database database; GeneralStore::CloudConfig config; std::map bindInfos; @@ -187,8 +185,6 @@ HWTEST_F(RdbGeneralStoreTest, Bind001, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Bind002, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); DistributedData::Database database; std::map bindInfos; std::shared_ptr db = std::make_shared(); @@ -213,8 +209,6 @@ HWTEST_F(RdbGeneralStoreTest, Bind002, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Bind003, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); DistributedData::Database database; std::map bindInfos; @@ -238,8 +232,6 @@ HWTEST_F(RdbGeneralStoreTest, Bind003, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Close, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); auto result = store->IsBound(std::atoi(metaData_.user.c_str())); EXPECT_EQ(result, false); EXPECT_EQ(store->delegate_, nullptr); @@ -280,8 +272,6 @@ HWTEST_F(RdbGeneralStoreTest, BusyClose, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Execute, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string table = "table"; std::string sql = "sql"; EXPECT_EQ(store->delegate_, nullptr); @@ -304,8 +294,6 @@ HWTEST_F(RdbGeneralStoreTest, Execute, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, SqlConcatenate, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); DistributedData::VBucket value; std::string strColumnSql = "strColumnSql"; std::string strRowValueSql = "strRowValueSql"; @@ -328,8 +316,6 @@ HWTEST_F(RdbGeneralStoreTest, SqlConcatenate, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Insert001, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); DistributedData::VBuckets values; EXPECT_EQ(values.size(), 0); std::string table = "table"; @@ -360,8 +346,6 @@ HWTEST_F(RdbGeneralStoreTest, Insert001, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Insert002, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string table = "table"; DistributedData::VBuckets extends = { { g_RdbVBucket } }; auto result = store->Insert(table, std::move(extends)); @@ -391,8 +375,6 @@ HWTEST_F(RdbGeneralStoreTest, Insert002, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Update, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string table = "table"; std::string setSql = "setSql"; RdbGeneralStore::Values values; @@ -431,8 +413,6 @@ HWTEST_F(RdbGeneralStoreTest, Update, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Replace, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string table = "table"; RdbGeneralStore::VBucket values; auto result = store->Replace("", std::move(g_RdbVBucket)); @@ -459,8 +439,6 @@ HWTEST_F(RdbGeneralStoreTest, Replace, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Delete, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string table = "table"; std::string sql = "sql"; auto result = store->Delete(table, sql, std::move(g_RdbValues)); @@ -474,8 +452,6 @@ HWTEST_F(RdbGeneralStoreTest, Delete, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Query001, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string table = "table"; std::string sql = "sql"; auto [err1, result1] = store->Query(table, sql, std::move(g_RdbValues)); @@ -495,8 +471,6 @@ HWTEST_F(RdbGeneralStoreTest, Query001, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Query002, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string table = "table"; std::string sql = "sql"; MockQuery query; @@ -518,7 +492,7 @@ HWTEST_F(RdbGeneralStoreTest, Query002, TestSize.Level1) HWTEST_F(RdbGeneralStoreTest, Query003, TestSize.Level1) { metaData_.storeId = "mock"; - auto store = std::make_shared(metaData_); + store = std::make_shared(metaData_); ASSERT_NE(store, nullptr); MockQuery query; @@ -538,9 +512,6 @@ HWTEST_F(RdbGeneralStoreTest, Query003, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Query004, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); - MockQuery query; const std::string devices = "device1"; const std::string sql; @@ -565,8 +536,6 @@ HWTEST_F(RdbGeneralStoreTest, Query004, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, MergeMigratedData, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string tableName = "tableName"; DistributedData::VBuckets extends = { { g_RdbVBucket } }; auto result = store->MergeMigratedData(tableName, std::move(extends)); @@ -585,8 +554,6 @@ HWTEST_F(RdbGeneralStoreTest, MergeMigratedData, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Sync, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); GeneralStore::Devices devices; MockQuery query; GeneralStore::DetailAsync async; @@ -607,8 +574,6 @@ HWTEST_F(RdbGeneralStoreTest, Sync, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Sync001, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); GeneralStore::Devices devices; MockQuery query; GeneralStore::DetailAsync async; @@ -635,16 +600,13 @@ HWTEST_F(RdbGeneralStoreTest, Sync001, TestSize.Level1) HWTEST_F(RdbGeneralStoreTest, Sync002, TestSize.Level1) { metaData_.storeId = "mock"; - auto store = std::make_shared(metaData_); + store = std::make_shared(metaData_); ASSERT_NE(store, nullptr); + GeneralStore::Devices devices; RdbQuery query; GeneralStore::DetailAsync async; SyncParam syncParam; - MockRelationalStoreDelegate mockDelegate; - mockDelegate.CreateDistributedTable("naturalbase_rdb_test"); - mockDelegate.CreateDistributedTable("naturalbase_rdb_name"); - store->delegate_ = &mockDelegate; auto [result1, result2] = store->Sync(devices, query, async, syncParam); EXPECT_EQ(result1, GeneralError::E_OK); } @@ -656,8 +618,6 @@ HWTEST_F(RdbGeneralStoreTest, Sync002, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, PreSharing, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); MockQuery query; auto [errCode, result] = store->PreSharing(query); EXPECT_NE(errCode, GeneralError::E_OK); @@ -671,8 +631,6 @@ HWTEST_F(RdbGeneralStoreTest, PreSharing, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, PreSharing001, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); MockQuery query; query.lastResult = true; auto [errCode, result] = store->PreSharing(query); @@ -687,8 +645,6 @@ HWTEST_F(RdbGeneralStoreTest, PreSharing001, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, PreSharing002, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); MockQuery query; DistributedRdb::PredicatesMemo predicates; predicates.devices_ = { "device1" }; @@ -708,7 +664,7 @@ HWTEST_F(RdbGeneralStoreTest, PreSharing002, TestSize.Level1) HWTEST_F(RdbGeneralStoreTest, PreSharing003, TestSize.Level1) { metaData_.storeId = "mock"; - auto store = std::make_shared(metaData_); + store = std::make_shared(metaData_); ASSERT_NE(store, nullptr); MockQuery query; DistributedRdb::PredicatesMemo predicates; @@ -728,8 +684,6 @@ HWTEST_F(RdbGeneralStoreTest, PreSharing003, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, ExtractExtend, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); RdbGeneralStore::VBucket extend = { { "#gid", { "0000000" } }, { "#flag", { true } }, { "#value", { int64_t(100) } }, { "#float", { double(100) } }, { "#cloud_gid", { "cloud_gid" } }, { "cloud_gid", { "" } } }; @@ -748,8 +702,6 @@ HWTEST_F(RdbGeneralStoreTest, ExtractExtend, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Clean, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string tableName = "tableName"; std::vector devices = { "device1", "device2" }; auto result = store->Clean(devices, -1, tableName); @@ -787,8 +739,6 @@ HWTEST_F(RdbGeneralStoreTest, Clean, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, Watch, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); MockGeneralWatcher watcher; auto result = store->Watch(GeneralWatcher::Origin::ORIGIN_CLOUD, watcher); EXPECT_EQ(result, GeneralError::E_INVALID_ARGS); @@ -813,8 +763,6 @@ HWTEST_F(RdbGeneralStoreTest, Watch, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, OnChange, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); MockGeneralWatcher watcher; MockStoreChangedData data; DistributedDB::ChangedData changedData; @@ -835,8 +783,6 @@ HWTEST_F(RdbGeneralStoreTest, OnChange, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, OnChange001, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); MockGeneralWatcher watcher; MockStoreChangedData data; DistributedDB::ChangedData changedData; @@ -868,7 +814,7 @@ HWTEST_F(RdbGeneralStoreTest, OnChange001, TestSize.Level1) store->observer_.OnChange(DistributedDB::Origin::ORIGIN_CLOUD, "originalId", std::move(changedData)); EXPECT_EQ(watcher.primaryFields_[changedDataTmp.tableName], *(changedDataTmp.field.begin())); store->observer_.OnChange(DistributedDB::Origin::ORIGIN_LOCAL, "originalId", std::move(changedDataTmp)); - EXPECT_NE(watcher.origin_.id.size(), 0); + ASSERT_NE(watcher.origin_.id.size(), 0); EXPECT_EQ(watcher.origin_.id[0], "originalId"); result = store->Unwatch(GeneralWatcher::Origin::ORIGIN_ALL, watcher); EXPECT_EQ(result, GeneralError::E_OK); @@ -907,16 +853,14 @@ HWTEST_F(RdbGeneralStoreTest, Release, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, SetDistributedTables, TestSize.Level1) { - auto store = new (std::nothrow) RdbGeneralStore(metaData_); - ASSERT_NE(store, nullptr); std::vector tables = { "table1", "table2" }; int32_t type = 0; std::vector references; auto result = store->SetDistributedTables(tables, type, references); EXPECT_EQ(result, GeneralError::E_ALREADY_CLOSED); - MockRelationalStoreDelegate mockDelegate; - store->delegate_ = &mockDelegate; + metaData_.storeId = "mock"; + store = std::make_shared(metaData_); result = store->SetDistributedTables(tables, type, references); EXPECT_EQ(result, GeneralError::E_OK); @@ -935,16 +879,14 @@ HWTEST_F(RdbGeneralStoreTest, SetDistributedTables, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, SetTrackerTable, TestSize.Level1) { - auto store = new (std::nothrow) RdbGeneralStore(metaData_); - ASSERT_NE(store, nullptr); std::string tableName = "tableName"; std::set trackerColNames = { "col1", "col2" }; std::set extendColNames = { "extendColName1", "extendColName2" }; auto result = store->SetTrackerTable(tableName, trackerColNames, extendColNames); EXPECT_EQ(result, GeneralError::E_ALREADY_CLOSED); - MockRelationalStoreDelegate mockDelegate; - store->delegate_ = &mockDelegate; + metaData_.storeId = "mock"; + store = std::make_shared(metaData_); result = store->SetTrackerTable(tableName, trackerColNames, extendColNames); EXPECT_EQ(result, GeneralError::E_OK); result = store->SetTrackerTable("WITH_INVENTORY_DATA", trackerColNames, extendColNames); @@ -960,8 +902,6 @@ HWTEST_F(RdbGeneralStoreTest, SetTrackerTable, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, RemoteQuery, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string device = "device"; DistributedDB::RemoteCondition remoteCondition; metaData_.storeId = "mock"; @@ -979,8 +919,6 @@ HWTEST_F(RdbGeneralStoreTest, RemoteQuery, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, ConvertStatus, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); auto result = store->ConvertStatus(DBStatus::OK); EXPECT_EQ(result, GeneralError::E_OK); result = store->ConvertStatus(DBStatus::CLOUD_NETWORK_ERROR); @@ -1009,7 +947,7 @@ HWTEST_F(RdbGeneralStoreTest, ConvertStatus, TestSize.Level1) HWTEST_F(RdbGeneralStoreTest, QuerySql, TestSize.Level1) { metaData_.storeId = "mock"; - auto store = std::make_shared(metaData_); + store = std::make_shared(metaData_); ASSERT_NE(store, nullptr); auto [err1, result1] = store->QuerySql("", std::move(g_RdbValues)); EXPECT_EQ(err1, GeneralError::E_ERROR); @@ -1027,8 +965,6 @@ HWTEST_F(RdbGeneralStoreTest, QuerySql, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, BuildSqlWhenCloumnEmpty, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string table = "mock_table"; std::string statement = "mock_statement"; std::vector columns; @@ -1045,8 +981,6 @@ HWTEST_F(RdbGeneralStoreTest, BuildSqlWhenCloumnEmpty, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, BuildSqlWhenParamValid, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); std::string table = "mock_table"; std::string statement = "mock_statement"; std::vector columns; @@ -1066,8 +1000,6 @@ HWTEST_F(RdbGeneralStoreTest, BuildSqlWhenParamValid, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, LockAndUnLockCloudDBTest, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); auto result = store->LockCloudDB(); EXPECT_EQ(result.first, 1); EXPECT_EQ(result.second, 0); @@ -1082,8 +1014,6 @@ HWTEST_F(RdbGeneralStoreTest, LockAndUnLockCloudDBTest, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, InFinishedTest, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); DistributedRdb::RdbGeneralStore::SyncId syncId = 1; bool isFinished = store->IsFinished(syncId); EXPECT_TRUE(isFinished); @@ -1096,8 +1026,6 @@ HWTEST_F(RdbGeneralStoreTest, InFinishedTest, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, GetRdbCloudTest, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); auto rdbCloud = store->GetRdbCloud(); EXPECT_EQ(rdbCloud, nullptr); } @@ -1109,8 +1037,6 @@ HWTEST_F(RdbGeneralStoreTest, GetRdbCloudTest, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, RegisterDetailProgressObserverTest, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); DistributedData::GeneralStore::DetailAsync async; auto result = store->RegisterDetailProgressObserver(async); EXPECT_EQ(result, GeneralError::E_OK); @@ -1123,8 +1049,6 @@ HWTEST_F(RdbGeneralStoreTest, RegisterDetailProgressObserverTest, TestSize.Level */ HWTEST_F(RdbGeneralStoreTest, GetFinishTaskTest, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); DistributedRdb::RdbGeneralStore::SyncId syncId = 1; auto result = store->GetFinishTask(syncId); ASSERT_NE(result, nullptr); @@ -1137,8 +1061,6 @@ HWTEST_F(RdbGeneralStoreTest, GetFinishTaskTest, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, GetCBTest, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); DistributedRdb::RdbGeneralStore::SyncId syncId = 1; auto result = store->GetCB(syncId); ASSERT_NE(result, nullptr); @@ -1151,8 +1073,6 @@ HWTEST_F(RdbGeneralStoreTest, GetCBTest, TestSize.Level1) */ HWTEST_F(RdbGeneralStoreTest, UpdateDBStatus, TestSize.Level1) { - auto store = std::make_shared(metaData_); - ASSERT_NE(store, nullptr); auto result = store->UpdateDBStatus(); EXPECT_EQ(result, E_ALREADY_CLOSED); metaData_.storeId = "mock";