diff --git a/services/distributeddataservice/service/test/BUILD.gn b/services/distributeddataservice/service/test/BUILD.gn index 17eb7340426302cdf0c8e80b132ed2413c419c32..503d6f059dc6ca683e84508cef525c94fe9145ad 100644 --- a/services/distributeddataservice/service/test/BUILD.gn +++ b/services/distributeddataservice/service/test/BUILD.gn @@ -2016,6 +2016,7 @@ group("unittest") { ":KvdbServiceImplTest", ":QueryHelperUnitTest", ":UpgradeMockTest", + ":UserDelegateMockTest", ] } diff --git a/services/distributeddataservice/service/test/user_delegate_mock_test.cpp b/services/distributeddataservice/service/test/user_delegate_mock_test.cpp index 373782b7eb6961ce8d2141fdbeba4a26b95560f7..910e17ca9873d44d1fce8bac64a61fba7b94d567 100644 --- a/services/distributeddataservice/service/test/user_delegate_mock_test.cpp +++ b/services/distributeddataservice/service/test/user_delegate_mock_test.cpp @@ -39,6 +39,13 @@ bool MetaDataManager::Subscribe(std::string prefix, Observer observer, bool isLo return false; } +bool MetaDataManager::SaveMeta(const std::string &key, const Serializable &value, bool isLocal) +{ + (void)key; + (void)value; + return true; +} + namespace OHOS::Test { namespace DistributedDataTest { class UserDelegateMockTest : public testing::Test { @@ -84,13 +91,16 @@ HWTEST_F(UserDelegateMockTest, GetLocalUserStatus, TestSize.Level0) */ HWTEST_F(UserDelegateMockTest, InitLocalUserMeta, TestSize.Level0) { - EXPECT_CALL(AccountDelegateMock::Init(), QueryUsers(_)).WillOnce(Return(false)); + EXPECT_CALL(AccountDelegateMock::Init(), QueryUsers(_)) + .Times(1) + .WillOnce(Return(false)); bool ret = UserDelegate::GetInstance().InitLocalUserMeta(); EXPECT_FALSE(ret); std::vector users; EXPECT_CALL(AccountDelegateMock::Init(), QueryUsers(_)) - .WillRepeatedly(DoAll(SetArgReferee<0>(users), Return(true))); + .Times(1) + .WillOnce(DoAll(SetArgReferee<0>(users), Return(true))); ret = UserDelegate::GetInstance().InitLocalUserMeta(); UserDelegate::GetInstance().DeleteUsers("users"); EXPECT_FALSE(ret); @@ -140,12 +150,18 @@ HWTEST_F(UserDelegateMockTest, Init, TestSize.Level0) EXPECT_CALL(AccountDelegateMock::Init(), Subscribe(_)).WillRepeatedly(Return(0)); DeviceInfo devInfo = { .uuid = "HJJ4FGAGAAGA45WF3663FAGA" }; EXPECT_CALL(*devMgrAdapterMock, GetLocalDevice()).WillRepeatedly(Return(devInfo)); - std::shared_ptr poolPtr = std::make_shared(0, 1); + std::shared_ptr poolPtr = std::make_shared(1, 0); ASSERT_NE(poolPtr, nullptr); - UserDelegate::GetInstance().executors_ = poolPtr; - ASSERT_NE(UserDelegate::GetInstance().executors_, nullptr); - UserDelegate::GetInstance().Init(poolPtr); - ASSERT_TRUE(UserDelegate::GetInstance().executors_ != nullptr); + UserDelegate instance; + instance.executors_ = poolPtr; + ASSERT_NE(instance.executors_, nullptr); + + std::vector users = {0, 1}; + EXPECT_CALL(AccountDelegateMock::Init(), QueryUsers(_)) + .WillRepeatedly(DoAll(SetArgReferee<0>(users), Return(true))); + EXPECT_TRUE(instance.InitLocalUserMeta()); + instance.Init(poolPtr); + ASSERT_TRUE(instance.executors_ != nullptr); } } } \ No newline at end of file