• 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 #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 }