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 #include "workinfo_test.h"
16
17 #include "work_info.h"
18
19 using namespace std;
20 using namespace testing::ext;
21
22 namespace OHOS {
23 namespace WorkScheduler {
SetUpTestCase(void)24 void WorkInfoTest::SetUpTestCase(void)
25 {
26 }
27
TearDownTestCase(void)28 void WorkInfoTest::TearDownTestCase(void)
29 {
30 }
31
SetUp()32 void WorkInfoTest::SetUp()
33 {
34 }
35
TearDown()36 void WorkInfoTest::TearDown()
37 {
38 }
39
40 /**
41 * @tc.name WorkInfoTest001
42 * @tc.desc Set WorkId to WorkInfo
43 * @tc.type FUNC
44 * @tc.require: SR000GGTN6 AR000GH896 AR000GH897 AR000GH898
45 */
46 HWTEST_F (WorkInfoTest, WorkInfoTest001, Function | MediumTest | Level0)
47 {
48 WorkInfo workInfo = WorkInfo();
49 workInfo.SetWorkId(1);
50 EXPECT_EQ(workInfo.GetWorkId(), 1);
51 }
52
53 /**
54 * @tc.name WorkInfoTest002
55 * @tc.desc Set bundleName and abilityName to WorkInfo
56 * @tc.type FUNC
57 * @tc.require: SR000GGTN6 AR000GH896 AR000GH897 AR000GH898
58 */
59 HWTEST_F (WorkInfoTest, WorkInfoTest002, Function | MediumTest | Level0)
60 {
61 WorkInfo workInfo = WorkInfo();
62 workInfo.SetElement("bundle_name", "ability_name");
63 EXPECT_EQ(workInfo.GetBundleName(), "bundle_name");
64 EXPECT_EQ(workInfo.GetAbilityName(), "ability_name");
65 }
66
67 /**
68 * @tc.name WorkInfoTest003
69 * @tc.desc Set workInfo persisted
70 * @tc.type FUNC
71 * @tc.require: SR000GGTN6 AR000GH896 AR000GH897 AR000GH898
72 */
73 HWTEST_F (WorkInfoTest, WorkInfoTest003, Function | MediumTest | Level0)
74 {
75 WorkInfo workInfo = WorkInfo();
76 workInfo.RequestPersisted(true);
77 EXPECT_EQ(workInfo.IsPersisted(), true);
78 workInfo.RequestPersisted(false);
79 EXPECT_EQ(workInfo.IsPersisted(), false);
80 }
81
82 /**
83 * @tc.name WorkInfoTest004
84 * @tc.desc Set workInfo charger condition charging
85 * @tc.type FUNC
86 * @tc.require: SR000GGTN6 AR000GH896 AR000GH897 AR000GH898
87 */
88 HWTEST_F (WorkInfoTest, WorkInfoTest004, Function | MediumTest | Level0)
89 {
90 WorkInfo workInfo = WorkInfo();
91 workInfo.RequestChargerType(true, WorkCondition::Charger::CHARGING_PLUGGED_ANY);
92 EXPECT_EQ(workInfo.GetChargerType(), WorkCondition::Charger::CHARGING_PLUGGED_ANY);
93 }
94
95 /**
96 * @tc.name WorkInfoTest005
97 * @tc.desc Set workInfo charger condiiton discharging
98 * @tc.type FUNC
99 * @tc.require: SR000GGTN6 AR000GH896 AR000GH897 AR000GH898
100 */
101 HWTEST_F (WorkInfoTest, WorkInfoTest005, Function | MediumTest | Level0)
102 {
103 WorkInfo workInfo = WorkInfo();
104 workInfo.RequestChargerType(false, WorkCondition::Charger::CHARGING_UNPLUGGED);
105 EXPECT_EQ(workInfo.GetChargerType(), WorkCondition::Charger::CHARGING_UNPLUGGED);
106 }
107
108 /**
109 * @tc.name WorkInfoTest006
110 * @tc.desc Set workInfo battery condition battery changed
111 * @tc.type FUNC
112 * @tc.require: SR000GGTN6 AR000GH896 AR000GH897 AR000GH898
113 */
114 HWTEST_F (WorkInfoTest, WorkInfoTest006, Function | MediumTest | Level0)
115 {
116 WorkInfo workInfo = WorkInfo();
117 workInfo.RequestBatteryStatus(WorkCondition::BatteryStatus::BATTERY_STATUS_LOW_OR_OKAY);
118 EXPECT_EQ(workInfo.GetBatteryStatus(), WorkCondition::BatteryStatus::BATTERY_STATUS_LOW_OR_OKAY);
119 }
120
121 /**
122 * @tc.name WorkInfoTest007
123 * @tc.desc Set workInfo battery condition battery low
124 * @tc.type FUNC
125 * @tc.require: SR000GGTN6 AR000GH896 AR000GH897 AR000GH898
126 */
127 HWTEST_F (WorkInfoTest, WorkInfoTest007, Function | MediumTest | Level0)
128 {
129 WorkInfo workInfo = WorkInfo();
130 workInfo.RequestBatteryStatus(WorkCondition::BatteryStatus::BATTERY_STATUS_LOW);
131 EXPECT_EQ(workInfo.GetBatteryStatus(), WorkCondition::BatteryStatus::BATTERY_STATUS_LOW);
132 }
133
134 /**
135 * @tc.name WorkInfoTest008
136 * @tc.desc Set workInfo battery condition battery okey
137 * @tc.type FUNC
138 * @tc.require: SR000GGTN6 AR000GH896 AR000GH897 AR000GH898
139 */
140 HWTEST_F (WorkInfoTest, WorkInfoTest008, Function | MediumTest | Level0)
141 {
142 WorkInfo workInfo = WorkInfo();
143 workInfo.RequestBatteryStatus(WorkCondition::BatteryStatus::BATTERY_STATUS_OKAY);
144 EXPECT_EQ(workInfo.GetBatteryStatus(), WorkCondition::BatteryStatus::BATTERY_STATUS_OKAY);
145 }
146
147 /**
148 * @tc.name WorkInfoTest009
149 * @tc.desc Set workInfo storage condition storage change
150 * @tc.type FUNC
151 * @tc.require: SR000GGTN9 AR000GH89M
152 */
153 HWTEST_F (WorkInfoTest, WorkInfoTest009, Function | MediumTest | Level0)
154 {
155 WorkInfo workInfo = WorkInfo();
156 workInfo.RequestStorageLevel(WorkCondition::Storage::STORAGE_LEVEL_LOW_OR_OKAY);
157 EXPECT_EQ(workInfo.GetStorageLevel(), WorkCondition::Storage::STORAGE_LEVEL_LOW_OR_OKAY);
158 }
159
160 /**
161 * @tc.name WorkInfoTest010
162 * @tc.desc Set workInfo storage condition storage low
163 * @tc.type FUNC
164 * @tc.require: SR000GGTN8 AR000GH89J AR000GH89K AR000GH89L
165 */
166 HWTEST_F (WorkInfoTest, WorkInfoTest010, Function | MediumTest | Level0)
167 {
168 WorkInfo workInfo = WorkInfo();
169 workInfo.RequestStorageLevel(WorkCondition::Storage::STORAGE_LEVEL_LOW);
170 EXPECT_EQ(workInfo.GetStorageLevel(), WorkCondition::Storage::STORAGE_LEVEL_LOW);
171 }
172
173 /**
174 * @tc.name WorkInfoTest011
175 * @tc.desc Set workInfo storage condition storage ok
176 * @tc.type FUNC
177 * @tc.require: SR000GGTNB AR000GH89Q
178 */
179 HWTEST_F (WorkInfoTest, WorkInfoTest011, Function | MediumTest | Level0)
180 {
181 WorkInfo workInfo = WorkInfo();
182 workInfo.RequestStorageLevel(WorkCondition::Storage::STORAGE_LEVEL_OKAY);
183 EXPECT_EQ(workInfo.GetStorageLevel(), WorkCondition::Storage::STORAGE_LEVEL_OKAY);
184 }
185
186 /**
187 * @tc.name WorkInfoTest012
188 * @tc.desc Set workInfo network condition
189 * @tc.type FUNC
190 * @tc.require: SR000GGTNA AR000GH89P AR000GH89N AR000GH89O
191 */
192 HWTEST_F (WorkInfoTest, WorkInfoTest012, Function | MediumTest | Level0)
193 {
194 WorkInfo workInfo = WorkInfo();
195 workInfo.RequestNetworkType(WorkCondition::Network::NETWORK_TYPE_ANY);
196 EXPECT_EQ(workInfo.GetNetworkType(), WorkCondition::Network::NETWORK_TYPE_ANY);
197 }
198
199 /**
200 * @tc.name WorkInfoTest013
201 * @tc.desc Set workInfo repeat time condition repeat count 3
202 * @tc.type FUNC
203 * @tc.require: SR000GGTNA AR000GH89P AR000GH89N AR000GH89O
204 */
205 HWTEST_F (WorkInfoTest, WorkInfoTest013, Function | MediumTest | Level0)
206 {
207 uint32_t timeInterval = 120;
208 WorkInfo workInfo = WorkInfo();
209 workInfo.RequestRepeatCycle(timeInterval, 3);
210 EXPECT_EQ(workInfo.GetTimeInterval(), timeInterval);
211 EXPECT_EQ(workInfo.IsRepeat(), false);
212 }
213
214 /**
215 * @tc.name WorkInfoTest014
216 * @tc.desc Set workInfo repeat time condition repeat
217 * @tc.type FUNC
218 * @tc.require: SR000GGTNA AR000GH89P AR000GH89N AR000GH89O
219 */
220 HWTEST_F (WorkInfoTest, WorkInfoTest014, Function | MediumTest | Level0)
221 {
222 uint32_t timeInterval = 120;
223 WorkInfo workInfo = WorkInfo();
224 workInfo.RequestRepeatCycle(timeInterval);
225 EXPECT_EQ(workInfo.GetTimeInterval(), timeInterval);
226 EXPECT_EQ(workInfo.IsRepeat(), true);
227 }
228 }
229 }