• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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_service.h"
20 #include "mission_list_manager.h"
21 #undef private
22 #undef protected
23 #include "scene_board_judgement.h"
24 
25 using namespace testing;
26 using namespace testing::ext;
27 using namespace OHOS::AppExecFwk;
28 
29 namespace OHOS {
30 namespace AAFwk {
31 namespace {
32 const int32_t USER_ID = 100;
33 const size_t SIZE_ZERO = 0;
34 const std::string STRING_PROCESS_NAME = "process_name";
35 }  // namespace
36 
37 class AbilityManagerServiceDumpTest : public testing::Test {
38 public:
39     static void SetUpTestCase();
40     static void TearDownTestCase();
41     void SetUp();
42     void TearDown();
43 };
44 
SetUpTestCase()45 void AbilityManagerServiceDumpTest::SetUpTestCase()
46 {}
47 
TearDownTestCase()48 void AbilityManagerServiceDumpTest::TearDownTestCase()
49 {}
50 
SetUp()51 void AbilityManagerServiceDumpTest::SetUp()
52 {
53 }
54 
TearDown()55 void AbilityManagerServiceDumpTest::TearDown()
56 {
57 }
58 
59 /**
60  * @tc.name: AbilityManagerService_GetProcessRunningInfosByUserId_0100
61  * @tc.desc: GetProcessRunningInfosByUserId
62  * @tc.type: FUNC
63  * @tc.require: SR000GH1GO
64  */
65 HWTEST_F(AbilityManagerServiceDumpTest, AbilityManagerService_GetProcessRunningInfosByUserId_0100, TestSize.Level1)
66 {
67     auto abilityMs_ = std::make_shared<AbilityManagerService>();
68     std::vector<RunningProcessInfo> info;
69     auto result = abilityMs_->GetProcessRunningInfosByUserId(info, USER_ID);
70     EXPECT_EQ(result, AppMgrResultCode::RESULT_OK);
71 }
72 
73 /**
74  * @tc.name: AbilityManagerService_DumpSysInner_0100
75  * @tc.desc: DumpSysInner
76  * @tc.type: FUNC
77  * @tc.require: SR000GH1GO
78  */
79 HWTEST_F(AbilityManagerServiceDumpTest, AbilityManagerService_DumpSysInner_0100, TestSize.Level1)
80 {
81     auto abilityMs_ = std::make_shared<AbilityManagerService>();
82     std::string args = "-a";
83     std::vector<std::string> info;
84     bool isClient = false;
85     bool isUserID = true;
86     abilityMs_->DumpSysInner(args, info, isClient, isUserID, USER_ID);
87     EXPECT_GT(info.size(), SIZE_ZERO);
88 }
89 
90 /**
91  * @tc.name: AbilityManagerService_DumpSysMissionListInner_0100
92  * @tc.desc: DumpSysMissionListInner
93  * @tc.type: FUNC
94  * @tc.require: SR000GH1GO
95  */
96 HWTEST_F(AbilityManagerServiceDumpTest, AbilityManagerService_DumpSysMissionListInner_0100, TestSize.Level1)
97 {
98     auto abilityMs_ = std::make_shared<AbilityManagerService>();
99     std::string args = "-a";
100     std::vector<std::string> info;
101     bool isClient = false;
102     bool isUserID = true;
103     EXPECT_TRUE(abilityMs_ != nullptr);
104     abilityMs_->DumpSysMissionListInner(args, info, isClient, isUserID, USER_ID);
105     if (!Rosen::SceneBoardJudgement::IsSceneBoardEnabled()) {
106         EXPECT_GT(info.size(), SIZE_ZERO);
107     }
108 }
109 
110 /**
111  * @tc.name: AbilityManagerService_DumpSysAbilityInner_0100
112  * @tc.desc: DumpSysAbilityInner
113  * @tc.type: FUNC
114  * @tc.require: SR000GH1GO
115  */
116 HWTEST_F(AbilityManagerServiceDumpTest, AbilityManagerService_DumpSysAbilityInner_0100, TestSize.Level1)
117 {
118     auto abilityMs_ = std::make_shared<AbilityManagerService>();
119     std::string args = "-a";
120     std::vector<std::string> info;
121     bool isClient = false;
122     bool isUserID = true;
123     abilityMs_->DumpSysAbilityInner(args, info, isClient, isUserID, USER_ID);
124     EXPECT_GT(info.size(), SIZE_ZERO);
125 }
126 
127 /**
128  * @tc.name: AbilityManagerService_DumpSysStateInner_0100
129  * @tc.desc: DumpSysStateInner
130  * @tc.type: FUNC
131  * @tc.require: SR000GH1GO
132  */
133 HWTEST_F(AbilityManagerServiceDumpTest, AbilityManagerService_DumpSysStateInner_0100, TestSize.Level1)
134 {
135     auto abilityMs_ = std::make_shared<AbilityManagerService>();
136     std::string args = "-a";
137     std::vector<std::string> info;
138     bool isClient = false;
139     bool isUserID = true;
140     abilityMs_->DumpSysStateInner(args, info, isClient, isUserID, USER_ID);
141     EXPECT_GT(info.size(), SIZE_ZERO);
142 }
143 
144 /**
145  * @tc.name: AbilityManagerService_DumpSysPendingInner_0100
146  * @tc.desc: DumpSysPendingInner
147  * @tc.type: FUNC
148  * @tc.require: SR000GH1GO
149  */
150 HWTEST_F(AbilityManagerServiceDumpTest, AbilityManagerService_DumpSysPendingInner_0100, TestSize.Level1)
151 {
152     auto abilityMs_ = std::make_shared<AbilityManagerService>();
153     std::string args = "-a";
154     std::vector<std::string> info;
155     bool isClient = false;
156     bool isUserID = true;
157     abilityMs_->DumpSysPendingInner(args, info, isClient, isUserID, USER_ID);
158     EXPECT_GT(info.size(), SIZE_ZERO);
159 }
160 
161 /**
162  * @tc.name: AbilityManagerService_DumpSysProcess_0100
163  * @tc.desc: DumpSysProcess
164  * @tc.type: FUNC
165  * @tc.require: SR000GH1GO
166  */
167 HWTEST_F(AbilityManagerServiceDumpTest, AbilityManagerService_DumpSysProcess_0100, TestSize.Level1)
168 {
169     auto abilityMs_ = std::make_shared<AbilityManagerService>();
170     std::string args = "-a";
171     std::vector<std::string> info;
172     bool isClient = false;
173     bool isUserID = true;
174     abilityMs_->DumpSysProcess(args, info, isClient, isUserID, USER_ID);
175     EXPECT_NE(info.size(), SIZE_ZERO);
176 }
177 
178 /**
179  * @tc.name: AbilityManagerService_DataDumpSysStateInner_0100
180  * @tc.desc: DataDumpSysStateInner
181  * @tc.type: FUNC
182  * @tc.require: SR000GH1GO
183  */
184 HWTEST_F(AbilityManagerServiceDumpTest, AbilityManagerService_DataDumpSysStateInner_0100, TestSize.Level1)
185 {
186     auto abilityMs_ = std::make_shared<AbilityManagerService>();
187     std::string args = "-a";
188     std::vector<std::string> info;
189     bool isClient = false;
190     bool isUserID = true;
191     abilityMs_->DataDumpSysStateInner(args, info, isClient, isUserID, USER_ID);
192     EXPECT_GT(info.size(), SIZE_ZERO);
193 }
194 
195 /**
196  * @tc.name: AbilityManagerService_OnAppStateChanged_0100
197  * @tc.desc: OnAppStateChanged
198  * @tc.type: FUNC
199  * @tc.require: SR000GH1GO
200  */
201 HWTEST_F(AbilityManagerServiceDumpTest, AbilityManagerService_OnAppStateChanged_0100, TestSize.Level1)
202 {
203     auto abilityMs_ = std::make_shared<AbilityManagerService>();
204     abilityMs_->subManagersHelper_ = std::make_shared<SubManagersHelper>(nullptr, nullptr);
205     abilityMs_->subManagersHelper_->currentConnectManager_ = std::make_shared<AbilityConnectManager>(0);
206     EXPECT_NE(abilityMs_->subManagersHelper_->currentConnectManager_, nullptr);
207 
208     Want want;
209     OHOS::AppExecFwk::AbilityInfo abilityInfo;
210     abilityInfo.process = STRING_PROCESS_NAME;
211     OHOS::AppExecFwk::ApplicationInfo applicationInfo;
212     auto abilityRecord = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
213     EXPECT_NE(abilityRecord, nullptr);
214 
215     if (!Rosen::SceneBoardJudgement::IsSceneBoardEnabled()) {
216         auto missionListManager = std::make_shared<MissionListManager>(USER_ID);
217         missionListManager->Init();
218         abilityMs_->subManagersHelper_->currentMissionListManager_ = missionListManager;
219         missionListManager->terminateAbilityList_.push_back(abilityRecord);
220 
221         abilityMs_->subManagersHelper_->currentDataAbilityManager_ = std::make_shared<DataAbilityManager>();
222         EXPECT_NE(abilityMs_->subManagersHelper_->currentDataAbilityManager_, nullptr);
223 
224         AppInfo info;
225         info.processName = STRING_PROCESS_NAME;
226         info.state = AppState::TERMINATED;
227         abilityMs_->OnAppStateChanged(info);
228 
229         abilityRecord = missionListManager->terminateAbilityList_.front();
230         EXPECT_NE(abilityRecord, nullptr);
231         EXPECT_NE(abilityRecord->GetAppState(), AppState::TERMINATED);
232     }
233 }
234 
235 /**
236  * @tc.name: DumpUIExtensionRootHostRunningInfos_0100
237  * @tc.desc: Dump ui extension root host info.
238  * @tc.type: FUNC
239  */
240 HWTEST_F(AbilityManagerServiceDumpTest, DumpUIExtensionRootHostRunningInfos_0100, TestSize.Level1)
241 {
242     auto abilityMs_ = std::make_shared<AbilityManagerService>();
243     ASSERT_NE(abilityMs_, nullptr);
244     pid_t pid = 1;
245     std::vector<std::string> info;
246     abilityMs_->DumpUIExtensionRootHostRunningInfos(pid, info);
247     EXPECT_EQ(info.size(), 0);
248 }
249 
250 /**
251  * @tc.name: DumpUIExtensionProviderRunningInfos_0100
252  * @tc.desc: Dump ui extension provider info.
253  * @tc.type: FUNC
254  */
255 HWTEST_F(AbilityManagerServiceDumpTest, DumpUIExtensionProviderRunningInfos_0100, TestSize.Level1)
256 {
257     auto abilityMs_ = std::make_shared<AbilityManagerService>();
258     ASSERT_NE(abilityMs_, nullptr);
259     pid_t hostPid = 1;
260     std::vector<std::string> info;
261     abilityMs_->DumpUIExtensionRootHostRunningInfos(hostPid, info);
262     EXPECT_EQ(info.size(), 0);
263 }
264 }  // namespace AAFwk
265 }  // namespace OHOS
266