• 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 
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  * Feature: MissionInfoMgr
298  * Function: GetMissionInfos
299  * SubFunction: NA
300  * FunctionPoints: MissionInfoMgr GetMissionInfos
301  * EnvConditions: NA
302  * CaseDescription: Verify GetMissionInfos
303  */
304 HWTEST_F(MissionInfoMgrTest, GetMissionInfos_001, TestSize.Level1)
305 {
306     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
307     int userId = 0;
308     missionInfoMgr->Init(userId);
309     missionInfoMgr->missionIdMap_[1] = true;
310     InnerMissionInfo missionInfo;
311     missionInfo.missionInfo.id = 1;
312     missionInfoMgr->missionInfoList_.push_back(missionInfo);
313     std::vector<MissionInfo> missionInfos;
314     EXPECT_EQ(missionInfoMgr->GetMissionInfos(-1, missionInfos), -1);
315 
316     EXPECT_EQ(missionInfoMgr->GetMissionInfos(1, missionInfos), 0);
317 
318     EXPECT_EQ(missionInfoMgr->GetMissionInfos(0, missionInfos), 0);
319 }
320 
321 /*
322  * Feature: MissionInfoMgr
323  * Function: GetMissionInfoById
324  * SubFunction: NA
325  * FunctionPoints: MissionInfoMgr GetMissionInfoById
326  * EnvConditions: NA
327  * CaseDescription: Verify GetMissionInfoById
328  */
329 HWTEST_F(MissionInfoMgrTest, GetMissionInfoById_001, TestSize.Level1)
330 {
331     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
332     int userId = 0;
333     missionInfoMgr->Init(userId);
334     missionInfoMgr->missionIdMap_[1] = true;
335     InnerMissionInfo missionInfo;
336     missionInfo.missionInfo.id = 1;
337     missionInfoMgr->missionInfoList_.push_back(missionInfo);
338     MissionInfo myMissionInfo;
339     auto ret1 = missionInfoMgr->GetMissionInfoById(-1, myMissionInfo);
340     EXPECT_EQ(ret1, -1);
341 
342     auto ret2 = missionInfoMgr->GetMissionInfoById(1, myMissionInfo);
343     EXPECT_EQ(ret2, 0);
344 
345     missionInfo.missionInfo.id = 100;
346     EXPECT_EQ(missionInfoMgr->GetMissionInfoById(1, myMissionInfo), 0);
347 
348     missionInfo.startMethod = 100;
349     EXPECT_EQ(missionInfoMgr->GetMissionInfoById(1, myMissionInfo), 0);
350 
351     missionInfoMgr->missionIdMap_[2] = true;
352     EXPECT_EQ(missionInfoMgr->GetMissionInfoById(2, myMissionInfo), -1);
353 }
354 
355 /*
356  * Feature: MissionInfoMgr
357  * Function: GetInnerMissionInfoById
358  * SubFunction: NA
359  * FunctionPoints: MissionInfoMgr GetInnerMissionInfoById
360  * EnvConditions: NA
361  * CaseDescription: Verify GetInnerMissionInfoById
362  */
363 HWTEST_F(MissionInfoMgrTest, GetInnerMissionInfoById_001, TestSize.Level1)
364 {
365     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
366     int userId = 0;
367     missionInfoMgr->Init(userId);
368     missionInfoMgr->missionIdMap_[1] = true;
369     InnerMissionInfo missionInfo;
370     missionInfo.missionInfo.id = 1;
371     missionInfoMgr->missionInfoList_.push_back(missionInfo);
372     EXPECT_EQ(missionInfoMgr->GetInnerMissionInfoById(1, missionInfo), 0);
373 
374     missionInfoMgr->missionIdMap_[2] = true;
375     EXPECT_EQ(missionInfoMgr->GetInnerMissionInfoById(2, missionInfo), MISSION_NOT_FOUND);
376 }
377 
378 /*
379  * Feature: MissionInfoMgr
380  * Function: FindReusedMissionInfo
381  * SubFunction: NA
382  * FunctionPoints: MissionInfoMgr FindReusedMissionInfo
383  * EnvConditions: NA
384  * CaseDescription: Verify FindReusedMissionInfo
385  */
386 HWTEST_F(MissionInfoMgrTest, FindReusedMissionInfo_001, TestSize.Level1)
387 {
388     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
389     int userId = 0;
390     missionInfoMgr->Init(userId);
391     InnerMissionInfo missionInfo;
392     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("", "", false, missionInfo));
393     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", false, missionInfo));
394 
395     missionInfo.missionInfo.id = 1;
396     missionInfo.launchMode = static_cast<int32_t>(AppExecFwk::LaunchMode::STANDARD);
397     missionInfoMgr->missionInfoList_.push_back(missionInfo);
398     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", false, missionInfo));
399 
400     missionInfoMgr->missionInfoList_.clear();
401     missionInfo.launchMode = static_cast<int32_t>(AppExecFwk::LaunchMode::SINGLETON);
402     missionInfoMgr->missionInfoList_.push_back(missionInfo);
403     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", false, missionInfo));
404     missionInfoMgr->missionInfoList_.clear();
405     missionInfo.missionName = "test";
406     missionInfoMgr->missionInfoList_.push_back(missionInfo);
407     EXPECT_TRUE(missionInfoMgr->FindReusedMissionInfo("test", "", false, missionInfo));
408 
409     missionInfoMgr->missionInfoList_.clear();
410     missionInfo.launchMode = static_cast<int32_t>(AppExecFwk::LaunchMode::SPECIFIED);
411     missionInfoMgr->missionInfoList_.push_back(missionInfo);
412     EXPECT_TRUE(missionInfoMgr->FindReusedMissionInfo("test", "", false, missionInfo));
413 
414     missionInfoMgr->missionInfoList_.clear();
415     missionInfo.missionName = "test1";
416     missionInfoMgr->missionInfoList_.push_back(missionInfo);
417     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", false, missionInfo));
418 
419     missionInfoMgr->missionInfoList_.clear();
420     missionInfo.missionName = "test";
421     missionInfo.specifiedFlag = "flag";
422     missionInfoMgr->missionInfoList_.push_back(missionInfo);
423     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", false, missionInfo));
424 
425     missionInfoMgr->missionInfoList_.clear();
426     missionInfo.specifiedFlag = "";
427     missionInfo.launchMode = 1000;
428     missionInfoMgr->missionInfoList_.push_back(missionInfo);
429     EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", false, missionInfo));
430 
431     missionInfoMgr->missionInfoList_.clear();
432     missionInfo.missionName = "test";
433     missionInfo.launchMode = static_cast<int32_t>(AppExecFwk::LaunchMode::STANDARD);
434     missionInfoMgr->missionInfoList_.push_back(missionInfo);
435     EXPECT_TRUE(missionInfoMgr->FindReusedMissionInfo("test", "", true, missionInfo));
436 }
437 
438 /*
439  * Feature: MissionInfoMgr
440  * Function: UpdateMissionLabel
441  * SubFunction: NA
442  * FunctionPoints: MissionInfoMgr UpdateMissionLabel
443  * EnvConditions: NA
444  * CaseDescription: Verify UpdateMissionLabel
445  */
446 HWTEST_F(MissionInfoMgrTest, UpdateMissionLabel_001, TestSize.Level1)
447 {
448     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
449     int userId = 0;
450     missionInfoMgr->Init(userId);
451     missionInfoMgr->missionIdMap_[1] = true;
452     InnerMissionInfo missionInfo;
453     missionInfo.missionInfo.id = 1;
454     missionInfoMgr->missionInfoList_.push_back(missionInfo);
455 
456     std::string label = "test";
457     auto ret1 = missionInfoMgr->UpdateMissionLabel(-1, label);
458     EXPECT_EQ(ret1, -1);
459 
460     auto ret2 = missionInfoMgr->UpdateMissionLabel(1, label);
461     EXPECT_EQ(ret2, 0);
462 
463     auto temp = missionInfoMgr->taskDataPersistenceMgr_;
464     missionInfoMgr->taskDataPersistenceMgr_.reset();
465     EXPECT_EQ(missionInfoMgr->UpdateMissionLabel(1, label), -1);
466     missionInfoMgr->taskDataPersistenceMgr_ = temp;
467 
468     auto temp1 = missionInfoMgr->taskDataPersistenceMgr_->handler_;
469     missionInfoMgr->taskDataPersistenceMgr_->handler_.reset();
470     EXPECT_EQ(missionInfoMgr->UpdateMissionLabel(1, label), -1);
471     missionInfoMgr->taskDataPersistenceMgr_->handler_ = temp1;
472 }
473 
474 /*
475  * Feature: MissionInfoMgr
476  * Function: LoadAllMissionInfo
477  * SubFunction: NA
478  * FunctionPoints: MissionInfoMgr LoadAllMissionInfo
479  * EnvConditions: NA
480  * CaseDescription: Verify LoadAllMissionInfo
481  */
482 HWTEST_F(MissionInfoMgrTest, LoadAllMissionInfo_001, TestSize.Level1)
483 {
484     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
485     EXPECT_FALSE(missionInfoMgr->LoadAllMissionInfo());
486 
487     int userId = 0;
488     missionInfoMgr->Init(userId);
489     auto temp = missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_;
490     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_.reset();
491     EXPECT_FALSE(missionInfoMgr->LoadAllMissionInfo());
492     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = temp;
493 }
494 
495 /*
496  * Feature: MissionInfoMgr
497  * Function: HandleUnInstallApp
498  * SubFunction: NA
499  * FunctionPoints: MissionInfoMgr HandleUnInstallApp
500  * EnvConditions: NA
501  * CaseDescription: Verify HandleUnInstallApp
502  */
503 HWTEST_F(MissionInfoMgrTest, HandleUnInstallApp_001, TestSize.Level1)
504 {
505     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
506     int userId = 0;
507     missionInfoMgr->Init(userId);
508     std::list<int32_t> missions;
509     missionInfoMgr->HandleUnInstallApp("", 1, missions);
510 
511     missions.push_back(1);
512     missionInfoMgr->HandleUnInstallApp("", 1, missions);
513 }
514 
515 /*
516  * Feature: MissionInfoMgr
517  * Function: GetMatchedMission
518  * SubFunction: NA
519  * FunctionPoints: MissionInfoMgr GetMatchedMission
520  * EnvConditions: NA
521  * CaseDescription: Verify GetMatchedMission
522  */
523 HWTEST_F(MissionInfoMgrTest, GetMatchedMission_001, TestSize.Level1)
524 {
525     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
526     int userId = 0;
527     missionInfoMgr->Init(userId);
528     InnerMissionInfo missionInfo;
529     missionInfo.uid = 1;
530     missionInfo.bundleName = "test";
531     missionInfoMgr->missionInfoList_.push_back(missionInfo);
532     std::list<int32_t> missions;
533     missionInfoMgr->GetMatchedMission("test", 1, missions);
534 }
535 
536 /*
537  * Feature: MissionInfoMgr
538  * Function: Dump
539  * SubFunction: NA
540  * FunctionPoints: MissionInfoMgr Dump
541  * EnvConditions: NA
542  * CaseDescription: Verify Dump
543  */
544 HWTEST_F(MissionInfoMgrTest, Dump_001, TestSize.Level1)
545 {
546     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
547     int userId = 0;
548     missionInfoMgr->Init(userId);
549     missionInfoMgr->missionIdMap_[1] = true;
550     InnerMissionInfo missionInfo;
551     missionInfo.missionInfo.id = 1;
552     missionInfoMgr->missionInfoList_.push_back(missionInfo);
553     std::vector<std::string> info;
554     missionInfoMgr->Dump(info);
555 }
556 
557 /*
558  * Feature: MissionInfoMgr
559  * Function: RegisterSnapshotHandler
560  * SubFunction: NA
561  * FunctionPoints: MissionInfoMgr RegisterSnapshotHandler
562  * EnvConditions: NA
563  * CaseDescription: Verify RegisterSnapshotHandler
564  */
565 HWTEST_F(MissionInfoMgrTest, RegisterSnapshotHandler_001, TestSize.Level1)
566 {
567     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
568     int userId = 0;
569     missionInfoMgr->Init(userId);
570     missionInfoMgr->missionIdMap_[1] = true;
571     InnerMissionInfo missionInfo;
572     missionInfo.missionInfo.id = 1;
573     missionInfoMgr->missionInfoList_.push_back(missionInfo);
574     sptr<ISnapshotHandler> handler = nullptr;
575     missionInfoMgr->RegisterSnapshotHandler(handler);
576     EXPECT_EQ(missionInfoMgr->snapshotHandler_, nullptr);
577 }
578 
579 /*
580  * Feature: MissionInfoMgr
581  * Function: UpdateMissionSnapshot
582  * SubFunction: NA
583  * FunctionPoints: MissionInfoMgr UpdateMissionSnapshot
584  * EnvConditions: NA
585  * CaseDescription: Verify UpdateMissionSnapshot
586  */
587 HWTEST_F(MissionInfoMgrTest, UpdateMissionSnapshot_001, TestSize.Level1)
588 {
589     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
590     int userId = 0;
591     missionInfoMgr->Init(userId);
592     InnerMissionInfo missionInfo;
593     missionInfo.missionInfo.id = 1;
594     missionInfoMgr->missionInfoList_.push_back(missionInfo);
595     MissionSnapshot missionSnapshot;
596     auto temp = missionInfoMgr->snapshotHandler_;
597     missionInfoMgr->snapshotHandler_ = nullptr;
598     EXPECT_FALSE(missionInfoMgr->UpdateMissionSnapshot(1, nullptr, missionSnapshot, true));
599     missionInfoMgr->snapshotHandler_ = temp;
600     EXPECT_FALSE(missionInfoMgr->UpdateMissionSnapshot(1, nullptr, missionSnapshot, true));
601 }
602 
603 #ifdef SUPPORT_GRAPHICS
604 /*
605  * Feature: MissionInfoMgr
606  * Function: GetSnapshot
607  * SubFunction: NA
608  * FunctionPoints: MissionInfoMgr GetSnapshot
609  * EnvConditions: NA
610  * CaseDescription: Verify GetSnapshot
611  */
612 HWTEST_F(MissionInfoMgrTest, GetSnapshot_001, TestSize.Level1)
613 {
614     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
615     int userId = 0;
616     missionInfoMgr->Init(userId);
617     InnerMissionInfo missionInfo;
618     missionInfo.missionInfo.id = 1;
619     missionInfoMgr->missionInfoList_.push_back(missionInfo);
620     MissionSnapshot missionSnapshot;
621     EXPECT_EQ(missionInfoMgr->GetSnapshot(2), nullptr);
622 
623     auto temp = missionInfoMgr->taskDataPersistenceMgr_;
624     missionInfoMgr->taskDataPersistenceMgr_.reset();
625     EXPECT_EQ(missionInfoMgr->GetSnapshot(2), nullptr);
626     missionInfoMgr->taskDataPersistenceMgr_ = temp;
627 
628     auto temp1 = missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_;
629     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_.reset();
630     EXPECT_EQ(missionInfoMgr->GetSnapshot(2), nullptr);
631     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = temp1;
632 }
633 #endif
634 
635 /*
636  * Feature: MissionInfoMgr
637  * Function: GetMissionSnapshot
638  * SubFunction: NA
639  * FunctionPoints: MissionInfoMgr GetMissionSnapshot
640  * EnvConditions: NA
641  * CaseDescription: Verify GetMissionSnapshot
642  */
643 HWTEST_F(MissionInfoMgrTest, GetMissionSnapshot_001, TestSize.Level1)
644 {
645     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
646     sptr<IRemoteObject> abilityToken = nullptr;
647     MissionSnapshot missionSnapshot;
648     EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, true));
649 
650     int userId = 0;
651     missionInfoMgr->Init(userId);
652     InnerMissionInfo info;
653     info.missionInfo.id = 1;
654     missionInfoMgr->missionInfoList_.push_back(info);
655     auto temp = missionInfoMgr->taskDataPersistenceMgr_;
656     missionInfoMgr->taskDataPersistenceMgr_.reset();
657     EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, true));
658     missionInfoMgr->taskDataPersistenceMgr_ = temp;
659 
660     // force
661     auto temp2 = missionInfoMgr->snapshotHandler_;
662     missionInfoMgr->snapshotHandler_ = nullptr;
663     EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, true));
664     missionInfoMgr->snapshotHandler_ = temp2;
665 
666     // taskDataPersistenceMgr_ GetMissionSnapshot return false
667     auto temp3 = missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_;
668     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = nullptr;
669     auto temp4 = missionInfoMgr->snapshotHandler_;
670     missionInfoMgr->snapshotHandler_ = nullptr;
671     EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, false));
672     missionInfoMgr->snapshotHandler_ = temp4;
673     missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = temp3;
674 }
675 
676 #ifdef SUPPORT_GRAPHICS
677 /*
678  * Feature: MissionInfoMgr
679  * Function: CreateWhitePixelMap
680  * SubFunction: NA
681  * FunctionPoints: MissionInfoMgr CreateWhitePixelMap
682  * EnvConditions: NA
683  * CaseDescription: Verify CreateWhitePixelMap
684  */
685 HWTEST_F(MissionInfoMgrTest, CreateWhitePixelMap_001, TestSize.Level1)
686 {
687     auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
688     int userId = 0;
689     missionInfoMgr->Init(userId);
690     missionInfoMgr->missionIdMap_[1] = true;
691     InnerMissionInfo missionInfo;
692     missionInfo.missionInfo.id = 1;
693     missionInfoMgr->missionInfoList_.push_back(missionInfo);
694     Snapshot snapshot;
695     missionInfoMgr->CreateWhitePixelMap(snapshot);
696 }
697 #endif
698 }  // namespace AAFwk
699 }  // namespace OHOS
700