1c29fa5a6Sopenharmony_ci/* 2c29fa5a6Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 3c29fa5a6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4c29fa5a6Sopenharmony_ci * you may not use this file except in compliance with the License. 5c29fa5a6Sopenharmony_ci * You may obtain a copy of the License at 6c29fa5a6Sopenharmony_ci * 7c29fa5a6Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8c29fa5a6Sopenharmony_ci * 9c29fa5a6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10c29fa5a6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11c29fa5a6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12c29fa5a6Sopenharmony_ci * See the License for the specific language governing permissions and 13c29fa5a6Sopenharmony_ci * limitations under the License. 14c29fa5a6Sopenharmony_ci */ 15c29fa5a6Sopenharmony_ci 16c29fa5a6Sopenharmony_ci#include <cinttypes> 17c29fa5a6Sopenharmony_ci#include <cstdio> 18c29fa5a6Sopenharmony_ci 19c29fa5a6Sopenharmony_ci#include <gtest/gtest.h> 20c29fa5a6Sopenharmony_ci#include "ipc_skeleton.h" 21c29fa5a6Sopenharmony_ci#include "mmi_log.h" 22c29fa5a6Sopenharmony_ci#include "proto.h" 23c29fa5a6Sopenharmony_ci#include "tokenid_kit.h" 24c29fa5a6Sopenharmony_ci 25c29fa5a6Sopenharmony_ci#include "define_multimodal.h" 26c29fa5a6Sopenharmony_ci#include "permission_helper.h" 27c29fa5a6Sopenharmony_ci#include "uds_server.h" 28c29fa5a6Sopenharmony_ci 29c29fa5a6Sopenharmony_cinamespace OHOS { 30c29fa5a6Sopenharmony_cinamespace MMI { 31c29fa5a6Sopenharmony_cinamespace { 32c29fa5a6Sopenharmony_ciusing namespace testing::ext; 33c29fa5a6Sopenharmony_ciconst std::string INPUT_MONITORING = "ohos.permission.INPUT_MONITORING"; 34c29fa5a6Sopenharmony_ciconst std::string INPUT_INTERCEPTOR = "ohos.permission.INTERCEPT_INPUT_EVENT"; 35c29fa5a6Sopenharmony_ciconst std::string INPUT_DISPATCHCONTROL = "ohos.permission.INPUT_CONTROL_DISPATCHING"; 36c29fa5a6Sopenharmony_ci} // namespace 37c29fa5a6Sopenharmony_ci 38c29fa5a6Sopenharmony_ciclass PermissionHelperTest : public testing::Test { 39c29fa5a6Sopenharmony_cipublic: 40c29fa5a6Sopenharmony_ci static void SetUpTestCase(void) {} 41c29fa5a6Sopenharmony_ci static void TearDownTestCase(void) {} 42c29fa5a6Sopenharmony_ci}; 43c29fa5a6Sopenharmony_ci 44c29fa5a6Sopenharmony_ci/** 45c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_GetTokenType 46c29fa5a6Sopenharmony_ci * @tc.desc: Test GetTokenType 47c29fa5a6Sopenharmony_ci * @tc.type: FUNC 48c29fa5a6Sopenharmony_ci * @tc.require: 49c29fa5a6Sopenharmony_ci */ 50c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_GetTokenType, TestSize.Level1) 51c29fa5a6Sopenharmony_ci{ 52c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 53c29fa5a6Sopenharmony_ci uint32_t tokenId = 1; 54c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); 55c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_HAP; 56c29fa5a6Sopenharmony_ci int32_t result1 = PER_HELPER->GetTokenType(); 57c29fa5a6Sopenharmony_ci EXPECT_EQ(result1, 2); 58c29fa5a6Sopenharmony_ci 59c29fa5a6Sopenharmony_ci tokenId = 2; 60c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_NATIVE; 61c29fa5a6Sopenharmony_ci int32_t result2 = PER_HELPER->GetTokenType(); 62c29fa5a6Sopenharmony_ci EXPECT_EQ(result2, 2); 63c29fa5a6Sopenharmony_ci 64c29fa5a6Sopenharmony_ci tokenId = 3; 65c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_SHELL; 66c29fa5a6Sopenharmony_ci int32_t result3 = PER_HELPER->GetTokenType(); 67c29fa5a6Sopenharmony_ci EXPECT_EQ(result3, 2); 68c29fa5a6Sopenharmony_ci 69c29fa5a6Sopenharmony_ci tokenId = 4; 70c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_INVALID; 71c29fa5a6Sopenharmony_ci int32_t result4 = PER_HELPER->GetTokenType(); 72c29fa5a6Sopenharmony_ci EXPECT_EQ(result4, 2); 73c29fa5a6Sopenharmony_ci} 74c29fa5a6Sopenharmony_ci 75c29fa5a6Sopenharmony_ci/** 76c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_CheckDispatchControl_01 77c29fa5a6Sopenharmony_ci * @tc.desc: Test CheckDispatchControl 78c29fa5a6Sopenharmony_ci * @tc.type: FUNC 79c29fa5a6Sopenharmony_ci * @tc.require: 80c29fa5a6Sopenharmony_ci */ 81c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_CheckDispatchControl_01, TestSize.Level1) 82c29fa5a6Sopenharmony_ci{ 83c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 84c29fa5a6Sopenharmony_ci uint32_t tokenId = 1; 85c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); 86c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_HAP; 87c29fa5a6Sopenharmony_ci bool result1 = PER_HELPER->CheckDispatchControl(); 88c29fa5a6Sopenharmony_ci EXPECT_TRUE(result1); 89c29fa5a6Sopenharmony_ci 90c29fa5a6Sopenharmony_ci tokenId = 1; 91c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_NATIVE; 92c29fa5a6Sopenharmony_ci bool result2 = PER_HELPER->CheckDispatchControl(); 93c29fa5a6Sopenharmony_ci EXPECT_TRUE(result2); 94c29fa5a6Sopenharmony_ci 95c29fa5a6Sopenharmony_ci tokenId = 3; 96c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_SHELL; 97c29fa5a6Sopenharmony_ci bool result3 = PER_HELPER->CheckDispatchControl(); 98c29fa5a6Sopenharmony_ci EXPECT_TRUE(result3); 99c29fa5a6Sopenharmony_ci 100c29fa5a6Sopenharmony_ci tokenId = 4; 101c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_INVALID; 102c29fa5a6Sopenharmony_ci bool result4 = PER_HELPER->CheckDispatchControl(); 103c29fa5a6Sopenharmony_ci EXPECT_TRUE(result4); 104c29fa5a6Sopenharmony_ci} 105c29fa5a6Sopenharmony_ci 106c29fa5a6Sopenharmony_ci/** 107c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_CheckHapPermission_01 108c29fa5a6Sopenharmony_ci * @tc.desc: Test CheckHapPermission 109c29fa5a6Sopenharmony_ci * @tc.type: FUNC 110c29fa5a6Sopenharmony_ci * @tc.require: 111c29fa5a6Sopenharmony_ci */ 112c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_CheckHapPermission_01, TestSize.Level1) 113c29fa5a6Sopenharmony_ci{ 114c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 115c29fa5a6Sopenharmony_ci uint32_t tokenId = 3; 116c29fa5a6Sopenharmony_ci std::string permissionCode = "access"; 117c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); 118c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_NATIVE; 119c29fa5a6Sopenharmony_ci bool result = PER_HELPER->CheckHapPermission(tokenId, permissionCode); 120c29fa5a6Sopenharmony_ci ASSERT_FALSE(result); 121c29fa5a6Sopenharmony_ci} 122c29fa5a6Sopenharmony_ci 123c29fa5a6Sopenharmony_ci/** 124c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_CheckHapPermission_02 125c29fa5a6Sopenharmony_ci * @tc.desc: Test CheckHapPermission 126c29fa5a6Sopenharmony_ci * @tc.type: FUNC 127c29fa5a6Sopenharmony_ci * @tc.require: 128c29fa5a6Sopenharmony_ci */ 129c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_CheckHapPermission_02, TestSize.Level1) 130c29fa5a6Sopenharmony_ci{ 131c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 132c29fa5a6Sopenharmony_ci uint32_t tokenId = 2; 133c29fa5a6Sopenharmony_ci std::string permissionCode = "access"; 134c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); 135c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_HAP; 136c29fa5a6Sopenharmony_ci bool result = PER_HELPER->CheckHapPermission(tokenId, permissionCode); 137c29fa5a6Sopenharmony_ci ASSERT_FALSE(result); 138c29fa5a6Sopenharmony_ci} 139c29fa5a6Sopenharmony_ci 140c29fa5a6Sopenharmony_ci/** 141c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_CheckHapPermission_03 142c29fa5a6Sopenharmony_ci * @tc.desc: Test CheckHapPermission 143c29fa5a6Sopenharmony_ci * @tc.type: FUNC 144c29fa5a6Sopenharmony_ci * @tc.require: 145c29fa5a6Sopenharmony_ci */ 146c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_CheckHapPermission_03, TestSize.Level1) 147c29fa5a6Sopenharmony_ci{ 148c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 149c29fa5a6Sopenharmony_ci uint32_t tokenId = 6; 150c29fa5a6Sopenharmony_ci std::string permissionCode = "access"; 151c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); 152c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_SHELL; 153c29fa5a6Sopenharmony_ci bool result = PER_HELPER->CheckHapPermission(tokenId, permissionCode); 154c29fa5a6Sopenharmony_ci ASSERT_FALSE(result); 155c29fa5a6Sopenharmony_ci} 156c29fa5a6Sopenharmony_ci 157c29fa5a6Sopenharmony_ci/** 158c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_CheckHapPermission_04 159c29fa5a6Sopenharmony_ci * @tc.desc: Test CheckHapPermission 160c29fa5a6Sopenharmony_ci * @tc.type: FUNC 161c29fa5a6Sopenharmony_ci * @tc.require: 162c29fa5a6Sopenharmony_ci */ 163c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_CheckHapPermission_04, TestSize.Level1) 164c29fa5a6Sopenharmony_ci{ 165c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 166c29fa5a6Sopenharmony_ci uint32_t tokenId = 5; 167c29fa5a6Sopenharmony_ci std::string permissionCode = "access denied"; 168c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); 169c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_INVALID; 170c29fa5a6Sopenharmony_ci bool result = PER_HELPER->CheckHapPermission(tokenId, permissionCode); 171c29fa5a6Sopenharmony_ci ASSERT_FALSE(result); 172c29fa5a6Sopenharmony_ci} 173c29fa5a6Sopenharmony_ci 174c29fa5a6Sopenharmony_ci/** 175c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_CheckHapPermission_06 176c29fa5a6Sopenharmony_ci * @tc.desc: Test CheckHapPermission 177c29fa5a6Sopenharmony_ci * @tc.type: FUNC 178c29fa5a6Sopenharmony_ci * @tc.require: 179c29fa5a6Sopenharmony_ci */ 180c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_CheckHapPermission_06, TestSize.Level1) 181c29fa5a6Sopenharmony_ci{ 182c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 183c29fa5a6Sopenharmony_ci uint32_t tokenId = 3; 184c29fa5a6Sopenharmony_ci std::string permissionCode = "access"; 185c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); 186c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_HAP; 187c29fa5a6Sopenharmony_ci bool result = PER_HELPER->CheckHapPermission(permissionCode); 188c29fa5a6Sopenharmony_ci ASSERT_TRUE(result); 189c29fa5a6Sopenharmony_ci} 190c29fa5a6Sopenharmony_ci 191c29fa5a6Sopenharmony_ci/** 192c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_CheckHapPermission_07 193c29fa5a6Sopenharmony_ci * @tc.desc: Test CheckHapPermission 194c29fa5a6Sopenharmony_ci * @tc.type: FUNC 195c29fa5a6Sopenharmony_ci * @tc.require: 196c29fa5a6Sopenharmony_ci */ 197c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_CheckHapPermission_07, TestSize.Level1) 198c29fa5a6Sopenharmony_ci{ 199c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 200c29fa5a6Sopenharmony_ci uint32_t tokenId = 2; 201c29fa5a6Sopenharmony_ci std::string permissionCode = "access"; 202c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); 203c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_NATIVE; 204c29fa5a6Sopenharmony_ci 205c29fa5a6Sopenharmony_ci int32_t ret = OHOS::Security::AccessToken::AccessTokenKit::VerifyAccessToken(tokenId, permissionCode); 206c29fa5a6Sopenharmony_ci ret = OHOS::Security::AccessToken::PERMISSION_GRANTED; 207c29fa5a6Sopenharmony_ci bool result = PER_HELPER->CheckHapPermission(permissionCode); 208c29fa5a6Sopenharmony_ci ASSERT_TRUE(result); 209c29fa5a6Sopenharmony_ci} 210c29fa5a6Sopenharmony_ci 211c29fa5a6Sopenharmony_ci/** 212c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_CheckHapPermission_08 213c29fa5a6Sopenharmony_ci * @tc.desc: Test CheckHapPermission 214c29fa5a6Sopenharmony_ci * @tc.type: FUNC 215c29fa5a6Sopenharmony_ci * @tc.require: 216c29fa5a6Sopenharmony_ci */ 217c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_CheckHapPermission_08, TestSize.Level1) 218c29fa5a6Sopenharmony_ci{ 219c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 220c29fa5a6Sopenharmony_ci uint32_t tokenId = 3; 221c29fa5a6Sopenharmony_ci std::string permissionCode = "access"; 222c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); 223c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_SHELL; 224c29fa5a6Sopenharmony_ci bool result = PER_HELPER->CheckHapPermission(permissionCode); 225c29fa5a6Sopenharmony_ci ASSERT_TRUE(result); 226c29fa5a6Sopenharmony_ci} 227c29fa5a6Sopenharmony_ci 228c29fa5a6Sopenharmony_ci/** 229c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_VerifySystemApp_01 230c29fa5a6Sopenharmony_ci * @tc.desc: Test VerifySystemApp 231c29fa5a6Sopenharmony_ci * @tc.type: FUNC 232c29fa5a6Sopenharmony_ci * @tc.require: 233c29fa5a6Sopenharmony_ci */ 234c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_VerifySystemApp_01, TestSize.Level1) 235c29fa5a6Sopenharmony_ci{ 236c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 237c29fa5a6Sopenharmony_ci uint32_t callerToken = 3; 238c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(callerToken); 239c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::ATokenTypeEnum::TOKEN_NATIVE; 240c29fa5a6Sopenharmony_ci bool result = PER_HELPER->VerifySystemApp(); 241c29fa5a6Sopenharmony_ci EXPECT_TRUE(result); 242c29fa5a6Sopenharmony_ci} 243c29fa5a6Sopenharmony_ci 244c29fa5a6Sopenharmony_ci/** 245c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_VerifySystemApp_02 246c29fa5a6Sopenharmony_ci * @tc.desc: Test VerifySystemApp 247c29fa5a6Sopenharmony_ci * @tc.type: FUNC 248c29fa5a6Sopenharmony_ci * @tc.require: 249c29fa5a6Sopenharmony_ci */ 250c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_VerifySystemApp_02, TestSize.Level1) 251c29fa5a6Sopenharmony_ci{ 252c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 253c29fa5a6Sopenharmony_ci uint32_t callerToken = 5; 254c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(callerToken); 255c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::ATokenTypeEnum::TOKEN_SHELL; 256c29fa5a6Sopenharmony_ci bool result = PER_HELPER->VerifySystemApp(); 257c29fa5a6Sopenharmony_ci EXPECT_TRUE(result); 258c29fa5a6Sopenharmony_ci} 259c29fa5a6Sopenharmony_ci 260c29fa5a6Sopenharmony_ci/** 261c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_CheckMonitor 262c29fa5a6Sopenharmony_ci * @tc.desc: Test CheckMonitor 263c29fa5a6Sopenharmony_ci * @tc.type: FUNC 264c29fa5a6Sopenharmony_ci * @tc.require: 265c29fa5a6Sopenharmony_ci */ 266c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_CheckMonitor, TestSize.Level1) 267c29fa5a6Sopenharmony_ci{ 268c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 269c29fa5a6Sopenharmony_ci uint32_t tokenId = 1; 270c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); 271c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_HAP; 272c29fa5a6Sopenharmony_ci bool result1 = PER_HELPER->CheckMonitor(); 273c29fa5a6Sopenharmony_ci EXPECT_TRUE(result1); 274c29fa5a6Sopenharmony_ci 275c29fa5a6Sopenharmony_ci tokenId = 2; 276c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_NATIVE; 277c29fa5a6Sopenharmony_ci bool result2 = PER_HELPER->CheckMonitor(); 278c29fa5a6Sopenharmony_ci EXPECT_TRUE(result2); 279c29fa5a6Sopenharmony_ci 280c29fa5a6Sopenharmony_ci tokenId = 3; 281c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_SHELL; 282c29fa5a6Sopenharmony_ci bool result3 = PER_HELPER->CheckMonitor(); 283c29fa5a6Sopenharmony_ci EXPECT_TRUE(result3); 284c29fa5a6Sopenharmony_ci 285c29fa5a6Sopenharmony_ci tokenId = 4; 286c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_INVALID; 287c29fa5a6Sopenharmony_ci bool result4 = PER_HELPER->CheckMonitor(); 288c29fa5a6Sopenharmony_ci EXPECT_TRUE(result4); 289c29fa5a6Sopenharmony_ci} 290c29fa5a6Sopenharmony_ci 291c29fa5a6Sopenharmony_ci/** 292c29fa5a6Sopenharmony_ci * @tc.name: PermissionHelperTest_CheckInterceptor 293c29fa5a6Sopenharmony_ci * @tc.desc: Test CheckInterceptor 294c29fa5a6Sopenharmony_ci * @tc.type: FUNC 295c29fa5a6Sopenharmony_ci * @tc.require: 296c29fa5a6Sopenharmony_ci */ 297c29fa5a6Sopenharmony_ciHWTEST_F(PermissionHelperTest, PermissionHelperTest_CheckInterceptor, TestSize.Level1) 298c29fa5a6Sopenharmony_ci{ 299c29fa5a6Sopenharmony_ci CALL_TEST_DEBUG; 300c29fa5a6Sopenharmony_ci uint32_t tokenId = 1; 301c29fa5a6Sopenharmony_ci auto tokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(tokenId); 302c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_HAP; 303c29fa5a6Sopenharmony_ci bool result1 = PER_HELPER->CheckInterceptor(); 304c29fa5a6Sopenharmony_ci EXPECT_TRUE(result1); 305c29fa5a6Sopenharmony_ci 306c29fa5a6Sopenharmony_ci tokenId = 2; 307c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_NATIVE; 308c29fa5a6Sopenharmony_ci bool result2 = PER_HELPER->CheckInterceptor(); 309c29fa5a6Sopenharmony_ci EXPECT_TRUE(result2); 310c29fa5a6Sopenharmony_ci 311c29fa5a6Sopenharmony_ci tokenId = 3; 312c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_SHELL; 313c29fa5a6Sopenharmony_ci bool result3 = PER_HELPER->CheckInterceptor(); 314c29fa5a6Sopenharmony_ci EXPECT_TRUE(result3); 315c29fa5a6Sopenharmony_ci 316c29fa5a6Sopenharmony_ci tokenId = 4; 317c29fa5a6Sopenharmony_ci tokenType = OHOS::Security::AccessToken::TOKEN_INVALID; 318c29fa5a6Sopenharmony_ci bool result4 = PER_HELPER->CheckInterceptor(); 319c29fa5a6Sopenharmony_ci EXPECT_TRUE(result4); 320c29fa5a6Sopenharmony_ci} 321c29fa5a6Sopenharmony_ci} // namespace MMI 322c29fa5a6Sopenharmony_ci} // namespace OHOS