diff --git a/window_scene/test/unittest/mock_session_manager_service_test.cpp b/window_scene/test/unittest/mock_session_manager_service_test.cpp index 87d5b75d9b494476b3aa889a0334aed10236ae24..849e7e95a799e5707b968b4684af1828433fe00b 100644 --- a/window_scene/test/unittest/mock_session_manager_service_test.cpp +++ b/window_scene/test/unittest/mock_session_manager_service_test.cpp @@ -13,7 +13,12 @@ * limitations under the License. */ + +#define private public +#define protected public #include "mock_session_manager_service.h" +#undef private +#undef protected #include #include @@ -22,7 +27,7 @@ #include "scene_session_manager.h" #include "session_manager_service_proxy.h" -#include "../mock/mock_accesstoken_kit.h" +#include "mock_accesstoken_kit.h" #include "wm_common.h" using namespace testing; @@ -268,6 +273,15 @@ HWTEST(MockSessionManagerServiceTest, UnregisterSMSRecoverListener, TestSize.Lev ErrCode resultCode = mockMockSms.UnregisterSMSRecoverListener(userId); EXPECT_EQ(resultCode, ERR_OK); + EXPECT_CALL(mockMockSms, GetUserIdByCallingUid()) + .Times(1) + .WillOnce(Return(0)); + std::map> systemAppSmsRecoverListenerMap; + systemAppSmsRecoverListenerMap[999090] = nullptr; + mockMockSms.systemAppSmsRecoverListenerMap_[0] = systemAppSmsRecoverListenerMap; + resultCode = mockMockSms.UnregisterSMSRecoverListener(userId); + EXPECT_EQ(resultCode, ERR_OK); + // 2.Mock GetUserIdByCallingUid() 返回系统用户id 0 EXPECT_CALL(mockMockSms, GetUserIdByCallingUid()) .Times(1) @@ -343,6 +357,15 @@ HWTEST(MockSessionManagerServiceTest, UnregisterSMSLiteRecoverListener, TestSize ErrCode resultCode = mockMockSms.UnregisterSMSLiteRecoverListener(userId); EXPECT_EQ(resultCode, ERR_OK); + std::map> systemAppSmsLiteRecoverListenerMap; + systemAppSmsLiteRecoverListenerMap[999090] = nullptr; + mockMockSms.systemAppSmsLiteRecoverListenerMap_[0] = systemAppSmsLiteRecoverListenerMap; + EXPECT_CALL(mockMockSms, GetUserIdByCallingUid()) + .Times(1) + .WillOnce(Return(0)); + resultCode = mockMockSms.UnregisterSMSLiteRecoverListener(userId); + EXPECT_EQ(resultCode, ERR_OK); + // 2.Mock GetUserIdByCallingUid() 返回系统用户id 0 EXPECT_CALL(mockMockSms, GetUserIdByCallingUid()) .Times(1) @@ -405,6 +428,18 @@ HWTEST(MockSessionManagerServiceTest, NotifySceneBoardAvailableToSystemAppClient int32_t userId = 100; MockMockSessionManagerService mockMockSms; mockMockSms.NotifySceneBoardAvailableToSystemAppClient(userId); + + mockMockSms.userId2ScreenIdMap_[100] = 0; + std::map> systemAppSmsRecoverListenerMap; + systemAppSmsRecoverListenerMap[999090] = nullptr; + mockMockSms.systemAppSmsRecoverListenerMap_[0] = systemAppSmsRecoverListenerMap; + mockMockSms.NotifySceneBoardAvailableToSystemAppClient(userId); + + mockMockSms.sessionManagerServiceMap_[100] = sptr::MakeSptr(); + sptr mockRemoteObject = sptr::MakeSptr(); + systemAppSmsRecoverListenerMap[999090] = iface_cast(mockRemoteObject); + mockMockSms.systemAppSmsRecoverListenerMap_[0] = systemAppSmsRecoverListenerMap; + mockMockSms.NotifySceneBoardAvailableToSystemAppClient(userId); } /** @@ -417,6 +452,17 @@ HWTEST(MockSessionManagerServiceTest, NotifySceneBoardAvailableToClient, TestSiz int32_t userId = 100; MockMockSessionManagerService mockMockSms; mockMockSms.NotifySceneBoardAvailableToClient(userId); + + std::map> smsRecoverListenerMap; + smsRecoverListenerMap[999090] = nullptr; + mockMockSms.smsRecoverListenerMap_[0] = smsRecoverListenerMap; + mockMockSms.NotifySceneBoardAvailableToClient(userId); + + mockMockSms.sessionManagerServiceMap_[100] = sptr::MakeSptr(); + sptr mockRemoteObject = sptr::MakeSptr(); + smsRecoverListenerMap[999090] = iface_cast(mockRemoteObject); + mockMockSms.smsRecoverListenerMap_[0] = smsRecoverListenerMap; + mockMockSms.NotifySceneBoardAvailableToClient(userId); } /** @@ -429,6 +475,18 @@ HWTEST(MockSessionManagerServiceTest, NotifySceneBoardAvailableToSystemAppLiteCl int32_t userId = 100; MockMockSessionManagerService mockMockSms; mockMockSms.NotifySceneBoardAvailableToSystemAppLiteClient(userId); + + mockMockSms.userId2ScreenIdMap_[100] = 0; + std::map> systemAppSmsLiteRecoverListenerMap; + systemAppSmsLiteRecoverListenerMap[999090] = nullptr; + mockMockSms.systemAppSmsLiteRecoverListenerMap_[0] = systemAppSmsLiteRecoverListenerMap; + mockMockSms.NotifySceneBoardAvailableToSystemAppLiteClient(userId); + + mockMockSms.sessionManagerServiceMap_[100] = sptr::MakeSptr(); + sptr mockRemoteObject = sptr::MakeSptr(); + systemAppSmsRecoverListenerMap[999090] = iface_cast(mockRemoteObject); + mockMockSms.systemAppSmsLiteRecoverListenerMap_[0] = systemAppSmsLiteRecoverListenerMap; + mockMockSms.NotifySceneBoardAvailableToSystemAppLiteClient(userId); } /** @@ -441,6 +499,17 @@ HWTEST(MockSessionManagerServiceTest, NotifySceneBoardAvailableToLiteClient, Tes int32_t userId = 100; MockMockSessionManagerService mockMockSms; mockMockSms.NotifySceneBoardAvailableToLiteClient(userId); + + std::map> smsLiteRecoverListenerMap; + smsLiteRecoverListenerMap[999090] = nullptr; + mockMockSms.smsLiteRecoverListenerMap_[0] = smsLiteRecoverListenerMap; + mockMockSms.NotifySceneBoardAvailableToLiteClient(userId); + + mockMockSms.sessionManagerServiceMap_[100] = sptr::MakeSptr(); + sptr mockRemoteObject = sptr::MakeSptr(); + smsLiteRecoverListenerMap[999090] = iface_cast(mockRemoteObject); + mockMockSms.smsLiteRecoverListenerMap_[0] = smsLiteRecoverListenerMap; + mockMockSms.NotifySceneBoardAvailableToLiteClient(userId); } /** @@ -469,6 +538,18 @@ HWTEST(MockSessionManagerServiceTest, NotifyWMSConnectionChangedToClient, TestSi bool isConnnected = true; MockMockSessionManagerService mockMockSms; mockMockSms.NotifyWMSConnectionChangedToClient(wmsUserId, screenId, isConnnected); + + mockMockSms.userId2ScreenIdMap_[100] = 0; + std::map> systemAppSmsRecoverListenerMap; + systemAppSmsRecoverListenerMap[999090] = nullptr; + mockMockSms.systemAppSmsRecoverListenerMap_[0] = systemAppSmsRecoverListenerMap; + mockMockSms.NotifyWMSConnectionChangedToClient(wmsUserId, screenId, isConnnected); + + mockMockSms.sessionManagerServiceMap_[100] = sptr::MakeSptr(); + sptr mockRemoteObject = sptr::MakeSptr(); + systemAppSmsRecoverListenerMap[999090] = iface_cast(mockRemoteObject); + mockMockSms.systemAppSmsRecoverListenerMap_[0] = systemAppSmsRecoverListenerMap; + mockMockSms.NotifyWMSConnectionChangedToClient(wmsUserId, screenId, isConnnected); } /** @@ -483,6 +564,18 @@ HWTEST(MockSessionManagerServiceTest, NotifyWMSConnectionChangedToLiteClient, Te bool isConnnected = true; MockMockSessionManagerService mockMockSms; mockMockSms.NotifyWMSConnectionChangedToLiteClient(wmsUserId, screenId, isConnnected); + + mockMockSms.userId2ScreenIdMap_[100] = 0; + std::map> systemAppSmsLiteRecoverListenerMap; + systemAppSmsLiteRecoverListenerMap[999090] = nullptr; + mockMockSms.systemAppSmsLiteRecoverListenerMap_[0] = systemAppSmsLiteRecoverListenerMap; + mockMockSms.NotifyWMSConnectionChangedToLiteClient(wmsUserId, screenId, isConnnected); + + mockMockSms.sessionManagerServiceMap_[100] = sptr::MakeSptr(); + sptr mockRemoteObject = sptr::MakeSptr(); + systemAppSmsLiteRecoverListenerMap[999090] = iface_cast(mockRemoteObject); + mockMockSms.systemAppSmsLiteRecoverListenerMap_[0] = systemAppSmsLiteRecoverListenerMap; + mockMockSms.NotifyWMSConnectionChangedToLiteClient(wmsUserId, screenId, isConnnected); } /** @@ -517,6 +610,55 @@ HWTEST(MockSessionManagerServiceTest, GetSceneSessionManagerCommon, TestSize.Lev resultCode = mockMockSms.GetSceneSessionManagerCommon(99999, result, isLite); EXPECT_EQ(resultCode, ERR_INVALID_VALUE); } + +/** + * @tc.name: DefaultSceneSessionManager + * @tc.desc: test the function of DefaultSceneSessionManager + * @tc.type: FUNC + */ +HWTEST(MockSessionManagerServiceTest, DefaultSceneSessionManager, TestSize.Level1) +{ + MockMockSessionManagerService mockMockSms; + mockMockSms.defaultWMSUserId_ = 100; + mockMockSms.sessionManagerServiceMap_[100] = sptr::MakeSptr(); + mockMockSms.defaultSceneSessionManager_ = sptr::MakeSptr(); + + std::vector args = {"arg1"}; + std::string info = "info"; + std::string& dumpInfo = info; + mockMockSms.DumpSessionInfo(args, dumpInfo); + std::vector windowIdList = {111, 222}; + std::vector surfaceNodeIds = {111, 222}; + std::vector persistentIds = {111, 222}; + std::vector privacyWindowTags = {"tag1", "tag2"}; + mockMockSms.GetProcessSurfaceNodeIdByPersistentId(123, windowIdList, surfaceNodeIds); + mockMockSms.AddSkipSelfWhenShowOnVirtualScreenList(persistentIds); + mockMockSms.RemoveSkipSelfWhenShowOnVirtualScreenList(persistentIds); + mockMockSms.SetScreenPrivacyWindowTagSwitch(0, privacyWindowTags, false); +} + +/** + * @tc.name: NotifyWMSConnectionStatus + * @tc.desc: test the function of NotifyWMSConnectionStatus + * @tc.type: FUNC + */ +HWTEST(MockSessionManagerServiceTest, NotifyWMSConnectionStatus, TestSize.Level1) +{ + MockMockSessionManagerService mockMockSms; + int32_t userId = 100; + mockMockSms.wmsConnectionStatusMap_[userId] = true; + + sptr mockRemoteObject = sptr::MakeSptr(); + sptr smsListener = + iface_cast(mockRemoteObject); + ErrCode errCode = mockMockSms.NotifyWMSConnectionStatus(userId, smsListener); + EXPECT_EQ(resultCode, ERR_DEAD_OBJECT); + + mockMockSms.sessionManagerServiceMap_[userId] = sptr::MakeSptr<(); + mockMockSms.userId2ScreenIdMap_[userId] = 0; + errCode = mockMockSms.NotifyWMSConnectionStatus(userId, smsListener); + EXPECT_EQ(resultCode, ERR_OK); +} } // namespace } // namespace Rosen } // namespace OHOS \ No newline at end of file