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