From e247fa808643b6760b1e928a4df5b7ca09afffa7 Mon Sep 17 00:00:00 2001 From: xxx Date: Tue, 14 Feb 2023 10:23:49 +0800 Subject: [PATCH] Description:modify code check Match-id-559428f79e96611d3b2102d4f818b4922c6e89e3 --- .../security_component/src/location_button.cpp | 2 +- .../sa/sa_main/sec_comp_entity.h | 2 +- .../sa/test/mock/include/iservice_registry.h | 3 +++ .../sa/test/mock/src/mock_iservice_registry.cpp | 14 ++++++++++++-- .../test/unittest/src/sec_comp_service_test.cpp | 15 +++++++++------ 5 files changed, 26 insertions(+), 10 deletions(-) diff --git a/frameworks/security_component/src/location_button.cpp b/frameworks/security_component/src/location_button.cpp index dca93c5..9e7b869 100644 --- a/frameworks/security_component/src/location_button.cpp +++ b/frameworks/security_component/src/location_button.cpp @@ -56,7 +56,7 @@ void LocationButton::FromJson(const nlohmann::json& jsonSrc) } if (jsonSrc.find(JSON_FONT_SIZE) != jsonSrc.end() && jsonSrc.at(JSON_FONT_SIZE).is_number()) { - fontSize_ = jsonSrc.at(JSON_FONT_SIZE).get(); + fontSize_ = jsonSrc.at(JSON_FONT_SIZE).get(); } if (jsonSrc.find(JSON_FONT_COLOR) != jsonSrc.end() && jsonSrc.at(JSON_FONT_COLOR).is_number()) { diff --git a/services/security_component_service/sa/sa_main/sec_comp_entity.h b/services/security_component_service/sa/sa_main/sec_comp_entity.h index d1e6a25..acd1feb 100644 --- a/services/security_component_service/sa/sa_main/sec_comp_entity.h +++ b/services/security_component_service/sa/sa_main/sec_comp_entity.h @@ -65,7 +65,7 @@ public: private: std::shared_ptr componentInfo_; - bool isGrant_; + bool isGrant_ = false; AccessToken::AccessTokenID tokenId_; int32_t scId_; }; diff --git a/services/security_component_service/sa/test/mock/include/iservice_registry.h b/services/security_component_service/sa/test/mock/include/iservice_registry.h index 0556610..8a4aa3d 100644 --- a/services/security_component_service/sa/test/mock/include/iservice_registry.h +++ b/services/security_component_service/sa/test/mock/include/iservice_registry.h @@ -24,6 +24,9 @@ public: SystemAbilityManagerClient() = default; ~SystemAbilityManagerClient() = default; + static SystemAbilityManagerClient* clientInstance; + static SystemAbilityManagerClient defaultInstance; + static std::mutex instanceMtx; MOCK_METHOD0(GetSystemAbilityManager, sptr()); }; } // namespace OHOS diff --git a/services/security_component_service/sa/test/mock/src/mock_iservice_registry.cpp b/services/security_component_service/sa/test/mock/src/mock_iservice_registry.cpp index 486e0ee..410bca5 100644 --- a/services/security_component_service/sa/test/mock/src/mock_iservice_registry.cpp +++ b/services/security_component_service/sa/test/mock/src/mock_iservice_registry.cpp @@ -16,9 +16,19 @@ #include "iservice_registry.h" namespace OHOS { +SystemAbilityManagerClient* SystemAbilityManagerClient::clientInstance = nullptr; +SystemAbilityManagerClient SystemAbilityManagerClient::defaultInstance; +std::mutex SystemAbilityManagerClient::instanceMtx; + SystemAbilityManagerClient& SystemAbilityManagerClient::GetInstance() { - static auto instance = new SystemAbilityManagerClient(); - return *instance; + std::lock_guard lock(instanceMtx); + if (clientInstance == nullptr) { + clientInstance = new (std::nothrow)SystemAbilityManagerClient(); + if (clientInstance == nullptr) { + return defaultInstance; + } + } + return *clientInstance; } } // namespace OHOS diff --git a/services/security_component_service/sa/test/unittest/src/sec_comp_service_test.cpp b/services/security_component_service/sa/test/unittest/src/sec_comp_service_test.cpp index 82355b3..2f08748 100644 --- a/services/security_component_service/sa/test/unittest/src/sec_comp_service_test.cpp +++ b/services/security_component_service/sa/test/unittest/src/sec_comp_service_test.cpp @@ -122,19 +122,21 @@ HWTEST_F(SecCompServiceTest, RegisterAppStateObserver001, TestSize.Level1) { // GetSystemAbilityManager get failed secCompService_->appStateObserver_ = nullptr; - SystemAbilityManagerClient& saClient = SystemAbilityManagerClient::GetInstance(); - EXPECT_CALL(saClient, GetSystemAbilityManager()).WillOnce(testing::Return(nullptr)); + std::shared_ptr saClient = std::make_shared(); + ASSERT_NE(saClient, nullptr); + SystemAbilityManagerClient::clientInstance = saClient.get(); + EXPECT_CALL(*saClient, GetSystemAbilityManager()).WillOnce(testing::Return(nullptr)); EXPECT_FALSE(secCompService_->RegisterAppStateObserver()); // GetSystemAbility get app mgr failed secCompService_->appStateObserver_ = nullptr; SystemAbilityManagerProxy proxy(nullptr); - EXPECT_CALL(saClient, GetSystemAbilityManager()).WillOnce(testing::Return(&proxy)); + EXPECT_CALL(*saClient, GetSystemAbilityManager()).WillOnce(testing::Return(&proxy)); EXPECT_FALSE(secCompService_->RegisterAppStateObserver()); // RegisterApplicationStateObserver failed secCompService_->appStateObserver_ = nullptr; - EXPECT_CALL(saClient, GetSystemAbilityManager()).WillOnce(testing::Return(&proxy)); + EXPECT_CALL(*saClient, GetSystemAbilityManager()).WillOnce(testing::Return(&proxy)); MockIRemoteObject object; EXPECT_CALL(proxy, GetSystemAbility(testing::_)).WillOnce(testing::Return(&object)); sptr appProxy = new (std::nothrow) MockAppMgrProxy(nullptr); @@ -145,7 +147,7 @@ HWTEST_F(SecCompServiceTest, RegisterAppStateObserver001, TestSize.Level1) // GetForegroundApplications failed secCompService_->appStateObserver_ = nullptr; - EXPECT_CALL(saClient, GetSystemAbilityManager()).WillOnce(testing::Return(&proxy)); + EXPECT_CALL(*saClient, GetSystemAbilityManager()).WillOnce(testing::Return(&proxy)); EXPECT_CALL(proxy, GetSystemAbility(testing::_)).WillOnce(testing::Return(&object)); EXPECT_CALL(*MockAppMgrProxy::g_MockAppMgrProxy, RegisterApplicationStateObserver(testing::_, testing::_)).WillOnce(testing::Return(0)); @@ -156,7 +158,7 @@ HWTEST_F(SecCompServiceTest, RegisterAppStateObserver001, TestSize.Level1) // get one foreground app secCompService_->appStateObserver_ = nullptr; - EXPECT_CALL(saClient, GetSystemAbilityManager()).WillOnce(testing::Return(&proxy)); + EXPECT_CALL(*saClient, GetSystemAbilityManager()).WillOnce(testing::Return(&proxy)); EXPECT_CALL(proxy, GetSystemAbility(testing::_)).WillOnce(testing::Return(&object)); EXPECT_CALL(*MockAppMgrProxy::g_MockAppMgrProxy, RegisterApplicationStateObserver(testing::_, testing::_)).WillOnce(testing::Return(0)); @@ -170,6 +172,7 @@ HWTEST_F(SecCompServiceTest, RegisterAppStateObserver001, TestSize.Level1) EXPECT_TRUE(secCompService_->RegisterAppStateObserver()); EXPECT_EQ(secCompService_->appStateObserver_->foregrandProcList_.size(), static_cast(1)); secCompService_->UnregisterAppStateObserver(); + SystemAbilityManagerClient::clientInstance = nullptr; } /**