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