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