• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-2023 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 "mission_info_mgr.h"
20 #undef private
21 
22 #include "ability_info.h"
23 #include "ability_manager_errors.h"
24 
25 using namespace testing::ext;
26 using namespace OHOS::AppExecFwk;
27 
28 namespace OHOS {
29 namespace AAFwk {
30 class MissionInfoMgrTest : public testing::Test {
31 public:
32     static void SetUpTestCase(void);
33     static void TearDownTestCase(void);
34     void SetUp();
35     void TearDown();
36 };
37 
SetUpTestCase(void)38 void MissionInfoMgrTest::SetUpTestCase(void)
39 {}
TearDownTestCase(void)40 void MissionInfoMgrTest::TearDownTestCase(void)
41 {}
SetUp(void)42 void MissionInfoMgrTest::SetUp(void)
43 {}
TearDown(void)44 void MissionInfoMgrTest::TearDown(void)
45 {}
46 
47 /*
48  * Feature: MissionInfoMgr
49  * Function: GenerateMissionId
50  * SubFunction: NA
51  * FunctionPoints: MissionInfoMgr GenerateMissionId
52  * EnvConditions: NA
53  * CaseDescription: Verify GenerateMissionId
54  */
55 HWTEST_F(MissionInfoMgrTest, GenerateMissionId_001, TestSize.Level1)
56 {
57     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
58     missionInfoMgr->currentMissionId_ = MAX_MISSION_ID;
59     int32_t missionId = 1;
60     bool res = missionInfoMgr->GenerateMissionId(missionId);
61     EXPECT_TRUE(res);
62 }
63 
64 /*
65  * Feature: MissionInfoMgr
66  * Function: GenerateMissionId
67  * SubFunction: NA
68  * FunctionPoints: MissionInfoMgr GenerateMissionId
69  * EnvConditions: NA
70  * CaseDescription: Verify GenerateMissionId
71  */
72 HWTEST_F(MissionInfoMgrTest, GenerateMissionId_002, TestSize.Level1)
73 {
74     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
75     missionInfoMgr->missionIdMap_[missionInfoMgr->currentMissionId_] = true;
76     int32_t missionId = 1;
77     bool res = missionInfoMgr->GenerateMissionId(missionId);
78     EXPECT_TRUE(res);
79 
80     missionInfoMgr->currentMissionId_ = 1;
81     EXPECT_TRUE(missionInfoMgr->GenerateMissionId(missionId));
82 }
83 
84 /*
85  * Feature: MissionInfoMgr
86  * Function: AddMissionInfo
87  * SubFunction: NA
88  * FunctionPoints: MissionInfoMgr AddMissionInfo
89  * EnvConditions: NA
90  * CaseDescription: Verify AddMissionInfo
91  */
92 HWTEST_F(MissionInfoMgrTest, AddMissionInfo_001, TestSize.Level1)
93 {
94     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
95     int userId = 0;
96     missionInfoMgr->Init(userId);
97     missionInfoMgr->missionIdMap_[1] = true;
98     InnerMissionInfo missionInfo;
99     missionInfo.missionInfo.id = 1;
100     EXPECT_FALSE(missionInfoMgr->AddMissionInfo(missionInfo));
101 
102     missionInfoMgr->missionIdMap_[1] = false;
103     missionInfoMgr->DeleteMissionInfo(1);
104     EXPECT_TRUE(missionInfoMgr->AddMissionInfo(missionInfo));
105 }
106 
107 /*
108  * Feature: MissionListManager
109  * Function: AddMissionInfo
110  * SubFunction: NA
111  * FunctionPoints: MissionInfoMgr AddMissionInfo
112  * EnvConditions: NA
113  * CaseDescription: Verify AddMissionInfo
114  */
115 HWTEST_F(MissionInfoMgrTest, AddMissionInfo_002, TestSize.Level1)
116 {
117     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
118     int userId = 0;
119     missionInfoMgr->Init(userId);
120     InnerMissionInfo missionInfo;
121     missionInfo.missionInfo.time = 'a';
122     missionInfoMgr->missionInfoList_.push_back(missionInfo);
123     missionInfo.missionInfo.time = 'b';
124     missionInfo.missionInfo.id = 1;
125     missionInfoMgr->DeleteMissionInfo(missionInfo.missionInfo.id);
126     bool res = missionInfoMgr->AddMissionInfo(missionInfo);
127     EXPECT_TRUE(res);
128 }
129 
130 /*
131  * Feature: MissionInfoMgr
132  * Function: AddMissionInfo
133  * SubFunction: NA
134  * FunctionPoints: MissionInfoMgr AddMissionInfo
135  * EnvConditions: NA
136  * CaseDescription: Verify AddMissionInfo
137  */
138 HWTEST_F(MissionInfoMgrTest, AddMissionInfo_003, TestSize.Level1)
139 {
140     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
141     int userId = 0;
142     missionInfoMgr->Init(userId);
143     InnerMissionInfo missionInfo;
144     InnerMissionInfo missionInfo2;
145     missionInfo.missionInfo.time = 'a';
146     missionInfo2.missionInfo.time = 'b';
147     missionInfoMgr->missionInfoList_.push_back(missionInfo2);
148     missionInfo.missionInfo.id = 1;
149     missionInfoMgr->DeleteMissionInfo(missionInfo.missionInfo.id);
150     bool res = missionInfoMgr->AddMissionInfo(missionInfo);
151     EXPECT_TRUE(res);
152 }
153 
154 /*
155  * Feature: MissionInfoMgr
156  * Function: AddMissionInfo
157  * SubFunction: NA
158  * FunctionPoints: MissionInfoMgr AddMissionInfo
159  * EnvConditions: NA
160  * CaseDescription: Verify AddMissionInfo
161  */
162 HWTEST_F(MissionInfoMgrTest, AddMissionInfo_004, TestSize.Level1)
163 {
164     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
165     int userId = 0;
166     missionInfoMgr->Init(userId);
167     InnerMissionInfo missionInfo;
168     missionInfo.missionInfo.id = 1;
169     missionInfoMgr->DeleteMissionInfo(missionInfo.missionInfo.id);
170 
171     auto temp = missionInfoMgr->taskDataPersistenceMgr_->handler_;
172     missionInfoMgr->taskDataPersistenceMgr_->handler_.reset();
173     EXPECT_FALSE(missionInfoMgr->AddMissionInfo(missionInfo));
174 }
175 
176 /*
177  * Feature: MissionInfoMgr
178  * Function: UpdateMissionInfo
179  * SubFunction: NA
180  * FunctionPoints: MissionInfoMgr UpdateMissionInfo
181  * EnvConditions: NA
182  * CaseDescription: Verify UpdateMissionInfo
183  */
184 HWTEST_F(MissionInfoMgrTest, UpdateMissionInfo_001, TestSize.Level1)
185 {
186     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
187     InnerMissionInfo missionInfo;
188     missionInfo.missionInfo.id = 1;
189     EXPECT_FALSE(missionInfoMgr->UpdateMissionInfo(missionInfo));
190 
191     missionInfoMgr->missionIdMap_[1] = false;
192     EXPECT_FALSE(missionInfoMgr->UpdateMissionInfo(missionInfo));
193 
194     missionInfoMgr->missionIdMap_[1] = true;
195     EXPECT_FALSE(missionInfoMgr->UpdateMissionInfo(missionInfo));
196 }
197 
198 /*
199  * Feature: MissionInfoMgr
200  * Function: UpdateMissionInfo
201  * SubFunction: NA
202  * FunctionPoints: MissionInfoMgr UpdateMissionInfo
203  * EnvConditions: NA
204  * CaseDescription: Verify UpdateMissionInfo
205  */
206 HWTEST_F(MissionInfoMgrTest, UpdateMissionInfo_002, TestSize.Level1)
207 {
208     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
209     int userId = 0;
210     missionInfoMgr->Init(userId);
211     missionInfoMgr->missionIdMap_[1] = true;
212     missionInfoMgr->missionIdMap_[2] = true;
213     InnerMissionInfo missionInfo;
214     missionInfo.missionInfo.id = 2;
215     missionInfoMgr->missionInfoList_.push_back(missionInfo);
216 
217     auto temp = missionInfoMgr->taskDataPersistenceMgr_->handler_;
218     missionInfoMgr->taskDataPersistenceMgr_->handler_.reset();
219     EXPECT_FALSE(missionInfoMgr->UpdateMissionInfo(missionInfo));
220     missionInfoMgr->taskDataPersistenceMgr_->handler_ = temp;
221 
222     missionInfo.missionInfo.time = 'b';
223     EXPECT_TRUE(missionInfoMgr->UpdateMissionInfo(missionInfo));
224     missionInfoMgr->DeleteMissionInfo(missionInfo.missionInfo.id);
225 }
226 
227 /*
228  * Feature: MissionInfoMgr
229  * Function: UpdateMissionInfo
230  * SubFunction: NA
231  * FunctionPoints: MissionInfoMgr UpdateMissionInfo
232  * EnvConditions: NA
233  * CaseDescription: Verify UpdateMissionInfo
234  */
235 HWTEST_F(MissionInfoMgrTest, UpdateMissionInfo_003, TestSize.Level1)
236 {
237     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
238     int userId = 0;
239     missionInfoMgr->Init(userId);
240     missionInfoMgr->missionIdMap_[1] = true;
241     InnerMissionInfo missionInfo;
242     missionInfo.missionInfo.id = 1;
243     missionInfoMgr->missionInfoList_.push_back(missionInfo);
244     EXPECT_TRUE(missionInfoMgr->UpdateMissionInfo(missionInfo));
245 }
246 
247 /*
248  * Feature: MissionInfoMgr
249  * Function: DeleteMissionInfo
250  * SubFunction: NA
251  * FunctionPoints: MissionInfoMgr DeleteMissionInfo
252  * EnvConditions: NA
253  * CaseDescription: Verify DeleteMissionInfo
254  */
255 HWTEST_F(MissionInfoMgrTest, DeleteMissionInfo_001, TestSize.Level1)
256 {
257     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
258     missionInfoMgr->missionIdMap_[1] = false;
259     EXPECT_TRUE(missionInfoMgr->DeleteMissionInfo(-1));
260     EXPECT_TRUE(missionInfoMgr->DeleteMissionInfo(1));
261 
262     missionInfoMgr->missionIdMap_[1] = true;
263     EXPECT_FALSE(missionInfoMgr->DeleteMissionInfo(1));
264 
265     missionInfoMgr->Init(0);
266     missionInfoMgr->missionIdMap_[1] = true;
267     auto temp = missionInfoMgr->taskDataPersistenceMgr_->handler_;
268     missionInfoMgr->taskDataPersistenceMgr_->handler_ = nullptr;
269     EXPECT_FALSE(missionInfoMgr->DeleteMissionInfo(1));
270     missionInfoMgr->taskDataPersistenceMgr_->handler_ = temp;
271 
272     InnerMissionInfo missionInfo;
273     missionInfo.missionInfo.id = 1;
274     missionInfoMgr->missionInfoList_.push_back(missionInfo);
275     InnerMissionInfo missionInfo2;
276     missionInfo2.missionInfo.id = 2;
277     missionInfoMgr->missionInfoList_.push_back(missionInfo2);
278     missionInfoMgr->missionIdMap_[2] = true;
279     EXPECT_TRUE(missionInfoMgr->DeleteMissionInfo(1));
280 }
281 
282 /*
283  * Feature: MissionInfoMgr
284  * Function: DeleteAllMissionInfos
285  * SubFunction: NA
286  * FunctionPoints: MissionInfoMgr DeleteAllMissionInfos
287  * EnvConditions: NA
288  * CaseDescription: Verify DeleteAllMissionInfos
289  */
290 HWTEST_F(MissionInfoMgrTest, DeleteAllMissionInfos_001, TestSize.Level1)
291 {
292     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
293     EXPECT_FALSE(missionInfoMgr->DeleteAllMissionInfos(nullptr));
294 }
295 
296 /*
297  * @tc.number    : DeleteAllMissionInfos_002
298  * @tc.name      : DeleteAllMissionInfos
299  * @tc.desc      : Test DeleteAllMissionInfos when mission is unclearable
300  */
301 HWTEST_F(MissionInfoMgrTest, DeleteAllMissionInfos_002, TestSize.Level1)
302 {
303     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
304     int userId = 0;
305     missionInfoMgr->Init(userId);
306     InnerMissionInfo missionInfo;
307     missionInfo.missionInfo.id = 1;
308     missionInfo.missionInfo.unclearable = true;
309     missionInfo.missionInfo.runningState = 0;
310     missionInfo.missionInfo.lockedState = false;
311     missionInfoMgr->missionInfoList_.push_back(missionInfo);
312     EXPECT_TRUE(missionInfoMgr->DeleteAllMissionInfos(nullptr));
313     EXPECT_EQ(missionInfoMgr->missionInfoList_.size(), 1);
314     missionInfoMgr->DeleteMissionInfo(missionInfo.missionInfo.id);
315 }
316 
317 /*
318  * Feature: MissionInfoMgr
319  * Function: GetMissionInfos
320  * SubFunction: NA
321  * FunctionPoints: MissionInfoMgr GetMissionInfos
322  * EnvConditions: NA
323  * CaseDescription: Verify GetMissionInfos
324  */
325 HWTEST_F(MissionInfoMgrTest, GetMissionInfos_001, TestSize.Level1)
326 {
327     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
328     int userId = 0;
329     missionInfoMgr->Init(userId);
330     missionInfoMgr->missionIdMap_[1] = true;
331     InnerMissionInfo missionInfo;
332     missionInfo.missionInfo.id = 1;
333     missionInfoMgr->missionInfoList_.push_back(missionInfo);
334     std::vector<MissionInfo> missionInfos;
335     EXPECT_EQ(missionInfoMgr->GetMissionInfos(-1, missionInfos), -1);
336 
337     EXPECT_EQ(missionInfoMgr->GetMissionInfos(1, missionInfos), 0);
338 
339     EXPECT_EQ(missionInfoMgr->GetMissionInfos(0, missionInfos), 0);
340 }
341 
342 /*
343  * Feature: MissionInfoMgr
344  * Function: GetMissionInfoById
345  * SubFunction: NA
346  * FunctionPoints: MissionInfoMgr GetMissionInfoById
347  * EnvConditions: NA
348  * CaseDescription: Verify GetMissionInfoById
349  */
350 HWTEST_F(MissionInfoMgrTest, GetMissionInfoById_001, TestSize.Level1)
351 {
352     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
353     int userId = 0;
354     missionInfoMgr->Init(userId);
355     missionInfoMgr->missionIdMap_[1] = true;
356     InnerMissionInfo missionInfo;
357     missionInfo.missionInfo.id = 1;
358     missionInfoMgr->missionInfoList_.push_back(missionInfo);
359     MissionInfo myMissionInfo;
360     auto ret1 = missionInfoMgr->GetMissionInfoById(-1, myMissionInfo);
361     EXPECT_EQ(ret1, -1);
362 
363     auto ret2 = missionInfoMgr->GetMissionInfoById(1, myMissionInfo);
364     EXPECT_EQ(ret2, 0);
365 
366     missionInfo.missionInfo.id = 100;
367     EXPECT_EQ(missionInfoMgr->GetMissionInfoById(1, myMissionInfo), 0);
368 
369     missionInfo.startMethod = 100;
370     EXPECT_EQ(missionInfoMgr->GetMissionInfoById(1, myMissionInfo), 0);
371 }
372 
373 /*
374  * Feature: MissionInfoMgr
375  * Function: GetInnerMissionInfoById
376  * SubFunction: NA
377  * FunctionPoints: MissionInfoMgr GetInnerMissionInfoById
378  * EnvConditions: NA
379  * CaseDescription: Verify GetInnerMissionInfoById
380  */
381 HWTEST_F(MissionInfoMgrTest, GetInnerMissionInfoById_001, TestSize.Level1)
382 {
383     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
384     int userId = 0;
385     missionInfoMgr->Init(userId);
386     missionInfoMgr->missionIdMap_[1] = true;
387     InnerMissionInfo missionInfo;
388     missionInfo.missionInfo.id = 1;
389     missionInfoMgr->missionInfoList_.push_back(missionInfo);
390     EXPECT_EQ(missionInfoMgr->GetInnerMissionInfoById(1, missionInfo), 0);
391 }
392 
393 /*
394  * Feature: MissionInfoMgr
395  * Function: FindReusedMissionInfo
396  * SubFunction: NA
397  * FunctionPoints: MissionInfoMgr FindReusedMissionInfo
398  * EnvConditions: NA
399  * CaseDescription: Verify FindReusedMissionInfo
400  */
401 HWTEST_F(MissionInfoMgrTest, FindReusedMissionInfo_001, TestSize.Level1)
402 {
403     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
404     int userId = 0;
405     missionInfoMgr->Init(userId);
406     InnerMissionInfo missionInfo;
407     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("", "", "", false, false, missionInfo));
408     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", "", false, false, missionInfo));
409 
410     missionInfo.missionInfo.id = 1;
411     missionInfo.launchMode = static_cast<int32_t>(AppExecFwk::LaunchMode::STANDARD);
412     missionInfoMgr->missionInfoList_.push_back(missionInfo);
413     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", "", false, false, missionInfo));
414 
415     missionInfoMgr->missionInfoList_.clear();
416     missionInfo.launchMode = static_cast<int32_t>(AppExecFwk::LaunchMode::SINGLETON);
417     missionInfoMgr->missionInfoList_.push_back(missionInfo);
418     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", "", false, false, missionInfo));
419     missionInfoMgr->missionInfoList_.clear();
420     missionInfo.missionName = "test";
421     missionInfoMgr->missionInfoList_.push_back(missionInfo);
422     EXPECT_TRUE(missionInfoMgr->FindReusedMissionInfo("test", "", "", false, false, missionInfo));
423 
424     missionInfoMgr->missionInfoList_.clear();
425     missionInfo.launchMode = static_cast<int32_t>(AppExecFwk::LaunchMode::SPECIFIED);
426     missionInfoMgr->missionInfoList_.push_back(missionInfo);
427     EXPECT_TRUE(missionInfoMgr->FindReusedMissionInfo("test", "", "", false, false, missionInfo));
428 
429     missionInfoMgr->missionInfoList_.clear();
430     missionInfo.missionName = "test1";
431     missionInfoMgr->missionInfoList_.push_back(missionInfo);
432     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", "", false, false, missionInfo));
433 
434     missionInfoMgr->missionInfoList_.clear();
435     missionInfo.missionName = "test";
436     missionInfo.specifiedFlag = "flag";
437     missionInfoMgr->missionInfoList_.push_back(missionInfo);
438     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", "", false, false, missionInfo));
439 
440     missionInfoMgr->missionInfoList_.clear();
441     missionInfo.specifiedFlag = "";
442     missionInfo.launchMode = 1000;
443     missionInfoMgr->missionInfoList_.push_back(missionInfo);
444     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", "", false, false, missionInfo));
445 
446     missionInfoMgr->missionInfoList_.clear();
447     missionInfo.missionName = "test";
448     missionInfo.launchMode = static_cast<int32_t>(AppExecFwk::LaunchMode::STANDARD);
449     missionInfoMgr->missionInfoList_.push_back(missionInfo);
450     EXPECT_TRUE(missionInfoMgr->FindReusedMissionInfo("test", "", "", true, false, missionInfo));
451 }
452 
453 /*
454  * Feature: MissionInfoMgr
455  * Function: UpdateMissionLabel
456  * SubFunction: NA
457  * FunctionPoints: MissionInfoMgr UpdateMissionLabel
458  * EnvConditions: NA
459  * CaseDescription: Verify UpdateMissionLabel
460  */
461 HWTEST_F(MissionInfoMgrTest, UpdateMissionLabel_001, TestSize.Level1)
462 {
463     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
464     int userId = 0;
465     missionInfoMgr->Init(userId);
466     missionInfoMgr->missionIdMap_[1] = true;
467     InnerMissionInfo missionInfo;
468     missionInfo.missionInfo.id = 1;
469     missionInfoMgr->missionInfoList_.push_back(missionInfo);
470 
471     std::string label = "test";
472     auto ret1 = missionInfoMgr->UpdateMissionLabel(-1, label);
473     EXPECT_EQ(ret1, -1);
474 
475     auto ret2 = missionInfoMgr->UpdateMissionLabel(1, label);
476     EXPECT_EQ(ret2, 0);
477 
478     auto temp = missionInfoMgr->taskDataPersistenceMgr_;
479     missionInfoMgr->taskDataPersistenceMgr_.reset();
480     EXPECT_EQ(missionInfoMgr->UpdateMissionLabel(1, label), -1);
481     missionInfoMgr->taskDataPersistenceMgr_ = temp;
482 
483     auto temp1 = missionInfoMgr->taskDataPersistenceMgr_->handler_;
484     missionInfoMgr->taskDataPersistenceMgr_->handler_.reset();
485     EXPECT_EQ(missionInfoMgr->UpdateMissionLabel(1, label), -1);
486     missionInfoMgr->taskDataPersistenceMgr_->handler_ = temp1;
487 }
488 
489 /*
490  * Feature: MissionInfoMgr
491  * Function: LoadAllMissionInfo
492  * SubFunction: NA
493  * FunctionPoints: MissionInfoMgr LoadAllMissionInfo
494  * EnvConditions: NA
495  * CaseDescription: Verify LoadAllMissionInfo
496  */
497 HWTEST_F(MissionInfoMgrTest, LoadAllMissionInfo_001, TestSize.Level1)
498 {
499     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
500     EXPECT_FALSE(missionInfoMgr->LoadAllMissionInfo());
501 
502     int userId = 0;
503     missionInfoMgr->Init(userId);
504     auto temp = missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_;
505     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_.reset();
506     EXPECT_FALSE(missionInfoMgr->LoadAllMissionInfo());
507     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = temp;
508 }
509 
510 /*
511  * Feature: MissionInfoMgr
512  * Function: HandleUnInstallApp
513  * SubFunction: NA
514  * FunctionPoints: MissionInfoMgr HandleUnInstallApp
515  * EnvConditions: NA
516  * CaseDescription: Verify HandleUnInstallApp
517  */
518 HWTEST_F(MissionInfoMgrTest, HandleUnInstallApp_001, TestSize.Level1)
519 {
520     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
521     int userId = 0;
522     missionInfoMgr->Init(userId);
523     std::list<int32_t> missions;
524     missionInfoMgr->HandleUnInstallApp("", 1, missions);
525 
526     missions.push_back(1);
527     missionInfoMgr->HandleUnInstallApp("", 1, missions);
528 }
529 
530 /*
531  * Feature: MissionInfoMgr
532  * Function: GetMatchedMission
533  * SubFunction: NA
534  * FunctionPoints: MissionInfoMgr GetMatchedMission
535  * EnvConditions: NA
536  * CaseDescription: Verify GetMatchedMission
537  */
538 HWTEST_F(MissionInfoMgrTest, GetMatchedMission_001, TestSize.Level1)
539 {
540     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
541     int userId = 0;
542     missionInfoMgr->Init(userId);
543     InnerMissionInfo missionInfo;
544     missionInfo.uid = 1;
545     missionInfo.bundleName = "test";
546     missionInfoMgr->missionInfoList_.push_back(missionInfo);
547     std::list<int32_t> missions;
548     missionInfoMgr->GetMatchedMission("test", 1, missions);
549 }
550 
551 /*
552  * Feature: MissionInfoMgr
553  * Function: Dump
554  * SubFunction: NA
555  * FunctionPoints: MissionInfoMgr Dump
556  * EnvConditions: NA
557  * CaseDescription: Verify Dump
558  */
559 HWTEST_F(MissionInfoMgrTest, Dump_001, TestSize.Level1)
560 {
561     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
562     int userId = 0;
563     missionInfoMgr->Init(userId);
564     missionInfoMgr->missionIdMap_[1] = true;
565     InnerMissionInfo missionInfo;
566     missionInfo.missionInfo.id = 1;
567     missionInfoMgr->missionInfoList_.push_back(missionInfo);
568     std::vector<std::string> info;
569     missionInfoMgr->Dump(info);
570 }
571 
572 /*
573  * Feature: MissionInfoMgr
574  * Function: RegisterSnapshotHandler
575  * SubFunction: NA
576  * FunctionPoints: MissionInfoMgr RegisterSnapshotHandler
577  * EnvConditions: NA
578  * CaseDescription: Verify RegisterSnapshotHandler
579  */
580 HWTEST_F(MissionInfoMgrTest, RegisterSnapshotHandler_001, TestSize.Level1)
581 {
582     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
583     int userId = 0;
584     missionInfoMgr->Init(userId);
585     missionInfoMgr->missionIdMap_[1] = true;
586     InnerMissionInfo missionInfo;
587     missionInfo.missionInfo.id = 1;
588     missionInfoMgr->missionInfoList_.push_back(missionInfo);
589     sptr<ISnapshotHandler> handler = nullptr;
590     missionInfoMgr->RegisterSnapshotHandler(handler);
591     EXPECT_EQ(missionInfoMgr->snapshotHandler_, nullptr);
592 }
593 
594 /*
595  * Feature: MissionInfoMgr
596  * Function: UpdateMissionSnapshot
597  * SubFunction: NA
598  * FunctionPoints: MissionInfoMgr UpdateMissionSnapshot
599  * EnvConditions: NA
600  * CaseDescription: Verify UpdateMissionSnapshot
601  */
602 HWTEST_F(MissionInfoMgrTest, UpdateMissionSnapshot_001, TestSize.Level1)
603 {
604     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
605     int userId = 0;
606     missionInfoMgr->Init(userId);
607     InnerMissionInfo missionInfo;
608     missionInfo.missionInfo.id = 1;
609     missionInfoMgr->missionInfoList_.push_back(missionInfo);
610     MissionSnapshot missionSnapshot;
611     auto temp = missionInfoMgr->snapshotHandler_;
612     missionInfoMgr->snapshotHandler_ = nullptr;
613     EXPECT_FALSE(missionInfoMgr->UpdateMissionSnapshot(1, nullptr, missionSnapshot, true));
614     missionInfoMgr->snapshotHandler_ = temp;
615     EXPECT_FALSE(missionInfoMgr->UpdateMissionSnapshot(1, nullptr, missionSnapshot, true));
616 }
617 
618 #ifdef SUPPORT_GRAPHICS
619 /*
620  * Feature: MissionInfoMgr
621  * Function: GetSnapshot
622  * SubFunction: NA
623  * FunctionPoints: MissionInfoMgr GetSnapshot
624  * EnvConditions: NA
625  * CaseDescription: Verify GetSnapshot
626  */
627 HWTEST_F(MissionInfoMgrTest, GetSnapshot_001, TestSize.Level1)
628 {
629     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
630     int userId = 0;
631     missionInfoMgr->Init(userId);
632     InnerMissionInfo missionInfo;
633     missionInfo.missionInfo.id = 1;
634     missionInfoMgr->missionInfoList_.push_back(missionInfo);
635     MissionSnapshot missionSnapshot;
636     EXPECT_EQ(missionInfoMgr->GetSnapshot(2), nullptr);
637 
638     auto temp = missionInfoMgr->taskDataPersistenceMgr_;
639     missionInfoMgr->taskDataPersistenceMgr_.reset();
640     EXPECT_EQ(missionInfoMgr->GetSnapshot(2), nullptr);
641     missionInfoMgr->taskDataPersistenceMgr_ = temp;
642 
643     auto temp1 = missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_;
644     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_.reset();
645     EXPECT_EQ(missionInfoMgr->GetSnapshot(2), nullptr);
646     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = temp1;
647 }
648 #endif
649 
650 /*
651  * Feature: MissionInfoMgr
652  * Function: GetMissionSnapshot
653  * SubFunction: NA
654  * FunctionPoints: MissionInfoMgr GetMissionSnapshot
655  * EnvConditions: NA
656  * CaseDescription: Verify GetMissionSnapshot
657  */
658 HWTEST_F(MissionInfoMgrTest, GetMissionSnapshot_001, TestSize.Level1)
659 {
660     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
661     sptr<IRemoteObject> abilityToken = nullptr;
662     MissionSnapshot missionSnapshot;
663     EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, true));
664 
665     int userId = 0;
666     missionInfoMgr->Init(userId);
667     InnerMissionInfo info;
668     info.missionInfo.id = 1;
669     missionInfoMgr->missionInfoList_.push_back(info);
670     auto temp = missionInfoMgr->taskDataPersistenceMgr_;
671     missionInfoMgr->taskDataPersistenceMgr_.reset();
672     EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, true));
673     missionInfoMgr->taskDataPersistenceMgr_ = temp;
674 
675     // force
676     auto temp2 = missionInfoMgr->snapshotHandler_;
677     missionInfoMgr->snapshotHandler_ = nullptr;
678     EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, true));
679     missionInfoMgr->snapshotHandler_ = temp2;
680 
681     // taskDataPersistenceMgr_ GetMissionSnapshot return false
682     auto temp3 = missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_;
683     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = nullptr;
684     auto temp4 = missionInfoMgr->snapshotHandler_;
685     missionInfoMgr->snapshotHandler_ = nullptr;
686     EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, false));
687     missionInfoMgr->snapshotHandler_ = temp4;
688     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = temp3;
689 }
690 
691 #ifdef SUPPORT_GRAPHICS
692 /*
693  * Feature: MissionInfoMgr
694  * Function: CreateWhitePixelMap
695  * SubFunction: NA
696  * FunctionPoints: MissionInfoMgr CreateWhitePixelMap
697  * EnvConditions: NA
698  * CaseDescription: Verify CreateWhitePixelMap
699  */
700 HWTEST_F(MissionInfoMgrTest, CreateWhitePixelMap_001, TestSize.Level1)
701 {
702     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
703     int userId = 0;
704     missionInfoMgr->Init(userId);
705     missionInfoMgr->missionIdMap_[1] = true;
706     InnerMissionInfo missionInfo;
707     missionInfo.missionInfo.id = 1;
708     missionInfoMgr->missionInfoList_.push_back(missionInfo);
709     Snapshot snapshot;
710     missionInfoMgr->CreateWhitePixelMap(snapshot);
711 }
712 #endif
713 }  // namespace AAFwk
714 }  // namespace OHOS
715