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 #include "ability_info.h"
18 #include "mission.h"
19 #include "mission_list.h"
20
21 using namespace testing::ext;
22 using namespace OHOS::AppExecFwk;
23
24 namespace {
25 const std::string DEVICE_ID = "15010038475446345206a332922cb765";
26 const std::string INVALID_DEVICE_ID = "88880038475446345206a332922c8888";
27 const std::string BUNDLE_NAME = "testBundle";
28 const std::string INVALID_BUNDLE_NAME = "invalidBundle";
29 const std::string NAME = ".testMainAbility";
30 const std::string INVALID_NAME = "invalid.testMainAbility";
31 }
32
33 namespace OHOS {
34 namespace AAFwk {
35 class MissionListTest : public testing::Test {
36 public:
37 static void SetUpTestCase(void);
38 static void TearDownTestCase(void);
39 void SetUp();
40 void TearDown();
41 };
42
SetUpTestCase(void)43 void MissionListTest::SetUpTestCase(void)
44 {}
TearDownTestCase(void)45 void MissionListTest::TearDownTestCase(void)
46 {}
SetUp(void)47 void MissionListTest::SetUp(void)
48 {}
TearDown(void)49 void MissionListTest::TearDown(void)
50 {}
51
52 /*
53 * Feature: MissionList
54 * Function: GetAbilityRecordByName
55 * SubFunction: NA
56 * FunctionPoints: MissionList GetAbilityRecordByName
57 * EnvConditions: NA
58 * CaseDescription: Verify GetAbilityRecordByName
59 */
60 HWTEST_F(MissionListTest, mission_list_get_ability_record_by_name_001, TestSize.Level1)
61 {
62 AppExecFwk::AbilityInfo abilityInfo;
63 abilityInfo.deviceId = DEVICE_ID;
64 abilityInfo.bundleName = BUNDLE_NAME;
65 abilityInfo.name = NAME;
66 Want want;
67 AppExecFwk::ApplicationInfo applicationInfo;
68 std::shared_ptr<AbilityRecord> abilityRecord = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
69
70 auto mission = std::make_shared<Mission>(0, abilityRecord, "launcher");
71 auto missionList = std::make_shared<MissionList>();
72 missionList->AddMissionToTop(mission);
73
74 AppExecFwk::ElementName localElement(DEVICE_ID, BUNDLE_NAME, NAME);
75 EXPECT_EQ(abilityRecord, missionList->GetAbilityRecordByName(localElement));
76 }
77
78 /*
79 * Feature: MissionList
80 * Function: GetAbilityRecordByName
81 * SubFunction: NA
82 * FunctionPoints: MissionList GetAbilityRecordByName
83 * EnvConditions: NA
84 * CaseDescription: Verify GetAbilityRecordByName
85 */
86 HWTEST_F(MissionListTest, mission_list_get_ability_record_by_name_002, TestSize.Level1)
87 {
88 AppExecFwk::AbilityInfo abilityInfo;
89 abilityInfo.deviceId = DEVICE_ID;
90 abilityInfo.bundleName = BUNDLE_NAME;
91 abilityInfo.name = NAME;
92 Want want;
93 AppExecFwk::ApplicationInfo applicationInfo;
94 std::shared_ptr<AbilityRecord> abilityRecord = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
95
96 auto mission = std::make_shared<Mission>(0, abilityRecord, "launcher");
97 auto missionList = std::make_shared<MissionList>();
98 missionList->AddMissionToTop(mission);
99
100 AppExecFwk::ElementName localElement(INVALID_DEVICE_ID, BUNDLE_NAME, NAME);
101 EXPECT_EQ(nullptr, missionList->GetAbilityRecordByName(localElement));
102 }
103
104 /*
105 * Feature: MissionList
106 * Function: GetAbilityRecordByName
107 * SubFunction: NA
108 * FunctionPoints: MissionList GetAbilityRecordByName
109 * EnvConditions: NA
110 * CaseDescription: Verify GetAbilityRecordByName
111 */
112 HWTEST_F(MissionListTest, mission_list_get_ability_record_by_name_003, TestSize.Level1)
113 {
114 AppExecFwk::AbilityInfo abilityInfo;
115 abilityInfo.deviceId = DEVICE_ID;
116 abilityInfo.bundleName = BUNDLE_NAME;
117 abilityInfo.name = NAME;
118 Want want;
119 AppExecFwk::ApplicationInfo applicationInfo;
120 std::shared_ptr<AbilityRecord> abilityRecord = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
121
122 auto mission = std::make_shared<Mission>(0, abilityRecord, "launcher");
123 auto missionList = std::make_shared<MissionList>();
124 missionList->AddMissionToTop(mission);
125
126 AppExecFwk::ElementName localElement(DEVICE_ID, INVALID_BUNDLE_NAME, NAME);
127 EXPECT_EQ(nullptr, missionList->GetAbilityRecordByName(localElement));
128 }
129
130 /*
131 * Feature: MissionList
132 * Function: GetAbilityRecordByName
133 * SubFunction: NA
134 * FunctionPoints: MissionList GetAbilityRecordByName
135 * EnvConditions: NA
136 * CaseDescription: Verify GetAbilityRecordByName
137 */
138 HWTEST_F(MissionListTest, mission_list_get_ability_record_by_name_004, TestSize.Level1)
139 {
140 AppExecFwk::AbilityInfo abilityInfo;
141 abilityInfo.deviceId = DEVICE_ID;
142 abilityInfo.bundleName = BUNDLE_NAME;
143 abilityInfo.name = NAME;
144 Want want;
145 AppExecFwk::ApplicationInfo applicationInfo;
146 std::shared_ptr<AbilityRecord> abilityRecord = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
147
148 auto mission = std::make_shared<Mission>(0, abilityRecord, "launcher");
149 auto missionList = std::make_shared<MissionList>();
150 missionList->AddMissionToTop(mission);
151
152 AppExecFwk::ElementName localElement(DEVICE_ID, BUNDLE_NAME, INVALID_NAME);
153 EXPECT_EQ(nullptr, missionList->GetAbilityRecordByName(localElement));
154 }
155 } // namespace AAFwk
156 } // namespace OHOS
157