1 /*
2  * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 #define private public
18 #define protected public
19 #include "ability_manager_errors.h"
20 #include "permission_verification.h"
21 #undef private
22 #undef protected
23 
24 using namespace testing;
25 using namespace testing::ext;
26 using namespace OHOS::AppExecFwk;
27 
28 namespace OHOS {
29 namespace AAFwk {
30 namespace {
31 #ifdef WITH_DLP
32 const std::string DLP_PARAMS_INDEX = "ohos.dlp.params.index";
33 #endif // WITH_DLP
34 const int32_t SHELL_START_EXTENSION_FLOOR = 0;
35 const int32_t SHELL_START_EXTENSION_MAX = 22; // EMBEDDED_UI
36 }
37 class PermissionVerificationTest : public testing::Test {
38 public:
39     static void SetUpTestCase(void);
40     static void TearDownTestCase(void);
41     void SetUp() override;
42     void TearDown() override;
43 };
44 
SetUpTestCase(void)45 void PermissionVerificationTest::SetUpTestCase(void)
46 {}
TearDownTestCase(void)47 void PermissionVerificationTest::TearDownTestCase(void)
48 {}
SetUp()49 void PermissionVerificationTest::SetUp()
50 {}
TearDown()51 void PermissionVerificationTest::TearDown()
52 {}
53 
54 /**
55  * @tc.name: StartUpAbilityPermissionCheck_0100
56  * @tc.desc: CheckCallAbilityPermission Test
57  * @tc.type: FUNC
58  * @tc.require: issueI5QXCQ
59  */
60 HWTEST_F(PermissionVerificationTest, StartUpAbilityPermissionCheck_0100, TestSize.Level0)
61 {
62     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
63     verificationInfo.visible = true;
64     verificationInfo.isBackgroundCall = false;
65     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallAbilityPermission(verificationInfo);
66     EXPECT_EQ(result, ERR_OK);
67 }
68 
69 /**
70  * @tc.name: StartUpAbilityPermissionCheck_0200
71  * @tc.desc: StartUpAbilityPermissionCheck Test
72  * @tc.type: FUNC
73  * @tc.require: issueI5QXCQ
74  */
75 HWTEST_F(PermissionVerificationTest, StartUpAbilityPermissionCheck_0200, TestSize.Level0)
76 {
77     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
78     verificationInfo.visible = true;
79     verificationInfo.isBackgroundCall = false;
80     int result = AAFwk::PermissionVerification::GetInstance()->CheckStartByCallPermission(verificationInfo);
81     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
82 }
83 
84 /**
85  * @tc.name: StartUpServicePermissionCheck_0100
86  * @tc.desc: StartUpServicePermissionCheck Test
87  * @tc.type: FUNC
88  * @tc.require: issueI5PRJ7
89  */
90 HWTEST_F(PermissionVerificationTest, StartUpServicePermissionCheck_0100, TestSize.Level0)
91 {
92     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
93     verificationInfo.visible = true;
94     verificationInfo.isBackgroundCall = false;
95     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceAbilityPermission(verificationInfo);
96     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
97 }
98 
99 /**
100  * @tc.name: StartUpServicePermissionCheck_0200
101  * @tc.desc: StartUpServicePermissionCheck Test
102  * @tc.type: FUNC
103  * @tc.require: issueI5PRJ7
104  */
105 HWTEST_F(PermissionVerificationTest, StartUpServicePermissionCheck_0200, TestSize.Level0)
106 {
107     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
108     verificationInfo.visible = true;
109     verificationInfo.isBackgroundCall = false;
110     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceExtensionPermission(verificationInfo);
111     EXPECT_EQ(result, ERR_OK);
112 }
113 
114 /**
115  * @tc.name: StartUpServicePermissionCheck_0300
116  * @tc.desc: StartUpServicePermissionCheck Test
117  * @tc.type: FUNC
118  * @tc.require: issueI5PRJ7
119  */
120 HWTEST_F(PermissionVerificationTest, StartUpServicePermissionCheck_0300, TestSize.Level0)
121 {
122     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
123     verificationInfo.visible = true;
124     verificationInfo.isBackgroundCall = false;
125     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallDataAbilityPermission(verificationInfo, false);
126     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
127 }
128 
129 /**
130  * @tc.name: CheckCallAbilityPermission_0100
131  * @tc.desc: CheckCallAbilityPermission Test
132  * @tc.type: FUNC
133  * @tc.require: issueI5QXCQ
134  */
135 HWTEST_F(PermissionVerificationTest, CheckCallAbilityPermission_0100, TestSize.Level0)
136 {
137     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
138     verificationInfo.visible = true;
139     verificationInfo.isBackgroundCall = false;
140     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallAbilityPermission(verificationInfo);
141     EXPECT_EQ(result, ERR_OK);
142 }
143 
144 /**
145  * @tc.name: CheckSpecificSystemAbilityAccessPermission_0100
146  * @tc.desc: CheckSpecificSystemAbilityAccessPermission Test
147  * @tc.type: FUNC
148  * @tc.require: issueI5AFTJ
149  */
150 HWTEST_F(PermissionVerificationTest, CheckSpecificSystemAbilityAccessPermission_0100, TestSize.Level0)
151 {
152     std::string processName;
153     bool result = AAFwk::PermissionVerification::GetInstance()->CheckSpecificSystemAbilityAccessPermission(processName);
154     EXPECT_FALSE(result);
155 }
156 
157 /**
158  * @tc.name: VerifyControllerPerm_0100
159  * @tc.desc: VerifyControllerPerm Test
160  * @tc.type: FUNC
161  * @tc.require: issueI4WS9F
162  */
163 HWTEST_F(PermissionVerificationTest, VerifyControllerPerm_0100, TestSize.Level0)
164 {
165     bool result = AAFwk::PermissionVerification::GetInstance()->VerifyControllerPerm();
166     EXPECT_FALSE(result);
167 }
168 
169 #ifdef WITH_DLP
170 /**
171  * @tc.name: VerifyDlpPermission_0100
172  * @tc.desc: VerifyDlpPermission Test
173  * @tc.type: FUNC
174  * @tc.require: issueI55UJZ
175  */
176 HWTEST_F(PermissionVerificationTest, VerifyDlpPermission_0100, TestSize.Level0)
177 {
178     Want want;
179     want.SetParam(DLP_PARAMS_INDEX, 1);
180     bool result = AAFwk::PermissionVerification::GetInstance()->VerifyDlpPermission(want);
181     EXPECT_FALSE(result);
182 }
183 #endif // WITH_DLP
184 
185 /**
186  * @tc.name: VerifyMissionPermission_0100
187  * @tc.desc: VerifyMissionPermission Test
188  * @tc.type: FUNC
189  * @tc.require: issueI5I8XP
190  */
191 HWTEST_F(PermissionVerificationTest, VerifyMissionPermission_0100, TestSize.Level0)
192 {
193     bool result = AAFwk::PermissionVerification::GetInstance()->VerifyMissionPermission();
194     EXPECT_FALSE(result);
195 }
196 
197 /**
198  * @tc.name: VerifyInstallBundlePermission_0100
199  * @tc.desc: VerifyInstallBundlePermission Test
200  * @tc.type: FUNC
201  * @tc.require: issueI581VW
202  */
203 HWTEST_F(PermissionVerificationTest, VerifyInstallBundlePermission_0100, TestSize.Level0)
204 {
205     bool result = AAFwk::PermissionVerification::GetInstance()->VerifyInstallBundlePermission();
206     EXPECT_TRUE(result);
207 }
208 
209 /**
210  * @tc.name: VerifyGetBundleInfoPrivilegedPermission_0100
211  * @tc.desc: VerifyGetBundleInfoPrivilegedPermission Test
212  * @tc.type: FUNC
213  * @tc.require: issueI581VW
214  */
215 HWTEST_F(PermissionVerificationTest, VerifyGetBundleInfoPrivilegedPermission_0100, TestSize.Level0)
216 {
217     bool result = AAFwk::PermissionVerification::GetInstance()->VerifyGetBundleInfoPrivilegedPermission();
218     EXPECT_TRUE(result);
219 }
220 
221 /**
222  * @tc.name: CheckCallAbilityPermission_0200
223  * @tc.desc: CheckCallAbilityPermission Test
224  * @tc.type: FUNC
225  * @tc.require: issueI5QXCQ
226  */
227 HWTEST_F(PermissionVerificationTest, CheckCallAbilityPermission_0200, TestSize.Level0)
228 {
229     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
230     verificationInfo.visible = true;
231     verificationInfo.isBackgroundCall = true;
232     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallAbilityPermission(verificationInfo);
233     EXPECT_EQ(result, ERR_OK);
234 }
235 
236 /**
237  * @tc.name: CheckCallAbilityPermission_0300
238  * @tc.desc: CheckCallAbilityPermission Test
239  * @tc.type: FUNC
240  * @tc.require: issueI5QXCQ
241  */
242 HWTEST_F(PermissionVerificationTest, CheckCallAbilityPermission_0300, TestSize.Level0)
243 {
244     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
245     verificationInfo.visible = false;
246     verificationInfo.isBackgroundCall = false;
247     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallAbilityPermission(verificationInfo);
248     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
249 }
250 
251 /**
252  * @tc.name: CheckStartByCallPermission_0100
253  * @tc.desc: CheckStartByCallPermission Test
254  * @tc.type: FUNC
255  * @tc.require: issueI5QXCQ
256  */
257 HWTEST_F(PermissionVerificationTest, CheckStartByCallPermission_0100, TestSize.Level0)
258 {
259     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
260     verificationInfo.visible = true;
261     verificationInfo.isBackgroundCall = false;
262     int result = AAFwk::PermissionVerification::GetInstance()->CheckStartByCallPermission(verificationInfo);
263     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
264 }
265 
266 /**
267  * @tc.name: CheckStartByCallPermission_0200
268  * @tc.desc: CheckStartByCallPermission Test
269  * @tc.type: FUNC
270  * @tc.require: issueI5QXCQ
271  */
272 HWTEST_F(PermissionVerificationTest, CheckStartByCallPermission_0200, TestSize.Level0)
273 {
274     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
275     verificationInfo.visible = false;
276     int result = AAFwk::PermissionVerification::GetInstance()->CheckStartByCallPermission(verificationInfo);
277     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
278 }
279 
280 /**
281  * @tc.name: CheckStartByCallPermission_0300
282  * @tc.desc: CheckStartByCallPermission Test
283  * @tc.type: FUNC
284  * @tc.require: issueI5QXCQ
285  */
286 HWTEST_F(PermissionVerificationTest, CheckStartByCallPermission_0300, TestSize.Level0)
287 {
288     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
289     verificationInfo.visible = true;
290     verificationInfo.isBackgroundCall = true;
291     int result = AAFwk::PermissionVerification::GetInstance()->CheckStartByCallPermission(verificationInfo);
292     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
293 }
294 
295 /**
296  * @tc.name: CheckCallServiceAbilityPermission_0100
297  * @tc.desc: CheckCallServiceAbilityPermission Test
298  * @tc.type: FUNC
299  * @tc.require: issueI5PRJ7
300  */
301 HWTEST_F(PermissionVerificationTest, CheckCallServiceAbilityPermission_0100, TestSize.Level0)
302 {
303     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
304     int api9 = 9;
305     verificationInfo.apiTargetVersion = api9;
306     verificationInfo.visible = false;
307     verificationInfo.isBackgroundCall = true;
308     verificationInfo.associatedWakeUp = false;
309     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceAbilityPermission(verificationInfo);
310     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
311 }
312 
313 /**
314  * @tc.name: CheckCallServiceAbilityPermission_0200
315  * @tc.desc: CheckCallServiceAbilityPermission Test
316  * @tc.type: FUNC
317  * @tc.require: issueI5PRJ7
318  */
319 HWTEST_F(PermissionVerificationTest, CheckCallServiceAbilityPermission_0200, TestSize.Level0)
320 {
321     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
322     int api9 = 9;
323     verificationInfo.apiTargetVersion = api9;
324     verificationInfo.visible = true;
325     verificationInfo.isBackgroundCall = false;
326     verificationInfo.associatedWakeUp = false;
327     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceAbilityPermission(verificationInfo);
328     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
329 }
330 
331 /**
332  * @tc.name: CheckCallServiceAbilityPermission_0300
333  * @tc.desc: CheckCallServiceAbilityPermission Test
334  * @tc.type: FUNC
335  * @tc.require: issueI5PRJ7
336  */
337 HWTEST_F(PermissionVerificationTest, CheckCallServiceAbilityPermission_0300, TestSize.Level0)
338 {
339     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
340     int api9 = 9;
341     verificationInfo.apiTargetVersion = api9;
342     verificationInfo.visible = true;
343     verificationInfo.isBackgroundCall = false;
344     verificationInfo.associatedWakeUp = true;
345     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceAbilityPermission(verificationInfo);
346     EXPECT_EQ(result, ERR_OK);
347 }
348 
349 /**
350  * @tc.name: CheckCallServiceAbilityPermission_0400
351  * @tc.desc: CheckCallServiceAbilityPermission Test
352  * @tc.type: FUNC
353  * @tc.require: issueI5PRJ7
354  */
355 HWTEST_F(PermissionVerificationTest, CheckCallServiceAbilityPermission_0400, TestSize.Level0)
356 {
357     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
358     int api9 = 9;
359     verificationInfo.apiTargetVersion = api9;
360     verificationInfo.visible = false;
361     verificationInfo.isBackgroundCall = false;
362     verificationInfo.associatedWakeUp = false;
363     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceAbilityPermission(verificationInfo);
364     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
365 }
366 
367 /**
368  * @tc.name: CheckCallServiceAbilityPermission_0500
369  * @tc.desc: CheckCallServiceAbilityPermission Test
370  * @tc.type: FUNC
371  * @tc.require: issueI5PRJ7
372  */
373 HWTEST_F(PermissionVerificationTest, CheckCallServiceAbilityPermission_0500, TestSize.Level0)
374 {
375     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
376     int api8 = 8;
377     verificationInfo.apiTargetVersion = api8;
378     verificationInfo.visible = true;
379     verificationInfo.isBackgroundCall = false;
380     verificationInfo.associatedWakeUp = true;
381     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceAbilityPermission(verificationInfo);
382     EXPECT_EQ(result, ERR_OK);
383 }
384 
385 /**
386  * @tc.name: CheckCallServiceAbilityPermission_0600
387  * @tc.desc: CheckCallServiceAbilityPermission Test
388  * @tc.type: FUNC
389  * @tc.require: issueI5PRJ7
390  */
391 HWTEST_F(PermissionVerificationTest, CheckCallServiceAbilityPermission_0600, TestSize.Level0)
392 {
393     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
394     int api8 = 8;
395     verificationInfo.apiTargetVersion = api8;
396     verificationInfo.visible = true;
397     verificationInfo.isBackgroundCall = false;
398     verificationInfo.associatedWakeUp = false;
399     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceAbilityPermission(verificationInfo);
400     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
401 }
402 
403 /**
404  * @tc.name: CheckCallServiceAbilityPermission_0700
405  * @tc.desc: CheckCallServiceAbilityPermission Test
406  * @tc.type: FUNC
407  * @tc.require: issueI5PRJ7
408  */
409 HWTEST_F(PermissionVerificationTest, CheckCallServiceAbilityPermission_0700, TestSize.Level0)
410 {
411     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
412     int api8 = 8;
413     verificationInfo.apiTargetVersion = api8;
414     verificationInfo.visible = false;
415     verificationInfo.isBackgroundCall = false;
416     verificationInfo.associatedWakeUp = false;
417     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceAbilityPermission(verificationInfo);
418     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
419 }
420 
421 /**
422  * @tc.name: CheckCallServiceAbilityPermission_0800
423  * @tc.desc: CheckCallServiceAbilityPermission Test
424  * @tc.type: FUNC
425  * @tc.require: issueI5PRJ7
426  */
427 HWTEST_F(PermissionVerificationTest, CheckCallServiceAbilityPermission_0800, TestSize.Level0)
428 {
429     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
430     int api9 = 9;
431     verificationInfo.apiTargetVersion = api9;
432     verificationInfo.isBackgroundCall = true;
433     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceAbilityPermission(verificationInfo);
434     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
435 }
436 
437 /**
438  * @tc.name: CheckCallServiceAbilityPermission_0900
439  * @tc.desc: CheckCallServiceAbilityPermission Test
440  * @tc.type: FUNC
441  * @tc.require: issueI5PRJ7
442  */
443 HWTEST_F(PermissionVerificationTest, CheckCallServiceAbilityPermission_0900, TestSize.Level0)
444 {
445     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
446     int api8 = 8;
447     verificationInfo.apiTargetVersion = api8;
448     verificationInfo.isBackgroundCall = false;
449     verificationInfo.visible = false;
450     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceAbilityPermission(verificationInfo);
451     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
452 }
453 
454 /**
455  * @tc.name: CheckCallServiceAbilityPermission_1000
456  * @tc.desc: CheckCallServiceAbilityPermission Test
457  * @tc.type: FUNC
458  * @tc.require: issueI5PRJ7
459  */
460 HWTEST_F(PermissionVerificationTest, CheckCallServiceAbilityPermission_1000, TestSize.Level0)
461 {
462     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
463     int api8 = 8;
464     verificationInfo.apiTargetVersion = api8;
465     verificationInfo.isBackgroundCall = false;
466     verificationInfo.visible = true;
467     verificationInfo.associatedWakeUp = false;
468     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceAbilityPermission(verificationInfo);
469     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
470 }
471 
472 /**
473  * @tc.name: CheckCallServiceExtensionPermission_0100
474  * @tc.desc: CheckCallServiceExtensionPermission Test
475  * @tc.type: FUNC
476  * @tc.require: issueI5PRJ7
477  */
478 HWTEST_F(PermissionVerificationTest, CheckCallServiceExtensionPermission_0100, TestSize.Level0)
479 {
480     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
481     verificationInfo.visible = true;
482     verificationInfo.isBackgroundCall = false;
483     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceExtensionPermission(verificationInfo);
484     EXPECT_EQ(result, ERR_OK);
485 }
486 
487 /**
488  * @tc.name: CheckCallServiceExtensionPermission_0200
489  * @tc.desc: CheckCallServiceExtensionPermission Test
490  * @tc.type: FUNC
491  * @tc.require: issueI5PRJ7
492  */
493 HWTEST_F(PermissionVerificationTest, CheckCallServiceExtensionPermission_0200, TestSize.Level0)
494 {
495     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
496     verificationInfo.visible = false;
497     verificationInfo.isBackgroundCall = false;
498     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceExtensionPermission(verificationInfo);
499     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
500 }
501 
502 /**
503  * @tc.name: CheckCallServiceExtensionPermission_0300
504  * @tc.desc: CheckCallServiceExtensionPermission Test
505  * @tc.type: FUNC
506  * @tc.require: issueI5PRJ7
507  */
508 HWTEST_F(PermissionVerificationTest, CheckCallServiceExtensionPermission_0300, TestSize.Level0)
509 {
510     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
511     verificationInfo.visible = true;
512     verificationInfo.isBackgroundCall = true;
513     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallServiceExtensionPermission(verificationInfo);
514     EXPECT_EQ(result, ERR_OK);
515 }
516 
517 /**
518  * @tc.name: CheckCallDataAbilityPermission_0100
519  * @tc.desc: CheckCallDataAbilityPermission Test
520  * @tc.type: FUNC
521  * @tc.require: issueI5PRJ7
522  */
523 HWTEST_F(PermissionVerificationTest, CheckCallDataAbilityPermission_0100, TestSize.Level0)
524 {
525     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
526     int api9 = 9;
527     verificationInfo.apiTargetVersion = api9;
528     verificationInfo.visible = false;
529     verificationInfo.isBackgroundCall = true;
530     verificationInfo.associatedWakeUp = false;
531     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallDataAbilityPermission(verificationInfo, false);
532     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
533 }
534 
535 /**
536  * @tc.name: CheckCallDataAbilityPermission_0200
537  * @tc.desc: CheckCallDataAbilityPermission Test
538  * @tc.type: FUNC
539  * @tc.require: issueI5PRJ7
540  */
541 HWTEST_F(PermissionVerificationTest, CheckCallDataAbilityPermission_0200, TestSize.Level0)
542 {
543     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
544     int api9 = 9;
545     verificationInfo.apiTargetVersion = api9;
546     verificationInfo.visible = true;
547     verificationInfo.isBackgroundCall = false;
548     verificationInfo.associatedWakeUp = false;
549     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallDataAbilityPermission(verificationInfo, false);
550     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
551 }
552 
553 /**
554  * @tc.name: CheckCallDataAbilityPermission_0300
555  * @tc.desc: CheckCallDataAbilityPermission Test
556  * @tc.type: FUNC
557  * @tc.require: issueI5PRJ7
558  */
559 HWTEST_F(PermissionVerificationTest, CheckCallDataAbilityPermission_0300, TestSize.Level0)
560 {
561     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
562     int api9 = 9;
563     verificationInfo.apiTargetVersion = api9;
564     verificationInfo.visible = true;
565     verificationInfo.isBackgroundCall = false;
566     verificationInfo.associatedWakeUp = true;
567     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallDataAbilityPermission(verificationInfo, false);
568     EXPECT_EQ(result, ERR_OK);
569 }
570 
571 /**
572  * @tc.name: CheckCallDataAbilityPermission_0400
573  * @tc.desc: CheckCallDataAbilityPermission Test
574  * @tc.type: FUNC
575  * @tc.require: issueI5PRJ7
576  */
577 HWTEST_F(PermissionVerificationTest, CheckCallDataAbilityPermission_0400, TestSize.Level0)
578 {
579     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
580     int api9 = 9;
581     verificationInfo.apiTargetVersion = api9;
582     verificationInfo.visible = false;
583     verificationInfo.isBackgroundCall = false;
584     verificationInfo.associatedWakeUp = false;
585     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallDataAbilityPermission(verificationInfo, false);
586     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
587 }
588 
589 /**
590  * @tc.name: CheckCallDataAbilityPermission_0500
591  * @tc.desc: CheckCallDataAbilityPermission Test
592  * @tc.type: FUNC
593  * @tc.require: issueI5PRJ7
594  */
595 HWTEST_F(PermissionVerificationTest, CheckCallDataAbilityPermission_0500, TestSize.Level0)
596 {
597     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
598     int api8 = 8;
599     verificationInfo.apiTargetVersion = api8;
600     verificationInfo.visible = true;
601     verificationInfo.isBackgroundCall = false;
602     verificationInfo.associatedWakeUp = true;
603     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallDataAbilityPermission(verificationInfo, false);
604     EXPECT_EQ(result, ERR_OK);
605 }
606 
607 /**
608  * @tc.name: CheckCallDataAbilityPermission_0600
609  * @tc.desc: CheckCallDataAbilityPermission Test
610  * @tc.type: FUNC
611  * @tc.require: issueI5PRJ7
612  */
613 HWTEST_F(PermissionVerificationTest, CheckCallDataAbilityPermission_0600, TestSize.Level0)
614 {
615     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
616     int api8 = 8;
617     verificationInfo.apiTargetVersion = api8;
618     verificationInfo.visible = true;
619     verificationInfo.isBackgroundCall = false;
620     verificationInfo.associatedWakeUp = false;
621     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallDataAbilityPermission(verificationInfo, false);
622     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
623 }
624 
625 /**
626  * @tc.name: CheckCallDataAbilityPermission_0700
627  * @tc.desc: CheckCallDataAbilityPermission Test
628  * @tc.type: FUNC
629  * @tc.require: issueI5PRJ7
630  */
631 HWTEST_F(PermissionVerificationTest, CheckCallDataAbilityPermission_0700, TestSize.Level0)
632 {
633     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
634     int api8 = 8;
635     verificationInfo.apiTargetVersion = api8;
636     verificationInfo.visible = false;
637     verificationInfo.isBackgroundCall = false;
638     verificationInfo.associatedWakeUp = false;
639     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallDataAbilityPermission(verificationInfo, false);
640     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
641 }
642 
643 /**
644  * @tc.name: CheckCallDataAbilityPermission_0800
645  * @tc.desc: CheckCallDataAbilityPermission Test
646  * @tc.type: FUNC
647  * @tc.require: issueI5PRJ7
648  */
649 HWTEST_F(PermissionVerificationTest, CheckCallDataAbilityPermission_0800, TestSize.Level0)
650 {
651     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
652     int api9 = 9;
653     verificationInfo.apiTargetVersion = api9;
654     verificationInfo.isBackgroundCall = true;
655     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallDataAbilityPermission(verificationInfo, false);
656     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
657 }
658 
659 /**
660  * @tc.name: CheckCallDataAbilityPermission_0900
661  * @tc.desc: CheckCallDataAbilityPermission Test
662  * @tc.type: FUNC
663  * @tc.require: issueI5PRJ7
664  */
665 HWTEST_F(PermissionVerificationTest, CheckCallDataAbilityPermission_0900, TestSize.Level0)
666 {
667     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
668     int api8 = 8;
669     verificationInfo.apiTargetVersion = api8;
670     verificationInfo.visible = false;
671     verificationInfo.isBackgroundCall = false;
672 
673     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallDataAbilityPermission(verificationInfo, false);
674     EXPECT_EQ(result, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
675 }
676 
677 /**
678  * @tc.name: CheckCallDataAbilityPermission_1000
679  * @tc.desc: CheckCallDataAbilityPermission Test
680  * @tc.type: FUNC
681  * @tc.require: issueI5PRJ7
682  */
683 HWTEST_F(PermissionVerificationTest, CheckCallDataAbilityPermission_1000, TestSize.Level0)
684 {
685     AAFwk::PermissionVerification::VerificationInfo verificationInfo;
686     int api8 = 8;
687     verificationInfo.apiTargetVersion = api8;
688     verificationInfo.visible = true;
689     verificationInfo.isBackgroundCall = false;
690     verificationInfo.associatedWakeUp = false;
691 
692     int result = AAFwk::PermissionVerification::GetInstance()->CheckCallDataAbilityPermission(verificationInfo, false);
693     EXPECT_EQ(result, CHECK_PERMISSION_FAILED);
694 }
695 
696 /**
697  * @tc.name: JudgeCallerIsAllowedToUseSystemAPI_1000
698  * @tc.desc: JudgeCallerIsAllowedToUseSystemAPI Test
699  * @tc.type: FUNC
700  * @tc.require: issuesI663VU
701  */
702 HWTEST_F(PermissionVerificationTest, JudgeCallerIsAllowedToUseSystemAPI_1000, TestSize.Level0)
703 {
704     bool result = AAFwk::PermissionVerification::GetInstance()->JudgeCallerIsAllowedToUseSystemAPI();
705     EXPECT_EQ(result, true);
706 }
707 
708 /**
709  * @tc.name: CheckObserverCallerPermission_0001
710  * @tc.desc: CheckObserverCallerPermission VerifyStartRecentAbilityPermission Test
711  * @tc.type: FUNC
712  * @tc.require:   VerifyRunningInfoPerm CheckObserverCallerPermission  etc
713  */
714 HWTEST_F(PermissionVerificationTest, CheckObserverCallerPermission_0001, TestSize.Level0)
715 {
716     AAFwk::PermissionVerification::GetInstance()->CheckObserverCallerPermission();
717     AAFwk::PermissionVerification::GetInstance()->VerifyStartRecentAbilityPermission();
718     AAFwk::PermissionVerification::GetInstance()->VerifyRunningInfoPerm();
719 }
720 
721 /**
722  * @tc.name: JudgeStartInvisibleAbility_0001
723  * @tc.desc: JudgeStartInvisibleAbility VerifyPreStartAtomicServicePermission  Test
724  * @tc.type: FUNC  VerifyKillProcessDependedOnWebPermission
725  * @tc.require: VerifyPrepareTerminatePermission VerifyShellStartExtensionType VerifyPreloadApplicationPermission
726  */
727 HWTEST_F(PermissionVerificationTest, JudgeStartInvisibleAbility_0001, TestSize.Level0)
728 {
729     AAFwk::PermissionVerification::GetInstance()->VerifyKillProcessDependedOnWebPermission();
730     AAFwk::PermissionVerification::GetInstance()->VerifyPreStartAtomicServicePermission();
731     AAFwk::PermissionVerification::GetInstance()->VerifyPreloadApplicationPermission();
732     AAFwk::PermissionVerification::GetInstance()->VerifyShellStartExtensionType(SHELL_START_EXTENSION_FLOOR);
733 
734     AAFwk::PermissionVerification::GetInstance()->VerifyShellStartExtensionType(SHELL_START_EXTENSION_MAX);
735     int tokenId = 20;
736     AAFwk::PermissionVerification::GetInstance()->VerifyPrepareTerminatePermission(tokenId);
737 
738     uint32_t aTkId = 1;
739     uint32_t sTkId = 20;
740     bool ret = AAFwk::PermissionVerification::GetInstance()->JudgeStartInvisibleAbility(aTkId, true, sTkId);
741     EXPECT_EQ(ret, true);
742     ret = AAFwk::PermissionVerification::GetInstance()->JudgeStartInvisibleAbility(aTkId, false, sTkId);
743     aTkId = 20;
744     ret = AAFwk::PermissionVerification::GetInstance()->JudgeStartInvisibleAbility(aTkId, false, sTkId);
745     EXPECT_EQ(ret, true);
746 }
747 }  // namespace AAFwk
748 }  // namespace OHOS
749