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, missionInfo));
408 EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", 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, 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, missionInfo));
419 missionInfoMgr->missionInfoList_.clear();
420 missionInfo.missionName = "test";
421 missionInfoMgr->missionInfoList_.push_back(missionInfo);
422 EXPECT_TRUE(missionInfoMgr->FindReusedMissionInfo("test", "", 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, missionInfo));
428
429 missionInfoMgr->missionInfoList_.clear();
430 missionInfo.missionName = "test1";
431 missionInfoMgr->missionInfoList_.push_back(missionInfo);
432 EXPECT_FALSE(missionInfoMgr->FindReusedMissionInfo("test", "", 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, 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, missionInfo));
445 }
446
447 /*
448 * Feature: MissionInfoMgr
449 * Function: UpdateMissionLabel
450 * SubFunction: NA
451 * FunctionPoints: MissionInfoMgr UpdateMissionLabel
452 * EnvConditions: NA
453 * CaseDescription: Verify UpdateMissionLabel
454 */
455 HWTEST_F(MissionInfoMgrTest, UpdateMissionLabel_001, TestSize.Level1)
456 {
457 auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
458 int userId = 0;
459 missionInfoMgr->Init(userId);
460 missionInfoMgr->missionIdMap_[1] = true;
461 InnerMissionInfo missionInfo;
462 missionInfo.missionInfo.id = 1;
463 missionInfoMgr->missionInfoList_.push_back(missionInfo);
464
465 std::string label = "test";
466 auto ret1 = missionInfoMgr->UpdateMissionLabel(-1, label);
467 EXPECT_EQ(ret1, -1);
468
469 auto ret2 = missionInfoMgr->UpdateMissionLabel(1, label);
470 EXPECT_EQ(ret2, 0);
471
472 auto temp = missionInfoMgr->taskDataPersistenceMgr_;
473 missionInfoMgr->taskDataPersistenceMgr_.reset();
474 EXPECT_EQ(missionInfoMgr->UpdateMissionLabel(1, label), -1);
475 missionInfoMgr->taskDataPersistenceMgr_ = temp;
476
477 auto temp1 = missionInfoMgr->taskDataPersistenceMgr_->handler_;
478 missionInfoMgr->taskDataPersistenceMgr_->handler_.reset();
479 EXPECT_EQ(missionInfoMgr->UpdateMissionLabel(1, label), -1);
480 missionInfoMgr->taskDataPersistenceMgr_->handler_ = temp1;
481 }
482
483 /*
484 * Feature: MissionInfoMgr
485 * Function: LoadAllMissionInfo
486 * SubFunction: NA
487 * FunctionPoints: MissionInfoMgr LoadAllMissionInfo
488 * EnvConditions: NA
489 * CaseDescription: Verify LoadAllMissionInfo
490 */
491 HWTEST_F(MissionInfoMgrTest, LoadAllMissionInfo_001, TestSize.Level1)
492 {
493 auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
494 EXPECT_FALSE(missionInfoMgr->LoadAllMissionInfo());
495
496 int userId = 0;
497 missionInfoMgr->Init(userId);
498 auto temp = missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_;
499 missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_.reset();
500 EXPECT_FALSE(missionInfoMgr->LoadAllMissionInfo());
501 missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = temp;
502 }
503
504 /*
505 * Feature: MissionInfoMgr
506 * Function: HandleUnInstallApp
507 * SubFunction: NA
508 * FunctionPoints: MissionInfoMgr HandleUnInstallApp
509 * EnvConditions: NA
510 * CaseDescription: Verify HandleUnInstallApp
511 */
512 HWTEST_F(MissionInfoMgrTest, HandleUnInstallApp_001, TestSize.Level1)
513 {
514 auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
515 int userId = 0;
516 missionInfoMgr->Init(userId);
517 std::list<int32_t> missions;
518 missionInfoMgr->HandleUnInstallApp("", 1, missions);
519
520 missions.push_back(1);
521 missionInfoMgr->HandleUnInstallApp("", 1, missions);
522 }
523
524 /*
525 * Feature: MissionInfoMgr
526 * Function: GetMatchedMission
527 * SubFunction: NA
528 * FunctionPoints: MissionInfoMgr GetMatchedMission
529 * EnvConditions: NA
530 * CaseDescription: Verify GetMatchedMission
531 */
532 HWTEST_F(MissionInfoMgrTest, GetMatchedMission_001, TestSize.Level1)
533 {
534 auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
535 int userId = 0;
536 missionInfoMgr->Init(userId);
537 InnerMissionInfo missionInfo;
538 missionInfo.uid = 1;
539 missionInfo.bundleName = "test";
540 missionInfoMgr->missionInfoList_.push_back(missionInfo);
541 std::list<int32_t> missions;
542 missionInfoMgr->GetMatchedMission("test", 1, missions);
543 }
544
545 /*
546 * Feature: MissionInfoMgr
547 * Function: Dump
548 * SubFunction: NA
549 * FunctionPoints: MissionInfoMgr Dump
550 * EnvConditions: NA
551 * CaseDescription: Verify Dump
552 */
553 HWTEST_F(MissionInfoMgrTest, Dump_001, TestSize.Level1)
554 {
555 auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
556 int userId = 0;
557 missionInfoMgr->Init(userId);
558 missionInfoMgr->missionIdMap_[1] = true;
559 InnerMissionInfo missionInfo;
560 missionInfo.missionInfo.id = 1;
561 missionInfoMgr->missionInfoList_.push_back(missionInfo);
562 std::vector<std::string> info;
563 missionInfoMgr->Dump(info);
564 }
565
566 /*
567 * Feature: MissionInfoMgr
568 * Function: RegisterSnapshotHandler
569 * SubFunction: NA
570 * FunctionPoints: MissionInfoMgr RegisterSnapshotHandler
571 * EnvConditions: NA
572 * CaseDescription: Verify RegisterSnapshotHandler
573 */
574 HWTEST_F(MissionInfoMgrTest, RegisterSnapshotHandler_001, TestSize.Level1)
575 {
576 auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
577 int userId = 0;
578 missionInfoMgr->Init(userId);
579 missionInfoMgr->missionIdMap_[1] = true;
580 InnerMissionInfo missionInfo;
581 missionInfo.missionInfo.id = 1;
582 missionInfoMgr->missionInfoList_.push_back(missionInfo);
583 sptr<ISnapshotHandler> handler = nullptr;
584 missionInfoMgr->RegisterSnapshotHandler(handler);
585 EXPECT_EQ(missionInfoMgr->snapshotHandler_, nullptr);
586 }
587
588 /*
589 * Feature: MissionInfoMgr
590 * Function: UpdateMissionSnapshot
591 * SubFunction: NA
592 * FunctionPoints: MissionInfoMgr UpdateMissionSnapshot
593 * EnvConditions: NA
594 * CaseDescription: Verify UpdateMissionSnapshot
595 */
596 HWTEST_F(MissionInfoMgrTest, UpdateMissionSnapshot_001, TestSize.Level1)
597 {
598 auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
599 int userId = 0;
600 missionInfoMgr->Init(userId);
601 InnerMissionInfo missionInfo;
602 missionInfo.missionInfo.id = 1;
603 missionInfoMgr->missionInfoList_.push_back(missionInfo);
604 MissionSnapshot missionSnapshot;
605 auto temp = missionInfoMgr->snapshotHandler_;
606 missionInfoMgr->snapshotHandler_ = nullptr;
607 EXPECT_FALSE(missionInfoMgr->UpdateMissionSnapshot(1, nullptr, missionSnapshot, true));
608 missionInfoMgr->snapshotHandler_ = temp;
609 EXPECT_FALSE(missionInfoMgr->UpdateMissionSnapshot(1, nullptr, missionSnapshot, true));
610 }
611
612 #ifdef SUPPORT_GRAPHICS
613 /*
614 * Feature: MissionInfoMgr
615 * Function: GetSnapshot
616 * SubFunction: NA
617 * FunctionPoints: MissionInfoMgr GetSnapshot
618 * EnvConditions: NA
619 * CaseDescription: Verify GetSnapshot
620 */
621 HWTEST_F(MissionInfoMgrTest, GetSnapshot_001, TestSize.Level1)
622 {
623 auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
624 int userId = 0;
625 missionInfoMgr->Init(userId);
626 InnerMissionInfo missionInfo;
627 missionInfo.missionInfo.id = 1;
628 missionInfoMgr->missionInfoList_.push_back(missionInfo);
629 MissionSnapshot missionSnapshot;
630 EXPECT_EQ(missionInfoMgr->GetSnapshot(2), nullptr);
631
632 auto temp = missionInfoMgr->taskDataPersistenceMgr_;
633 missionInfoMgr->taskDataPersistenceMgr_.reset();
634 EXPECT_EQ(missionInfoMgr->GetSnapshot(2), nullptr);
635 missionInfoMgr->taskDataPersistenceMgr_ = temp;
636
637 auto temp1 = missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_;
638 missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_.reset();
639 EXPECT_EQ(missionInfoMgr->GetSnapshot(2), nullptr);
640 missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = temp1;
641 }
642 #endif
643
644 /*
645 * Feature: MissionInfoMgr
646 * Function: GetMissionSnapshot
647 * SubFunction: NA
648 * FunctionPoints: MissionInfoMgr GetMissionSnapshot
649 * EnvConditions: NA
650 * CaseDescription: Verify GetMissionSnapshot
651 */
652 HWTEST_F(MissionInfoMgrTest, GetMissionSnapshot_001, TestSize.Level1)
653 {
654 auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
655 sptr<IRemoteObject> abilityToken = nullptr;
656 MissionSnapshot missionSnapshot;
657 EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, true));
658
659 int userId = 0;
660 missionInfoMgr->Init(userId);
661 InnerMissionInfo info;
662 info.missionInfo.id = 1;
663 missionInfoMgr->missionInfoList_.push_back(info);
664 auto temp = missionInfoMgr->taskDataPersistenceMgr_;
665 missionInfoMgr->taskDataPersistenceMgr_.reset();
666 EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, true));
667 missionInfoMgr->taskDataPersistenceMgr_ = temp;
668
669 // force
670 auto temp2 = missionInfoMgr->snapshotHandler_;
671 missionInfoMgr->snapshotHandler_ = nullptr;
672 EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, true));
673 missionInfoMgr->snapshotHandler_ = temp2;
674
675 // taskDataPersistenceMgr_ GetMissionSnapshot return false
676 auto temp3 = missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_;
677 missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = nullptr;
678 auto temp4 = missionInfoMgr->snapshotHandler_;
679 missionInfoMgr->snapshotHandler_ = nullptr;
680 EXPECT_FALSE(missionInfoMgr->GetMissionSnapshot(1, abilityToken, missionSnapshot, true, false));
681 missionInfoMgr->snapshotHandler_ = temp4;
682 missionInfoMgr->taskDataPersistenceMgr_->currentMissionDataStorage_ = temp3;
683 }
684
685 #ifdef SUPPORT_GRAPHICS
686 /*
687 * Feature: MissionInfoMgr
688 * Function: CreateWhitePixelMap
689 * SubFunction: NA
690 * FunctionPoints: MissionInfoMgr CreateWhitePixelMap
691 * EnvConditions: NA
692 * CaseDescription: Verify CreateWhitePixelMap
693 */
694 HWTEST_F(MissionInfoMgrTest, CreateWhitePixelMap_001, TestSize.Level1)
695 {
696 auto missionInfoMgr = std::make_shared<MissionInfoMgr>();
697 int userId = 0;
698 missionInfoMgr->Init(userId);
699 missionInfoMgr->missionIdMap_[1] = true;
700 InnerMissionInfo missionInfo;
701 missionInfo.missionInfo.id = 1;
702 missionInfoMgr->missionInfoList_.push_back(missionInfo);
703 Snapshot snapshot;
704 missionInfoMgr->CreateWhitePixelMap(snapshot);
705 }
706 #endif
707 } // namespace AAFwk
708 } // namespace OHOS
709