• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023-2025 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 
18 #define private public
19 #include "app_utils.h"
20 #undef private
21 #include "hilog_tag_wrapper.h"
22 #include "parameters.h"
23 
24 using namespace testing;
25 using namespace testing::ext;
26 
27 namespace OHOS {
28 namespace AbilityRuntime {
29 class AppUtilsTest : public testing::Test {
30 public:
31     static void SetUpTestCase();
32     static void TearDownTestCase();
33     void SetUp() override;
34     void TearDown() override;
35 };
36 
SetUpTestCase(void)37 void AppUtilsTest::SetUpTestCase(void)
38 {}
39 
TearDownTestCase(void)40 void AppUtilsTest::TearDownTestCase(void)
41 {}
42 
SetUp()43 void AppUtilsTest::SetUp()
44 {}
45 
TearDown()46 void AppUtilsTest::TearDown()
47 {}
48 
49 /**
50  * @tc.number: AppUtilsTest_0100
51  * @tc.desc: Test IsInheritWindowSplitScreenMode works
52  * @tc.type: FUNC
53  */
54 HWTEST_F(AppUtilsTest, AppUtilsTest_0100, TestSize.Level2)
55 {
56     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_0100 called.");
57     bool isInheritWindowSplitScreenMode = AAFwk::AppUtils::GetInstance().IsInheritWindowSplitScreenMode();
58     std::string deviceType = OHOS::system::GetDeviceType();
59     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
60     if (deviceType == "default") {
61         EXPECT_TRUE(isInheritWindowSplitScreenMode == true);
62     } else if (deviceType == "phone") {
63         EXPECT_TRUE(isInheritWindowSplitScreenMode == true);
64     } else if (deviceType == "2in1") {
65         EXPECT_TRUE(isInheritWindowSplitScreenMode == false);
66     }
67 }
68 
69 /**
70  * @tc.number: AppUtilsTest_0200
71  * @tc.desc: Test IsSupportAncoApp works
72  * @tc.type: FUNC
73  */
74 HWTEST_F(AppUtilsTest, AppUtilsTest_0200, TestSize.Level2)
75 {
76     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_0200 called.");
77     bool isSupportAncoApp = AAFwk::AppUtils::GetInstance().IsSupportAncoApp();
78     std::string deviceType = OHOS::system::GetDeviceType();
79     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
80     if (deviceType == "default") {
81         EXPECT_TRUE(isSupportAncoApp == false);
82     } else if (deviceType == "phone") {
83         EXPECT_TRUE(isSupportAncoApp == true);
84     } else if (deviceType == "2in1") {
85         EXPECT_TRUE(isSupportAncoApp == false);
86     }
87 }
88 
89 /**
90  * @tc.number: AppUtilsTest_0300
91  * @tc.desc: Test GetTimeoutUnitTimeRatio works
92  * @tc.type: FUNC
93  */
94 HWTEST_F(AppUtilsTest, AppUtilsTest_0300, TestSize.Level2)
95 {
96     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_0300 called.");
97     int32_t timeoutUnitTimeRatio = AAFwk::AppUtils::GetInstance().GetTimeoutUnitTimeRatio();
98     std::string deviceType = OHOS::system::GetDeviceType();
99     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
100     if (deviceType == "default") {
101         EXPECT_TRUE(timeoutUnitTimeRatio == 1);
102     } else if (deviceType == "phone") {
103         EXPECT_TRUE(timeoutUnitTimeRatio == 1);
104     } else if (deviceType == "2in1") {
105         EXPECT_TRUE(timeoutUnitTimeRatio == 10);
106     }
107 }
108 
109 /**
110  * @tc.number: AppUtilsTest_0400
111  * @tc.desc: Test IsSelectorDialogDefaultPossion works
112  * @tc.type: FUNC
113  */
114 HWTEST_F(AppUtilsTest, AppUtilsTest_0400, TestSize.Level2)
115 {
116     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_0400 called.");
117     bool isSelectorDialogDefaultPossion = AAFwk::AppUtils::GetInstance().IsSelectorDialogDefaultPossion();
118     std::string deviceType = OHOS::system::GetDeviceType();
119     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
120     if (deviceType == "default") {
121         EXPECT_TRUE(isSelectorDialogDefaultPossion == true);
122     } else if (deviceType == "phone") {
123         EXPECT_TRUE(isSelectorDialogDefaultPossion == true);
124     } else if (deviceType == "2in1") {
125         EXPECT_TRUE(isSelectorDialogDefaultPossion == false);
126     }
127 }
128 
129 /**
130  * @tc.number: AppUtilsTest_0500
131  * @tc.desc: Test IsStartSpecifiedProcess works
132  * @tc.type: FUNC
133  */
134 HWTEST_F(AppUtilsTest, AppUtilsTest_0500, TestSize.Level2)
135 {
136     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_0500 called.");
137     bool isStartSpecifiedProcess = AAFwk::AppUtils::GetInstance().IsStartSpecifiedProcess();
138     std::string deviceType = OHOS::system::GetDeviceType();
139     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
140     if (deviceType == "default") {
141         EXPECT_TRUE(isStartSpecifiedProcess == false);
142     } else if (deviceType == "phone") {
143         EXPECT_TRUE(isStartSpecifiedProcess == false);
144     } else if (deviceType == "2in1") {
145         EXPECT_TRUE(isStartSpecifiedProcess == true);
146     }
147 }
148 
149 /**
150  * @tc.number: AppUtilsTest_0600
151  * @tc.desc: Test IsUseMultiRenderProcess works
152  * @tc.type: FUNC
153  */
154 HWTEST_F(AppUtilsTest, AppUtilsTest_0600, TestSize.Level2)
155 {
156     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_0600 called.");
157     bool isUseMultiRenderProcess = AAFwk::AppUtils::GetInstance().IsUseMultiRenderProcess();
158     std::string deviceType = OHOS::system::GetDeviceType();
159     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
160     if (deviceType == "default") {
161         EXPECT_TRUE(isUseMultiRenderProcess == true);
162     } else if (deviceType == "phone") {
163         EXPECT_TRUE(isUseMultiRenderProcess == true);
164     } else if (deviceType == "2in1") {
165         EXPECT_TRUE(isUseMultiRenderProcess == true);
166     }
167 }
168 
169 /**
170  * @tc.number: AppUtilsTest_0700
171  * @tc.desc: Test IsLimitMaximumOfRenderProcess works
172  * @tc.type: FUNC
173  */
174 HWTEST_F(AppUtilsTest, AppUtilsTest_0700, TestSize.Level2)
175 {
176     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_0700 called.");
177     bool isLimitMaximumOfRenderProcess = AAFwk::AppUtils::GetInstance().IsLimitMaximumOfRenderProcess();
178     std::string deviceType = OHOS::system::GetDeviceType();
179     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
180     if (deviceType == "default") {
181         EXPECT_TRUE(isLimitMaximumOfRenderProcess == true);
182     } else if (deviceType == "phone") {
183         EXPECT_TRUE(isLimitMaximumOfRenderProcess == true);
184     } else if (deviceType == "2in1") {
185         EXPECT_TRUE(isLimitMaximumOfRenderProcess == false);
186     }
187 }
188 
189 /**
190  * @tc.number: AppUtilsTest_0800
191  * @tc.desc: Test IsGrantPersistUriPermission works
192  * @tc.type: FUNC
193  */
194 HWTEST_F(AppUtilsTest, AppUtilsTest_0800, TestSize.Level2)
195 {
196     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_0800 called.");
197     bool isGrantPersistUriPermission = AAFwk::AppUtils::GetInstance().IsGrantPersistUriPermission();
198     std::string deviceType = OHOS::system::GetDeviceType();
199     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
200     if (deviceType == "default") {
201         EXPECT_TRUE(isGrantPersistUriPermission == false);
202     } else if (deviceType == "phone") {
203         EXPECT_TRUE(isGrantPersistUriPermission == false);
204     } else if (deviceType == "2in1") {
205         EXPECT_TRUE(isGrantPersistUriPermission == true);
206     }
207 }
208 
209 /**
210  * @tc.number: AppUtilsTest_0900
211  * @tc.desc: Test IsStartOptionsWithAnimation works
212  * @tc.type: FUNC
213  */
214 HWTEST_F(AppUtilsTest, AppUtilsTest_0900, TestSize.Level2)
215 {
216     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_0900 called.");
217     bool isStartOptionsWithAnimation = AAFwk::AppUtils::GetInstance().IsStartOptionsWithAnimation();
218     std::string deviceType = OHOS::system::GetDeviceType();
219     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
220     if (deviceType == "default") {
221         EXPECT_TRUE(isStartOptionsWithAnimation == false);
222     } else if (deviceType == "phone") {
223         EXPECT_TRUE(isStartOptionsWithAnimation == false);
224     } else if (deviceType == "2in1") {
225         EXPECT_TRUE(isStartOptionsWithAnimation == true);
226     }
227 }
228 
229 /**
230  * @tc.number: AppUtilsTest_1000
231  * @tc.desc: Test IsMultiProcessModel works
232  * @tc.type: FUNC
233  */
234 HWTEST_F(AppUtilsTest, AppUtilsTest_1000, TestSize.Level2)
235 {
236     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_1000 called.");
237     bool isMultiProcessModel = AAFwk::AppUtils::GetInstance().IsMultiProcessModel();
238     std::string deviceType = OHOS::system::GetDeviceType();
239     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
240     if (deviceType == "default") {
241         EXPECT_TRUE(isMultiProcessModel == false);
242     } else if (deviceType == "phone") {
243         EXPECT_TRUE(isMultiProcessModel == false);
244     } else if (deviceType == "2in1") {
245         EXPECT_TRUE(isMultiProcessModel == true);
246     }
247 }
248 
249 /**
250  * @tc.number: AppUtilsTest_1100
251  * @tc.desc: Test IsStartOptionsWithProcessOptions works
252  * @tc.type: FUNC
253  */
254 HWTEST_F(AppUtilsTest, AppUtilsTest_1100, TestSize.Level2)
255 {
256     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_1100 called.");
257     bool isStartOptionsWithProcessOptions = AAFwk::AppUtils::GetInstance().IsStartOptionsWithProcessOptions();
258     std::string deviceType = OHOS::system::GetDeviceType();
259     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
260     if (deviceType == "default") {
261         EXPECT_TRUE(isStartOptionsWithProcessOptions == false);
262     } else if (deviceType == "phone") {
263         EXPECT_TRUE(isStartOptionsWithProcessOptions == false);
264     } else if (deviceType == "2in1") {
265         EXPECT_TRUE(isStartOptionsWithProcessOptions == true);
266     }
267 }
268 
269 /**
270  * @tc.number: AppUtilsTest_1200
271  * @tc.desc: Test EnableMoveUIAbilityToBackgroundApi works
272  * @tc.type: FUNC
273  */
274 HWTEST_F(AppUtilsTest, AppUtilsTest_1200, TestSize.Level2)
275 {
276     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_1200 called.");
277     bool enableMoveUIAbilityToBackgroundApi = AAFwk::AppUtils::GetInstance().EnableMoveUIAbilityToBackgroundApi();
278     std::string deviceType = OHOS::system::GetDeviceType();
279     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
280     if (deviceType == "default") {
281         EXPECT_TRUE(enableMoveUIAbilityToBackgroundApi == true);
282     } else if (deviceType == "phone") {
283         EXPECT_TRUE(enableMoveUIAbilityToBackgroundApi == true);
284     } else if (deviceType == "2in1") {
285         EXPECT_TRUE(enableMoveUIAbilityToBackgroundApi == false);
286     }
287 }
288 
289 /**
290  * @tc.number: AppUtilsTest_1300
291  * @tc.desc: Test MaxChildProcess works
292  * @tc.type: FUNC
293  */
294 HWTEST_F(AppUtilsTest, AppUtilsTest_1300, TestSize.Level2)
295 {
296     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_1300 called.");
297     auto maxChildProcess = AAFwk::AppUtils::GetInstance().MaxChildProcess();
298     std::string deviceType = OHOS::system::GetDeviceType();
299     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
300     if (deviceType == "phone" || deviceType == "2in1") {
301         EXPECT_TRUE(maxChildProcess != 0);
302     }
303 }
304 
305 /**
306  * @tc.number: AppUtilsTest_1400
307  * @tc.desc: Test IsAllowNativeChildProcess works
308  * @tc.type: FUNC
309  */
310 HWTEST_F(AppUtilsTest, AppUtilsTest_1400, TestSize.Level2)
311 {
312     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_1400 called.");
313     auto allow = AAFwk::AppUtils::GetInstance().IsAllowNativeChildProcess("com.test.demo");
314     EXPECT_FALSE(allow);
315 }
316 
317 /**
318  * @tc.number: AppUtilsTest_1500
319  * @tc.desc: Test IsSupportMultiInstance works
320  * @tc.type: FUNC
321  */
322 HWTEST_F(AppUtilsTest, AppUtilsTest_1500, TestSize.Level2)
323 {
324     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_1500 called.");
325     bool isSupportMultiInstance = AAFwk::AppUtils::GetInstance().IsSupportMultiInstance();
326     std::string deviceType = OHOS::system::GetDeviceType();
327     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
328     if (deviceType == "default") {
329         EXPECT_TRUE(isSupportMultiInstance == false);
330     } else if (deviceType == "phone") {
331         EXPECT_TRUE(isSupportMultiInstance == false);
332     } else if (deviceType == "2in1") {
333         EXPECT_TRUE(isSupportMultiInstance == true);
334     }
335 }
336 
337 /**
338  * @tc.number: AppUtilsTest_1600
339  * @tc.desc: Test AllowChildProcessInMultiProcessFeatureApp works
340  * @tc.type: FUNC
341  */
342 HWTEST_F(AppUtilsTest, AppUtilsTest_1600, TestSize.Level2)
343 {
344     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_1600 start.");
345     auto &appUtils = AAFwk::AppUtils::GetInstance();
346     bool allow = appUtils.AllowChildProcessInMultiProcessFeatureApp();
347     EXPECT_FALSE(allow);
348 
349     appUtils.allowChildProcessInMultiProcessFeatureApp_.value = true;
350     allow = appUtils.AllowChildProcessInMultiProcessFeatureApp();
351     EXPECT_TRUE(allow);
352     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_1600 end.");
353 }
354 
355 /**
356  * @tc.number: AppUtilsTest_1700
357  * @tc.desc: Test MaxMultiProcessFeatureChildProcess works
358  * @tc.type: FUNC
359  */
360 HWTEST_F(AppUtilsTest, AppUtilsTest_1700, TestSize.Level2)
361 {
362     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_1700 called.");
363     auto &appUtils = AAFwk::AppUtils::GetInstance();
364 
365     appUtils.maxMultiProcessFeatureChildProcess_.isLoaded = true;
366     appUtils.maxMultiProcessFeatureChildProcess_.value = 512;
367     auto maxProcess = appUtils.MaxMultiProcessFeatureChildProcess();
368     EXPECT_TRUE(maxProcess == 512);
369 }
370 
371 /**
372  * @tc.number: AppUtilsTest_1800
373  * @tc.desc: Test InResidentWhiteList works
374  * @tc.desc: Test InResidentWhiteList works
375  * @tc.type: FUNC
376  */
377 HWTEST_F(AppUtilsTest, AppUtilsTest_1800, TestSize.Level2)
378 {
379     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_1800 called.");
380     auto allow = AAFwk::AppUtils::GetInstance().InResidentWhiteList("com.test.demo");
381     EXPECT_FALSE(allow);
382 }
383 
384 /**
385  * @tc.number: AppUtilsTest_1900
386  * @tc.desc: Test GetResidentWhiteList works
387  * @tc.type: FUNC
388  */
389 HWTEST_F(AppUtilsTest, AppUtilsTest_1900, TestSize.Level2)
390 {
391     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_1900 called.");
392     auto residentWhiteList = AAFwk::AppUtils::GetInstance().GetResidentWhiteList();
393     bool isExist = false;
394     for (const auto &item: residentWhiteList) {
395         if (item == "com.test.demo") {
396             isExist = true;
397         }
398     }
399     EXPECT_FALSE(isExist);
400 }
401 
402 /**
403  * @tc.number: AppUtilsTest_2000
404  * @tc.desc: Test IsSupportGrantUriPermission works
405  * @tc.type: FUNC
406  */
407 HWTEST_F(AppUtilsTest, AppUtilsTest_2000, TestSize.Level2)
408 {
409     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_2000 called.");
410     auto isSupport = AAFwk::AppUtils::GetInstance().IsSupportGrantUriPermission();
411     EXPECT_TRUE(isSupport);
412 }
413 
414 /**
415  * @tc.number: AppUtilsTest_2100
416  * @tc.desc: Test IsSupportGrantUriPermission works
417  * @tc.type: FUNC
418  */
419 HWTEST_F(AppUtilsTest, AppUtilsTest_2100, TestSize.Level2)
420 {
421     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_2100 called.");
422     auto &appUtils = AAFwk::AppUtils::GetInstance();
423     appUtils.isGrantTempUriPermission_.isLoaded = true;
424     auto isSupport = appUtils.IsSupportGrantUriPermission();
425     EXPECT_TRUE(isSupport);
426 }
427 
428 /**
429  * @tc.number: IsSupportStartAbilities_0100
430  * @tc.desc: Test IsSupportStartAbilities works
431  * @tc.type: FUNC
432  */
433 HWTEST_F(AppUtilsTest, IsSupportStartAbilities_0100, TestSize.Level2)
434 {
435     TAG_LOGI(AAFwkTag::TEST, "IsSupportStartAbilities_0100 called.");
436     auto &appUtils = AAFwk::AppUtils::GetInstance();
437     appUtils.isSupportStartAbilities_.isLoaded = false;
438     bool isSupportStartAbilities = appUtils.IsSupportStartAbilities();
439     std::string deviceType = OHOS::system::GetDeviceType();
440     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
441     if (deviceType == "default") {
442         EXPECT_TRUE(isSupportStartAbilities == false);
443     } else if (deviceType == "phone") {
444         EXPECT_TRUE(isSupportStartAbilities == true);
445     } else if (deviceType == "2in1") {
446         EXPECT_TRUE(isSupportStartAbilities == false);
447     } else if (deviceType == "tablet") {
448         EXPECT_TRUE(isSupportStartAbilities == true);
449     }
450 }
451 
452 /**
453  * @tc.number: IsSupportStartAbilities_0200
454  * @tc.desc: Test IsSupportStartAbilities works
455  * @tc.type: FUNC
456  */
457 HWTEST_F(AppUtilsTest, IsSupportStartAbilities_0200, TestSize.Level2)
458 {
459     TAG_LOGI(AAFwkTag::TEST, "IsSupportStartAbilities_0100 called.");
460     auto &appUtils = AAFwk::AppUtils::GetInstance();
461     appUtils.isSupportStartAbilities_.isLoaded = true;
462     bool isSupportStartAbilities = appUtils.IsSupportStartAbilities();
463     std::string deviceType = OHOS::system::GetDeviceType();
464     TAG_LOGI(AAFwkTag::TEST, "current deviceType is %{public}s", deviceType.c_str());
465     if (deviceType == "default") {
466         EXPECT_TRUE(isSupportStartAbilities == false);
467     } else if (deviceType == "phone") {
468         EXPECT_TRUE(isSupportStartAbilities == true);
469     } else if (deviceType == "2in1") {
470         EXPECT_TRUE(isSupportStartAbilities == false);
471     } else if (deviceType == "tablet") {
472         EXPECT_TRUE(isSupportStartAbilities == true);
473     }
474 }
475 
476 /**
477  * @tc.number: IsLauncher_0100
478  * @tc.desc: Test IsLauncher works
479  * @tc.type: FUNC
480  */
481 HWTEST_F(AppUtilsTest, IsLauncher_0100, TestSize.Level2)
482 {
483     TAG_LOGI(AAFwkTag::TEST, "IsLauncher_0100 called.");
484     std::string bundleName = "com.ohos.launcher";
485     auto &appUtils = AAFwk::AppUtils::GetInstance();
486     bool result = appUtils.IsLauncher(bundleName);
487     EXPECT_TRUE(result);
488 }
489 
490 /**
491  * @tc.number: IsLauncher_0200
492  * @tc.desc: Test IsLauncher works
493  * @tc.type: FUNC
494  */
495 HWTEST_F(AppUtilsTest, IsLauncher_0200, TestSize.Level2)
496 {
497     TAG_LOGI(AAFwkTag::TEST, "IsLauncher_0200 called.");
498     std::string bundleName = "com.ohos.launcher.test";
499     auto &appUtils = AAFwk::AppUtils::GetInstance();
500     bool result = appUtils.IsLauncher(bundleName);
501     EXPECT_FALSE(result);
502 }
503 
504 /**
505  * @tc.number: IsLauncher_0300
506  * @tc.desc: Test IsLauncher works
507  * @tc.type: FUNC
508  */
509 HWTEST_F(AppUtilsTest, IsLauncher_0300, TestSize.Level2)
510 {
511     TAG_LOGI(AAFwkTag::TEST, "IsLauncher_0200 called.");
512     std::string bundleName = "com.ohos.sceneboard";
513     auto &appUtils = AAFwk::AppUtils::GetInstance();
514     appUtils.isSceneBoard_ = true;
515     bool result = appUtils.IsLauncher(bundleName);
516     EXPECT_TRUE(result);
517 }
518 
519 /**
520  * @tc.number: IsSupportNativeChildProcess_0100
521  * @tc.desc: Test IsSupportNativeChildProcess works
522  * @tc.type: FUNC
523  */
524 HWTEST_F(AppUtilsTest, IsSupportNativeChildProcess_0100, TestSize.Level2)
525 {
526     TAG_LOGI(AAFwkTag::TEST, "IsSupportNativeChildProcess_0100 called.");
527     auto &appUtils = AAFwk::AppUtils::GetInstance();
528     bool result = appUtils.IsSupportNativeChildProcess();
529     EXPECT_FALSE(result);
530 }
531 
532 /**
533  * @tc.number: IsSupportNativeChildProcess_0200
534  * @tc.desc: Test IsSupportNativeChildProcess works
535  * @tc.type: FUNC
536  */
537 HWTEST_F(AppUtilsTest, IsSupportNativeChildProcess_0200, TestSize.Level2)
538 {
539     TAG_LOGI(AAFwkTag::TEST, "IsSupportNativeChildProcess_0200 called.");
540     auto &appUtils = AAFwk::AppUtils::GetInstance();
541     appUtils.isSupportNativeChildProcess_.isLoaded = true;
542     appUtils.isSupportNativeChildProcess_.value = true;
543     bool result = appUtils.IsSupportNativeChildProcess();
544     EXPECT_TRUE(result);
545 }
546 
547 /**
548  * @tc.number: GetAncoAppIdentifiers_0100
549  * @tc.desc: Test GetAncoAppIdentifiers works
550  * @tc.type: FUNC
551  */
552 HWTEST_F(AppUtilsTest, GetAncoAppIdentifiers_0100, TestSize.Level2)
553 {
554     TAG_LOGI(AAFwkTag::TEST, "GetAncoAppIdentifiers_0100 called.");
555     auto &appUtils = AAFwk::AppUtils::GetInstance();
556     std::string result = appUtils.GetAncoAppIdentifiers();
557     EXPECT_EQ(result, "");
558 }
559 
560 /**
561  * @tc.number: IsCacheAbilityEnabled_0100
562  * @tc.desc: Test IsCacheAbilityEnabled works
563  * @tc.type: FUNC
564  */
565 HWTEST_F(AppUtilsTest, IsCacheAbilityEnabled_0100, TestSize.Level2)
566 {
567     TAG_LOGI(AAFwkTag::TEST, "IsCacheAbilityEnabled_0100 called.");
568     auto &appUtils = AAFwk::AppUtils::GetInstance();
569     bool result = appUtils.IsCacheAbilityEnabled();
570     EXPECT_FALSE(result);
571 }
572 
573 /**
574  * @tc.number: IsSupportAppServiceExtension_0100
575  * @tc.desc: Test IsSupportAppServiceExtension works
576  * @tc.type: FUNC
577  */
578 HWTEST_F(AppUtilsTest, IsSupportAppServiceExtension_0100, TestSize.Level2)
579 {
580     TAG_LOGI(AAFwkTag::TEST, "IsSupportAppServiceExtension_0100 called.");
581     auto &appUtils = AAFwk::AppUtils::GetInstance();
582     bool result = appUtils.IsSupportAppServiceExtension();
583     EXPECT_FALSE(result);
584 }
585 
586 /**
587  * @tc.number: IsSupportAppServiceExtension_0200
588  * @tc.desc: Test IsSupportAppServiceExtension works
589  * @tc.type: FUNC
590  */
591 HWTEST_F(AppUtilsTest, IsSupportAppServiceExtension_0200, TestSize.Level2)
592 {
593     TAG_LOGI(AAFwkTag::TEST, "IsSupportAppServiceExtension_0200 called.");
594     auto &appUtils = AAFwk::AppUtils::GetInstance();
595     appUtils.isSupportAppServiceExtension_.isLoaded = true;
596     appUtils.isSupportAppServiceExtension_.value = true;
597     bool result = appUtils.IsSupportAppServiceExtension();
598     EXPECT_TRUE(result);
599 }
600 
601 /**
602  * @tc.number: MaxMultiProcessFeatureChildProcess_0100
603  * @tc.desc: Test MaxMultiProcessFeatureChildProcess works
604  * @tc.type: FUNC
605  */
606 HWTEST_F(AppUtilsTest, MaxMultiProcessFeatureChildProcess_0100, TestSize.Level2)
607 {
608     TAG_LOGI(AAFwkTag::TEST, "MaxMultiProcessFeatureChildProcess_0100 called.");
609     auto &appUtils = AAFwk::AppUtils::GetInstance();
610     appUtils.maxMultiProcessFeatureChildProcess_.isLoaded = false;
611     bool result = appUtils.MaxMultiProcessFeatureChildProcess();
612     EXPECT_FALSE(result);
613 }
614 
615 /**
616  * @tc.number: IsSystemReasonMessage_0100
617  * @tc.desc: Test IsSystemReasonMessage works
618  * @tc.type: FUNC
619  */
620 HWTEST_F(AppUtilsTest, IsSystemReasonMessage_0100, TestSize.Level2)
621 {
622     TAG_LOGI(AAFwkTag::TEST, "IsSystemReasonMessage_0100 called.");
623     auto &appUtils = AAFwk::AppUtils::GetInstance();
624     std::string reasonMessage = "";
625     bool result = appUtils.IsSystemReasonMessage(reasonMessage);
626     EXPECT_FALSE(result);
627 }
628 
629 /**
630  * @tc.number: IsGrantPersistUriPermission_0100
631  * @tc.desc: Test IsGrantPersistUriPermission works
632  * @tc.type: FUNC
633  */
634 HWTEST_F(AppUtilsTest, IsGrantPersistUriPermission_0100, TestSize.Level2)
635 {
636     TAG_LOGI(AAFwkTag::TEST, "IsGrantPersistUriPermission_0100 called.");
637     auto &appUtils = AAFwk::AppUtils::GetInstance();
638     appUtils.isGrantPersistUriPermission_.isLoaded = false;
639     bool result = appUtils.IsGrantPersistUriPermission();
640     EXPECT_FALSE(result);
641 }
642 
643 /**
644  * @tc.number: GetMigrateClientBundleName_0100
645  * @tc.desc: Test GetMigrateClientBundleName works
646  * @tc.type: FUNC
647  */
648 HWTEST_F(AppUtilsTest, GetMigrateClientBundleName_0100, TestSize.Level2)
649 {
650     TAG_LOGI(AAFwkTag::TEST, "GetMigrateClientBundleName_0100 called.");
651     auto &appUtils = AAFwk::AppUtils::GetInstance();
652     appUtils.migrateClientBundleName_.isLoaded = false;
653     std::string result = appUtils.GetMigrateClientBundleName();
654     EXPECT_EQ(result, "");
655 }
656 
657 /**
658  * @tc.number: IsUseMultiRenderProcess_0100
659  * @tc.desc: Test IsUseMultiRenderProcess works
660  * @tc.type: FUNC
661  */
662 HWTEST_F(AppUtilsTest, IsUseMultiRenderProcess_0100, TestSize.Level2)
663 {
664     TAG_LOGI(AAFwkTag::TEST, "IsUseMultiRenderProcess_0100 called.");
665     auto &appUtils = AAFwk::AppUtils::GetInstance();
666     appUtils.isUseMultiRenderProcess_.isLoaded = false;
667     bool result = appUtils.IsUseMultiRenderProcess();
668     EXPECT_TRUE(result);
669 }
670 
671 /**
672  * @tc.number: IsLaunchEmbededUIAbility_0100
673  * @tc.desc: Test IsLaunchEmbededUIAbility works
674  * @tc.type: FUNC
675  */
676 HWTEST_F(AppUtilsTest, IsLaunchEmbededUIAbility_0100, TestSize.Level2)
677 {
678     TAG_LOGI(AAFwkTag::TEST, "IsLaunchEmbededUIAbility_0100 called.");
679     auto &appUtils = AAFwk::AppUtils::GetInstance();
680     appUtils.isLaunchEmbededUIAbility_.isLoaded = false;
681     bool result = appUtils.IsLaunchEmbededUIAbility();
682     EXPECT_FALSE(result);
683 }
684 
685 /**
686  * @tc.number: AppUtilsTest_2200
687  * @tc.desc: Test IsLauncher works
688  * @tc.type: FUNC
689  */
690 HWTEST_F(AppUtilsTest, AppUtilsTest_2200, TestSize.Level2)
691 {
692     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_2200 called.");
693     auto &appUtils = AAFwk::AppUtils::GetInstance();
694     appUtils.isSceneBoard_ = true;
695     std::string abilityName = "com.ohos.sceneboard";
696     auto isLauncher = appUtils.IsLauncher(abilityName);
697     EXPECT_TRUE(isLauncher);
698 }
699 
700 /**
701  * @tc.number: AppUtilsTest_2300
702  * @tc.desc: Test IsLauncher works
703  * @tc.type: FUNC
704  */
705 HWTEST_F(AppUtilsTest, AppUtilsTest_2300, TestSize.Level2)
706 {
707     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_2300 called.");
708     auto &appUtils = AAFwk::AppUtils::GetInstance();
709     appUtils.isSceneBoard_ = false;
710     std::string abilityName = "com.ohos.launcher";
711     auto isLauncher = appUtils.IsLauncher(abilityName);
712     EXPECT_TRUE(isLauncher);
713 }
714 
715 /**
716  * @tc.number: AppUtilsTest_2400
717  * @tc.desc: Test IsLauncherAbility works
718  * @tc.type: FUNC
719  */
720 HWTEST_F(AppUtilsTest, AppUtilsTest_2400, TestSize.Level2)
721 {
722     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_2400 called.");
723     auto &appUtils = AAFwk::AppUtils::GetInstance();
724     appUtils.isSceneBoard_ = true;
725     std::string abilityName = "com.ohos.sceneboard.MainAbility";
726     auto isLauncherAbility = appUtils.IsLauncherAbility(abilityName);
727     EXPECT_TRUE(isLauncherAbility);
728 }
729 
730 /**
731  * @tc.number: AppUtilsTest_2500
732  * @tc.desc: Test IsLauncherAbility works
733  * @tc.type: FUNC
734  */
735 HWTEST_F(AppUtilsTest, AppUtilsTest_2500, TestSize.Level2)
736 {
737     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_2500 called.");
738     auto &appUtils = AAFwk::AppUtils::GetInstance();
739     appUtils.isSceneBoard_ = false;
740     std::string abilityName = "com.ohos.launcher.MainAbility";
741     auto isLauncherAbility = appUtils.IsLauncherAbility(abilityName);
742     EXPECT_TRUE(isLauncherAbility);
743 }
744 
745 /**
746  * @tc.number: AppUtilsTest_2600
747  * @tc.desc: Test IsLaunchEmbededUIAbility works
748  * @tc.type: FUNC
749  */
750 HWTEST_F(AppUtilsTest, AppUtilsTest_2600, TestSize.Level2)
751 {
752     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_2600 called.");
753     auto &appUtils = AAFwk::AppUtils::GetInstance();
754     appUtils.isLaunchEmbededUIAbility_.isLoaded = false;
755     auto value = OHOS::system::GetBoolParameter("const.abilityms.launch_embeded_ui_ability", false);
756     auto isLaunchEmbededUIAbility = appUtils.IsLaunchEmbededUIAbility();
757     EXPECT_EQ(value, isLaunchEmbededUIAbility);
758 }
759 
760 /**
761  * @tc.number: AppUtilsTest_2700
762  * @tc.desc: Test IsLaunchEmbededUIAbility works
763  * @tc.type: FUNC
764  */
765 HWTEST_F(AppUtilsTest, AppUtilsTest_2700, TestSize.Level2)
766 {
767     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_2700 called.");
768     auto &appUtils = AAFwk::AppUtils::GetInstance();
769     appUtils.isLaunchEmbededUIAbility_.isLoaded = true;
770     appUtils.isLaunchEmbededUIAbility_.value = true;
771     auto isLaunchEmbededUIAbility = appUtils.IsLaunchEmbededUIAbility();
772     EXPECT_TRUE(isLaunchEmbededUIAbility);
773 }
774 
775 /**
776  * @tc.number: AppUtilsTest_2800
777  * @tc.desc: Test IsSystemReasonMessage works
778  * @tc.type: FUNC
779  */
780 HWTEST_F(AppUtilsTest, AppUtilsTest_2800, TestSize.Level2)
781 {
782     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_2800 called.");
783     auto &appUtils = AAFwk::AppUtils::GetInstance();
784     std::string reasonMessage = "ReasonMessage_SystemShare";
785     auto isSystemReasonMessage = appUtils.IsSystemReasonMessage(reasonMessage);
786     EXPECT_TRUE(isSystemReasonMessage);
787 }
788 
789 /**
790  * @tc.number: AppUtilsTest_2900
791  * @tc.desc: Test IsCacheAbilityEnabled works
792  * @tc.type: FUNC
793  */
794 HWTEST_F(AppUtilsTest, AppUtilsTest_2900, TestSize.Level2)
795 {
796     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_2900 called.");
797     auto &appUtils = AAFwk::AppUtils::GetInstance();
798     auto value = OHOS::system::GetBoolParameter("persist.sys.abilityms.cache_ability_enable", false);
799     auto isCacheAbilityEnabled = appUtils.IsCacheAbilityEnabled();
800     EXPECT_EQ(value, isCacheAbilityEnabled);
801 }
802 
803 /**
804  * @tc.number: AppUtilsTest_3000
805  * @tc.desc: Test IsSupportAppServiceExtension works
806  * @tc.type: FUNC
807  */
808 HWTEST_F(AppUtilsTest, AppUtilsTest_3000, TestSize.Level2)
809 {
810     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_3000 called.");
811     auto &appUtils = AAFwk::AppUtils::GetInstance();
812     appUtils.isSupportAppServiceExtension_.isLoaded = false;
813     auto value = OHOS::system::GetBoolParameter("const.abilityms.support_app_service", false);
814     auto isSupportAppServiceExtension = appUtils.IsSupportAppServiceExtension();
815     EXPECT_EQ(value, isSupportAppServiceExtension);
816 }
817 
818 /**
819  * @tc.number: AppUtilsTest_3100
820  * @tc.desc: Test IsSupportAppServiceExtension works
821  * @tc.type: FUNC
822  */
823 HWTEST_F(AppUtilsTest, AppUtilsTest_3100, TestSize.Level2)
824 {
825     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_3100 called.");
826     auto &appUtils = AAFwk::AppUtils::GetInstance();
827     appUtils.isSupportAppServiceExtension_.isLoaded = true;
828     appUtils.isSupportAppServiceExtension_.value = true;
829     auto isSupportAppServiceExtension = appUtils.IsSupportAppServiceExtension();
830     EXPECT_TRUE(isSupportAppServiceExtension);
831 }
832 
833 /**
834  * @tc.number: AppUtilsTest_3200
835  * @tc.desc: Test GetAncoAppIdentifiers works
836  * @tc.type: FUNC
837  */
838 HWTEST_F(AppUtilsTest, AppUtilsTest_3200, TestSize.Level2)
839 {
840     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_3200 called.");
841     auto &appUtils = AAFwk::AppUtils::GetInstance();
842     std::string value = system::GetParameter("persist.hmos_fusion_mgr.anco_identifier", "");
843     auto identifiers = appUtils.GetAncoAppIdentifiers();
844     EXPECT_EQ(value, identifiers);
845 }
846 
847 /**
848  * @tc.number: AppUtilsTest_3300
849  * @tc.desc: Test GetMigrateClientBundleName works
850  * @tc.type: FUNC
851  */
852 HWTEST_F(AppUtilsTest, AppUtilsTest_3300, TestSize.Level2)
853 {
854     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_3300 called.");
855     auto &appUtils = AAFwk::AppUtils::GetInstance();
856     appUtils.migrateClientBundleName_.isLoaded = false;
857     auto value = system::GetParameter("const.sys.abilityms.migrate_client_bundle_name", "");
858     auto migrateClientBundleName = appUtils.GetMigrateClientBundleName();
859     EXPECT_EQ(value, migrateClientBundleName);
860 }
861 
862 /**
863  * @tc.number: AppUtilsTest_3400
864  * @tc.desc: Test GetMigrateClientBundleName works
865  * @tc.type: FUNC
866  */
867 HWTEST_F(AppUtilsTest, AppUtilsTest_3400, TestSize.Level2)
868 {
869     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_3400 called.");
870     auto &appUtils = AAFwk::AppUtils::GetInstance();
871     appUtils.migrateClientBundleName_.isLoaded = true;
872     appUtils.migrateClientBundleName_.value = "value";
873     auto migrateClientBundleName = appUtils.GetMigrateClientBundleName();
874     EXPECT_EQ("value", migrateClientBundleName);
875 }
876 
877 /**
878  * @tc.number: AppUtilsTest_3500
879  * @tc.desc: Test GetMigrateClientBundleName works
880  * @tc.type: FUNC
881  */
882 HWTEST_F(AppUtilsTest, AppUtilsTest_3500, TestSize.Level2)
883 {
884     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_3500 called.");
885     auto &appUtils = AAFwk::AppUtils::GetInstance();
886     appUtils.maxMultiProcessFeatureChildProcess_.isLoaded = false;
887     auto value = system::GetIntParameter<int32_t>("const.sys.abilityms.max_multi_process_feature_child_process", 0);
888     auto maxProcess = appUtils.MaxMultiProcessFeatureChildProcess();
889     EXPECT_EQ(value, maxProcess);
890 }
891 
892 /**
893  * @tc.number: AppUtilsTest_3600
894  * @tc.desc: Test IsAllowResidentInExtremeMemory works
895  * @tc.type: FUNC
896  */
897 HWTEST_F(AppUtilsTest, AppUtilsTest_3600, TestSize.Level2)
898 {
899     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_3600 called.");
900     auto &appUtils = AAFwk::AppUtils::GetInstance();
901     appUtils.residentProcessInExtremeMemory_.value.emplace_back("bundleName", "abilityName");
902     std::string bundleName = "bundleName";
903     std::string abilityName = "abilityName";
904     auto ret = appUtils.IsAllowResidentInExtremeMemory(bundleName, abilityName);
905     EXPECT_TRUE(ret);
906 }
907 
908 /**
909  * @tc.number: AppUtilsTest_3700
910  * @tc.desc: Test IsBigMemoryUnrelatedKeepAliveProc works
911  * @tc.type: FUNC
912  */
913 HWTEST_F(AppUtilsTest, AppUtilsTest_3700, TestSize.Level2)
914 {
915     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_3700 called.");
916     auto &appUtils = AAFwk::AppUtils::GetInstance();
917     appUtils.processProhibitedFromRestarting_.value.emplace_back("bundleName");
918     std::string bundleName = "bundleName";
919     auto ret = appUtils.IsBigMemoryUnrelatedKeepAliveProc(bundleName);
920     EXPECT_TRUE(ret);
921 }
922 
923 /**
924  * @tc.number: AppUtilsTest_3800
925  * @tc.desc: Test IsRequireBigMemoryProcess works
926  * @tc.type: FUNC
927  */
928 HWTEST_F(AppUtilsTest, AppUtilsTest_3800, TestSize.Level2)
929 {
930     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_3800 called.");
931     auto &appUtils = AAFwk::AppUtils::GetInstance();
932     appUtils.requireBigMemoryApp_.value.emplace_back("bundleName");
933     std::string bundleName = "bundleName";
934     auto ret = appUtils.IsRequireBigMemoryProcess(bundleName);
935     EXPECT_TRUE(ret);
936 }
937 
938 /**
939  * @tc.number: AppUtilsTest_3900
940  * @tc.desc: Test IsAllowStartAbilityWithoutCallerToken works
941  * @tc.type: FUNC
942  */
943 HWTEST_F(AppUtilsTest, AppUtilsTest_3900, TestSize.Level2)
944 {
945     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_3900 called.");
946     auto &appUtils = AAFwk::AppUtils::GetInstance();
947     appUtils.startAbilityWithoutCallerToken_.value.emplace_back("bundleName", "abilityName");
948     std::string bundleName = "bundleName";
949     std::string abilityName = "abilityName";
950     auto ret = appUtils.IsAllowStartAbilityWithoutCallerToken(bundleName, abilityName);
951     EXPECT_TRUE(ret);
952 }
953 
954 /**
955  * @tc.number: AppUtilsTest_4000
956  * @tc.desc: Test IsSupportNativeChildProcess works
957  * @tc.type: FUNC
958  */
959 HWTEST_F(AppUtilsTest, AppUtilsTest_4000, TestSize.Level2)
960 {
961     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_4000 called.");
962     auto &appUtils = AAFwk::AppUtils::GetInstance();
963     appUtils.isSupportNativeChildProcess_.isLoaded = false;
964     auto value = system::GetBoolParameter("persist.sys.abilityms.start_native_child_process", false);
965     auto isSupportNativeChildProcess = appUtils.IsSupportNativeChildProcess();
966     EXPECT_EQ(value, isSupportNativeChildProcess);
967 }
968 
969 /**
970  * @tc.number: AppUtilsTest_4100
971  * @tc.desc: Test IsSupportNativeChildProcess works
972  * @tc.type: FUNC
973  */
974 HWTEST_F(AppUtilsTest, AppUtilsTest_4100, TestSize.Level2)
975 {
976     TAG_LOGI(AAFwkTag::TEST, "AppUtilsTest_4100 called.");
977     auto &appUtils = AAFwk::AppUtils::GetInstance();
978     appUtils.isSupportNativeChildProcess_.isLoaded = true;
979     appUtils.isSupportNativeChildProcess_.value = true;
980     auto isSupportNativeChildProcess = appUtils.IsSupportNativeChildProcess();
981     EXPECT_TRUE(isSupportNativeChildProcess);
982 }
983 
984 /**
985  * @tc.number: InOnNewProcessEnableList_0100
986  * @tc.desc: Test InOnNewProcessEnableList works
987  * @tc.type: FUNC
988  */
989 HWTEST_F(AppUtilsTest, InOnNewProcessEnableList_0100, TestSize.Level2)
990 {
991     TAG_LOGI(AAFwkTag::TEST, "InOnNewProcessEnableList_0100 called.");
992     std::string bundleName = "cn.wps.office.hap";
993     auto &appUtils = AAFwk::AppUtils::GetInstance();
994     bool result = appUtils.InOnNewProcessEnableList(bundleName);
995     EXPECT_FALSE(result);
996 }
997 
998 /**
999  * @tc.number: InOnNewProcessEnableList_0200
1000  * @tc.desc: Test InOnNewProcessEnableList works
1001  * @tc.type: FUNC
1002  */
1003 HWTEST_F(AppUtilsTest, InOnNewProcessEnableList_0200, TestSize.Level2)
1004 {
1005     TAG_LOGI(AAFwkTag::TEST, "InOnNewProcessEnableList_0200 called.");
1006     std::string bundleName = "cn.wps.office.hap";
1007     auto &appUtils = AAFwk::AppUtils::GetInstance();
1008     appUtils.onNewProcessEnableList_.isLoaded = true;
1009     appUtils.onNewProcessEnableList_.value.emplace_back("cn.wps.office.hap");
1010     bool result = appUtils.InOnNewProcessEnableList(bundleName);
1011     EXPECT_TRUE(result);
1012 }
1013 }  // namespace AbilityRuntime
1014 }  // namespace OHOS
1015