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