• 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 #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