diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/include/dscreen_test.h b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/include/dscreen_test.h index 22fd20c9705c6d80cea507070e5108c6f3abedcc..10a0a29bf9db6e51f2d227645ed2031792f48e45 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/include/dscreen_test.h +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/include/dscreen_test.h @@ -32,6 +32,7 @@ public: void SetUp(); void TearDown(); std::shared_ptr dScreen_ = nullptr; + uint64_t tokenId_; }; } // namespace V1_0 } // namespace DistributedHardware diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/include/screen_manager_adapter_test.h b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/include/screen_manager_adapter_test.h index 1f6b5d5cbecba90b736b4a89bc76bf162b32f30a..c7486195459821071e9524f72e67e96f95f2c356 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/include/screen_manager_adapter_test.h +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/include/screen_manager_adapter_test.h @@ -29,6 +29,7 @@ public: static void TearDownTestCase(void); void SetUp(); void TearDown(); + uint64_t tokenId_; }; class MockScreenGroupListener : public Rosen::ScreenManager::IScreenGroupListener { diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_test.cpp b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_test.cpp index 4e97a7b44e494c8068b4173de8468e844a113d58..0401884a2e5db276b23c11695f4611c6b2e46eae 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_test.cpp +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_test.cpp @@ -17,7 +17,6 @@ #include "accesstoken_kit.h" #include "nativetoken_kit.h" #include "token_setproc.h" -#include "softbus_common.h" #define private public #include "dscreen_constants.h" @@ -59,12 +58,11 @@ void DScreenTestV1::SetUp(void) void DScreenTestV1::TearDown(void) {} -void NativeTokenGet(const char* perms[], int size) +void EnablePermissionAccess(const char* perms[], size_t permsNum, uint64_t &tokenId) { - uint64_t tokenId; NativeTokenInfoParams infoInstance = { .dcapsNum = 0, - .permsNum = size, + .permsNum = permsNum, .aclsNum = 0, .dcaps = nullptr, .perms = perms, @@ -78,18 +76,9 @@ void NativeTokenGet(const char* perms[], int size) OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); } -void EnablePermissionAccess() +void DisablePermissionAccess(const uint64_t &tokenId) { - const char* perms[] = { - "ohos.permission.DISTRIBUTED_DATASYNC", - "ohos.permission.CAPTURE_SCREEN", - }; - NativeTokenGet(perms, 2); // 2 is the size of an array composed of the required permissions. -} - -void DisablePermissionAccess() -{ - NativeTokenGet(nullptr, 0); // empty permission array. + OHOS::Security::AccessToken::AccessTokenKit::DeleteToken(tokenId); } /** @@ -358,7 +347,11 @@ HWTEST_F(DScreenTestV1, NegotiateCodecType_002, TestSize.Level1) */ HWTEST_F(DScreenTestV1, SetUp_001, TestSize.Level1) { - EnablePermissionAccess(); + const char* perms[] = { + "ohos.permission.DISTRIBUTED_DATASYNC", + "ohos.permission.CAPTURE_SCREEN", + }; + EnablePermissionAccess(perms, sizeof(perms) / sizeof(perms[0]), tokenId_); dScreen_->sourceTrans_ = nullptr; dScreen_->videoParam_ = std::make_shared(); dScreen_->videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H264); @@ -370,7 +363,7 @@ HWTEST_F(DScreenTestV1, SetUp_001, TestSize.Level1) dScreen_->version_ = "1.0"; int32_t ret = dScreen_->SetUp(); EXPECT_EQ(DH_SUCCESS, ret); - DisablePermissionAccess(); + DisablePermissionAccess(tokenId_); } /** @@ -381,7 +374,11 @@ HWTEST_F(DScreenTestV1, SetUp_001, TestSize.Level1) */ HWTEST_F(DScreenTestV1, SetUp_002, TestSize.Level1) { - EnablePermissionAccess(); + const char* perms[] = { + "ohos.permission.DISTRIBUTED_DATASYNC", + "ohos.permission.CAPTURE_SCREEN", + }; + EnablePermissionAccess(perms, sizeof(perms) / sizeof(perms[0]), tokenId_); dScreen_->sourceTrans_ = std::make_shared(); dScreen_->videoParam_ = std::make_shared(); dScreen_->videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H264); @@ -392,8 +389,8 @@ HWTEST_F(DScreenTestV1, SetUp_002, TestSize.Level1) dScreen_->videoParam_->SetScreenWidth(100); dScreen_->version_ = "1.0"; int32_t ret = dScreen_->SetUp(); - EXPECT_EQ(ERR_DH_SCREEN_ADAPTER_REGISTER_SOFTBUS_LISTENER_FAIL, ret); - DisablePermissionAccess(); + EXPECT_EQ(DH_SUCCESS, ret); + DisablePermissionAccess(tokenId_); } /** diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/screen_manager_adapter_test.cpp b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/screen_manager_adapter_test.cpp index 2545eb153eae75fcddbd964ac72887786d5f740c..d36d7a965d6b7a5fd8206dacc788611f36b9ebfb 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/screen_manager_adapter_test.cpp +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/screen_manager_adapter_test.cpp @@ -22,6 +22,9 @@ #include "dscreen_errcode.h" #include "dscreen_util.h" #include "video_param.h" +#include "accesstoken_kit.h" +#include "nativetoken_kit.h" +#include "token_setproc.h" using namespace testing; using namespace testing::ext; @@ -36,6 +39,29 @@ void DScreenManagerAdapterTest::SetUp(void) {} void DScreenManagerAdapterTest::TearDown(void) {} +void EnablePermissionAccess(const char* perms[], size_t permsNum, uint64_t &tokenId) +{ + NativeTokenInfoParams infoInstance = { + .dcapsNum = 0, + .permsNum = permsNum, + .aclsNum = 0, + .dcaps = nullptr, + .perms = perms, + .acls = nullptr, + .aplStr = "system_basic", + }; + + infoInstance.processName = "DscreenMgrTest"; + tokenId = GetAccessTokenId(&infoInstance); + SetSelfTokenID(tokenId); + OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); +} + +void DisablePermissionAccess(const uint64_t &tokenId) +{ + OHOS::Security::AccessToken::AccessTokenKit::DeleteToken(tokenId); +} + /** * @tc.name: CreateVirtualScreen_001 * @tc.desc: Verify the CreateVirtualScreen function failed. @@ -220,12 +246,18 @@ HWTEST_F(DScreenManagerAdapterTest, GetMapRelation_001, TestSize.Level1) */ HWTEST_F(DScreenManagerAdapterTest, GetMapRelation_002, TestSize.Level1) { + const char* perms[] = { + "ohos.permission.DISTRIBUTED_DATASYNC", + "ohos.permission.CAPTURE_SCREEN", + }; + EnablePermissionAccess(perms, sizeof(perms) / sizeof(perms[0]), tokenId_); std::string devId = "devId"; std::string dhId = "dhId"; ScreenMgrAdapter::GetInstance().screenIdMap_.clear(); std::shared_ptr videoParam = std::make_shared(); uint64_t screenId = ScreenMgrAdapter::GetInstance().CreateVirtualScreen(devId, dhId, videoParam); std::shared_ptr ret = ScreenMgrAdapter::GetInstance().GetMapRelation(screenId); + DisablePermissionAccess(tokenId_); EXPECT_NE(nullptr, ret); } } diff --git a/services/screentransport/test/unittest/screendatachannel/include/screen_data_channel_impl_test.h b/services/screentransport/test/unittest/screendatachannel/include/screen_data_channel_impl_test.h index c2bdc60f9d9bd4665e1d84d7ac533689206f79fb..894a4089ca7ad6217a60b00a3f022537506f54e6 100644 --- a/services/screentransport/test/unittest/screendatachannel/include/screen_data_channel_impl_test.h +++ b/services/screentransport/test/unittest/screendatachannel/include/screen_data_channel_impl_test.h @@ -37,6 +37,7 @@ public: void SetUp(); void TearDown(); std::shared_ptr dataChannelImpl_ = nullptr; + uint64_t tokenId_; }; } // namespace DistributedHardware } // namespace OHOS diff --git a/services/screentransport/test/unittest/screendatachannel/src/screen_data_channel_impl_test.cpp b/services/screentransport/test/unittest/screendatachannel/src/screen_data_channel_impl_test.cpp index c2e5c8c0cd34d57fb04ecd2cd0c96c5fb7337b88..7152b3ba7d8793415b98d4d5525fdba73ede4ea4 100644 --- a/services/screentransport/test/unittest/screendatachannel/src/screen_data_channel_impl_test.cpp +++ b/services/screentransport/test/unittest/screendatachannel/src/screen_data_channel_impl_test.cpp @@ -21,7 +21,6 @@ #include "accesstoken_kit.h" #include "nativetoken_kit.h" #include "token_setproc.h" -#include "softbus_common.h" using namespace testing; using namespace testing::ext; @@ -43,12 +42,11 @@ void ScreenDataChannelImplTest::TearDown(void) dataChannelImpl_ = nullptr; } -void NativeTokenGet(const char* perms[], int size) +void EnablePermissionAccess(const char* perms[], size_t permsNum, uint64_t &tokenId) { - uint64_t tokenId; NativeTokenInfoParams infoInstance = { .dcapsNum = 0, - .permsNum = size, + .permsNum = permsNum, .aclsNum = 0, .dcaps = nullptr, .perms = perms, @@ -62,18 +60,9 @@ void NativeTokenGet(const char* perms[], int size) OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); } -void EnablePermissionAccess() +void DisablePermissionAccess(const uint64_t &tokenId) { - const char* perms[] = { - "ohos.permission.DISTRIBUTED_DATASYNC", - "ohos.permission.CAPTURE_SCREEN", - }; - NativeTokenGet(perms, 2); // 2 is the size of an array composed of the required permissions. -} - -void DisablePermissionAccess() -{ - NativeTokenGet(nullptr, 0); // empty permission array. + OHOS::Security::AccessToken::AccessTokenKit::DeleteToken(tokenId); } /** @@ -98,13 +87,17 @@ HWTEST_F(ScreenDataChannelImplTest, CreateSession_001, TestSize.Level1) */ HWTEST_F(ScreenDataChannelImplTest, CreateSession_002, TestSize.Level1) { - EnablePermissionAccess(); + const char* perms[] = { + "ohos.permission.DISTRIBUTED_DATASYNC", + "ohos.permission.CAPTURE_SCREEN", + }; + EnablePermissionAccess(perms, sizeof(perms) / sizeof(perms[0]), tokenId_); std::shared_ptr listener = std::make_shared(); dataChannelImpl_->jpegSessionFlag_ = false; int32_t ret = dataChannelImpl_->CreateSession(listener); + DisablePermissionAccess(tokenId_); EXPECT_EQ(DH_SUCCESS, ret); - DisablePermissionAccess(); } /** @@ -186,9 +179,13 @@ HWTEST_F(ScreenDataChannelImplTest, SendDirtyData_002, TestSize.Level1) */ HWTEST_F(ScreenDataChannelImplTest, release_session_test_001, TestSize.Level1) { - EnablePermissionAccess(); + const char* perms[] = { + "ohos.permission.DISTRIBUTED_DATASYNC", + "ohos.permission.CAPTURE_SCREEN", + }; + EnablePermissionAccess(perms, sizeof(perms) / sizeof(perms[0]), tokenId_); EXPECT_EQ(DH_SUCCESS, dataChannelImpl_->ReleaseSession()); - DisablePermissionAccess(); + DisablePermissionAccess(tokenId_); } /** diff --git a/services/screentransport/test/unittest/screensourcetrans/include/screen_source_trans_test.h b/services/screentransport/test/unittest/screensourcetrans/include/screen_source_trans_test.h index cae500ca8ae5eb60c069996dc96a21f6dcf79b7c..f0c29807d24346633bd9c332705c9a03d56c5a11 100644 --- a/services/screentransport/test/unittest/screensourcetrans/include/screen_source_trans_test.h +++ b/services/screentransport/test/unittest/screensourcetrans/include/screen_source_trans_test.h @@ -37,6 +37,7 @@ public: void TearDown(); std::shared_ptr trans = nullptr; + uint64_t tokenId_; }; } // namespace DistributedHardware } // namespace OHOS diff --git a/services/screentransport/test/unittest/screensourcetrans/src/screen_source_trans_test.cpp b/services/screentransport/test/unittest/screensourcetrans/src/screen_source_trans_test.cpp index 685c20c863fc091aa1791d30726e15bd08976171..b442d6b1cbd203f269702cb0f19f3d227a2170ef 100644 --- a/services/screentransport/test/unittest/screensourcetrans/src/screen_source_trans_test.cpp +++ b/services/screentransport/test/unittest/screensourcetrans/src/screen_source_trans_test.cpp @@ -18,7 +18,6 @@ #include "accesstoken_kit.h" #include "nativetoken_kit.h" #include "token_setproc.h" -#include "softbus_common.h" using namespace testing::ext; @@ -30,28 +29,33 @@ void ScreenSourceTransTest::TearDownTestCase(void) {} void ScreenSourceTransTest::SetUp(void) { - uint64_t tokenId; - const char *perms[] = { - OHOS_PERMISSION_DISTRIBUTED_SOFTBUS_CENTER, - OHOS_PERMISSION_DISTRIBUTED_DATASYNC - }; + trans = std::make_shared(); +} + +void ScreenSourceTransTest::TearDown(void) {} + +void EnablePermissionAccess(const char* perms[], size_t permsNum, uint64_t &tokenId) +{ NativeTokenInfoParams infoInstance = { .dcapsNum = 0, - .permsNum = 2, + .permsNum = permsNum, .aclsNum = 0, - .dcaps = NULL, + .dcaps = nullptr, .perms = perms, - .acls = NULL, - .processName = "SourceTransTest", + .acls = nullptr, .aplStr = "system_basic", }; + + infoInstance.processName = "SourceTransTest"; tokenId = GetAccessTokenId(&infoInstance); SetSelfTokenID(tokenId); OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); - trans = std::make_shared(); } -void ScreenSourceTransTest::TearDown(void) {} +void DisablePermissionAccess(const uint64_t &tokenId) +{ + OHOS::Security::AccessToken::AccessTokenKit::DeleteToken(tokenId); +} /** * @tc.name: RegisterChannelListener_001 @@ -106,6 +110,11 @@ HWTEST_F(ScreenSourceTransTest, SetUp_001, TestSize.Level1) */ HWTEST_F(ScreenSourceTransTest, SetUp_002, TestSize.Level1) { + const char* perms[] = { + "ohos.permission.DISTRIBUTED_DATASYNC", + "ohos.permission.CAPTURE_SCREEN", + }; + EnablePermissionAccess(perms, sizeof(perms) / sizeof(perms[0]), tokenId_); VideoParam localParam; localParam.SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H264); localParam.SetVideoFormat(VIDEO_DATA_FORMAT_YUVI420); @@ -122,6 +131,7 @@ HWTEST_F(ScreenSourceTransTest, SetUp_002, TestSize.Level1) remoteParam.SetScreenWidth(100); int32_t actual = trans->SetUp(localParam, remoteParam, "peerDevId"); + DisablePermissionAccess(tokenId_); EXPECT_EQ(DH_SUCCESS, actual); } @@ -134,11 +144,17 @@ HWTEST_F(ScreenSourceTransTest, SetUp_002, TestSize.Level1) */ HWTEST_F(ScreenSourceTransTest, InitScreenTrans_001, TestSize.Level1) { + const char* perms[] = { + "ohos.permission.DISTRIBUTED_DATASYNC", + "ohos.permission.CAPTURE_SCREEN", + }; + EnablePermissionAccess(perms, sizeof(perms) / sizeof(perms[0]), tokenId_); VideoParam localParam; VideoParam remoteParam; std::string peerDevId = "sinkDevId"; trans->screenChannel_ = std::make_shared(); int32_t actual = trans->InitScreenTrans(localParam, remoteParam, peerDevId); + DisablePermissionAccess(tokenId_); EXPECT_EQ(ERR_DH_SCREEN_CODEC_SURFACE_ERROR, actual); } diff --git a/services/softbusadapter/test/unittest/include/softbus_adapter_test.h b/services/softbusadapter/test/unittest/include/softbus_adapter_test.h index fb67ed50abd6a4ef2f76c0e345cc48e9f49cd0c8..febfa80d8cb600244bcca4529c17fc298c392762 100644 --- a/services/softbusadapter/test/unittest/include/softbus_adapter_test.h +++ b/services/softbusadapter/test/unittest/include/softbus_adapter_test.h @@ -40,6 +40,7 @@ public: void TearDown(); SoftbusAdapter softbusAdapter; + uint64_t tokenId_; }; class MockSoftbusListener : public ISoftbusListener { public: diff --git a/services/softbusadapter/test/unittest/src/softbus_adapter_test.cpp b/services/softbusadapter/test/unittest/src/softbus_adapter_test.cpp index f240f894bba3f6de73d5e76f336d06d1752569fa..da3a00392ead49f60869e7d75586fe62604fe7b3 100644 --- a/services/softbusadapter/test/unittest/src/softbus_adapter_test.cpp +++ b/services/softbusadapter/test/unittest/src/softbus_adapter_test.cpp @@ -14,7 +14,6 @@ */ #include "softbus_adapter_test.h" - #include "accesstoken_kit.h" #include "nativetoken_kit.h" #include "token_setproc.h" @@ -31,12 +30,11 @@ void SoftbusAdapterTest::SetUp(void) {} void SoftbusAdapterTest::TearDown(void) {} -void NativeTokenGet(const char* perms[], int size) +void EnablePermissionAccess(const char* perms[], size_t permsNum, uint64_t &tokenId) { - uint64_t tokenId; NativeTokenInfoParams infoInstance = { .dcapsNum = 0, - .permsNum = size, + .permsNum = permsNum, .aclsNum = 0, .dcaps = nullptr, .perms = perms, @@ -50,19 +48,11 @@ void NativeTokenGet(const char* perms[], int size) OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); } -void EnablePermissionAccess() +void DisablePermissionAccess(const uint64_t &tokenId) { - const char* perms[] = { - "ohos.permission.DISTRIBUTED_DATASYNC", - "ohos.permission.CAPTURE_SCREEN", - }; - NativeTokenGet(perms, 2); // 2 is the size of an array composed of the required permissions. + OHOS::Security::AccessToken::AccessTokenKit::DeleteToken(tokenId); } -void DisablePermissionAccess() -{ - NativeTokenGet(nullptr, 0); // empty permission array. -} static int32_t ScreenOnSoftbusSessionOpened(int32_t sessionId, int32_t result) { return 0; @@ -87,7 +77,11 @@ static void ScreenOnQosEvent(int sessionId, int eventId, int tvCount, const QosT */ HWTEST_F(SoftbusAdapterTest, CreateSoftbusSessionServer_001, TestSize.Level1) { - EnablePermissionAccess(); + const char* perms[] = { + "ohos.permission.DISTRIBUTED_DATASYNC", + "ohos.permission.CAPTURE_SCREEN", + }; + EnablePermissionAccess(perms, sizeof(perms) / sizeof(perms[0]), tokenId_); softbusAdapter.sessListener_.OnSessionOpened = ScreenOnSoftbusSessionOpened; softbusAdapter.sessListener_.OnSessionClosed = ScreenOnSoftbusSessionClosed; softbusAdapter.sessListener_.OnBytesReceived = ScreenOnBytesReceived; @@ -120,7 +114,7 @@ HWTEST_F(SoftbusAdapterTest, CreateSoftbusSessionServer_001, TestSize.Level1) int32_t actual = softbusAdapter.CreateSoftbusSessionServer(pkgname, sessionName, peerDevId); EXPECT_EQ(DH_SUCCESS, actual); softbusAdapter.RemoveSoftbusSessionServer(pkgname, sessionName, peerDevId); - DisablePermissionAccess(); + DisablePermissionAccess(tokenId_); } /**