1 /*
2 * Copyright (c) 2016-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 "powermgr_service_native_test.h"
17
18 #include "power_common.h"
19 #include "power_mgr_service.h"
20 #include "power_state_machine.h"
21 #include "powermgr_service_test_proxy.h"
22 #include "running_lock_token_stub.h"
23 #include <datetime_ex.h>
24 #include <if_system_ability_manager.h>
25 #include <iostream>
26 #include <ipc_skeleton.h>
27 #include <string_ex.h>
28
29 using namespace OHOS;
30 using namespace OHOS::PowerMgr;
31 using namespace std;
32 using namespace testing::ext;
33
34 namespace {
35 static sptr<PowerMgrService> g_powerMgrService = nullptr;
36 static std::shared_ptr<PowerMgrServiceTestProxy> g_powerMgrServiceProxy = nullptr;
37 constexpr int32_t DISPLAY_POWER_MANAGER_ID = 3308;
38 const std::string TEST_DEVICE_ID = "test_device_id";
39 } // namespace
40
SetUpTestCase()41 void PowerMgrServiceNativeTest::SetUpTestCase()
42 {
43 constexpr const uint32_t WAIT_INIT_TIME_S = 5;
44 g_powerMgrService = DelayedSpSingleton<PowerMgrService>::GetInstance();
45 g_powerMgrService->OnStart();
46 g_powerMgrService->OnAddSystemAbility(DISPLAY_POWER_MANAGER_ID, TEST_DEVICE_ID);
47
48 if (g_powerMgrServiceProxy == nullptr) {
49 g_powerMgrServiceProxy = std::make_shared<PowerMgrServiceTestProxy>(g_powerMgrService);
50 }
51 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
52 // wait for "SetState for INIT" to be done
53 sleep(WAIT_INIT_TIME_S);
54 }
55
TearDownTestCase()56 void PowerMgrServiceNativeTest::TearDownTestCase()
57 {
58 g_powerMgrService->OnStop();
59 DelayedSpSingleton<PowerMgrService>::DestroyInstance();
60 }
61
OnPowerModeChanged(PowerMode mode)62 void PowerMgrServiceNativeTest::PowerModeTestCallback::OnPowerModeChanged(PowerMode mode)
63 {
64 POWER_HILOGI(LABEL_TEST, "PowerModeTestCallback::OnPowerModeChanged");
65 }
66
OnPowerStateChanged(PowerState state)67 void PowerMgrServiceNativeTest::PowerStateTestCallback::OnPowerStateChanged(PowerState state)
68 {
69 POWER_HILOGI(LABEL_TEST, "PowerStateTestCallback::OnPowerStateChanged");
70 }
71
OnScreenStateChanged(uint32_t state)72 void PowerMgrServiceNativeTest::ScreenOffPreTestCallback::OnScreenStateChanged(uint32_t state)
73 {
74 POWER_HILOGI(LABEL_TEST, "ScreenOffPreTestCallback::OnScreenStateChanged.");
75 }
76
HandleRunningLockMessage(std::string message)77 void PowerMgrServiceNativeTest::PowerRunningLockTestCallback::HandleRunningLockMessage(std::string message)
78 {
79 POWER_HILOGD(LABEL_TEST, "PowerRunningLockTestCallback::HandleRunningLockMessage.");
80 }
81 namespace {
82 /**
83 * @tc.name: PowerMgrServiceNativeTest001
84 * @tc.desc: test RefreshActivity
85 * @tc.type: FUNC
86 * @tc.require: issueI67Z62
87 */
88 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest001, TestSize.Level2)
89 {
90 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest001::fun is start");
91 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
92 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
93 g_powerMgrServiceProxy->OverrideScreenOffTime(SCREEN_OFF_WAIT_TIME_MS);
94 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
95 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
96 g_powerMgrServiceProxy->RefreshActivity(GetTickCount());
97 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
98 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
99 g_powerMgrServiceProxy->OverrideScreenOffTime(DEFAULT_SLEEP_TIME);
100 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest001::fun is end");
101 }
102
103 /**
104 * @tc.name: PowerMgrServiceNativeTest002
105 * @tc.desc: test RefreshActivity
106 * @tc.type: FUNC
107 * @tc.require: issueI67Z62
108 */
109 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest002, TestSize.Level2)
110 {
111 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest002::fun is start");
112 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
113 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
114 g_powerMgrServiceProxy->OverrideScreenOffTime(SCREEN_OFF_WAIT_TIME_MS);
115 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
116 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
117 g_powerMgrServiceProxy->RefreshActivity(GetTickCount(), UserActivityType::USER_ACTIVITY_TYPE_BUTTON);
118 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
119 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
120 g_powerMgrServiceProxy->OverrideScreenOffTime(DEFAULT_SLEEP_TIME);
121 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest002::fun is end");
122 }
123
124 /**
125 * @tc.name: PowerMgrServiceNativeTest003
126 * @tc.desc: test RefreshActivity
127 * @tc.type: FUNC
128 * @tc.require: issueI67Z62
129 */
130 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest003, TestSize.Level2)
131 {
132 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest003::fun is start");
133 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
134 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
135 g_powerMgrServiceProxy->OverrideScreenOffTime(SCREEN_OFF_WAIT_TIME_MS);
136 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
137 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
138 g_powerMgrServiceProxy->RefreshActivity(GetTickCount(), UserActivityType::USER_ACTIVITY_TYPE_TOUCH);
139 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
140 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
141 g_powerMgrServiceProxy->OverrideScreenOffTime(DEFAULT_SLEEP_TIME);
142 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest003::fun is end");
143 }
144
145 /**
146 * @tc.name: PowerMgrServiceNativeTest004
147 * @tc.desc: test RefreshActivity
148 * @tc.type: FUNC
149 * @tc.require: issueI67Z62
150 */
151 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest004, TestSize.Level2)
152 {
153 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest004::fun is start");
154 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
155 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
156 g_powerMgrServiceProxy->OverrideScreenOffTime(SCREEN_OFF_WAIT_TIME_MS);
157 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
158 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
159 g_powerMgrServiceProxy->RefreshActivity(GetTickCount(), UserActivityType::USER_ACTIVITY_TYPE_ACCESSIBILITY);
160 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
161 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
162 g_powerMgrServiceProxy->OverrideScreenOffTime(DEFAULT_SLEEP_TIME);
163 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest004::fun is end");
164 }
165
166 /**
167 * @tc.name: PowerMgrServiceNativeTest005
168 * @tc.desc: test RefreshActivity
169 * @tc.type: FUNC
170 * @tc.require: issueI67Z62
171 */
172 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest005, TestSize.Level2)
173 {
174 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest005::fun is start");
175 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
176 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
177 g_powerMgrServiceProxy->OverrideScreenOffTime(SCREEN_OFF_WAIT_TIME_MS);
178 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
179 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
180 g_powerMgrServiceProxy->RefreshActivity(GetTickCount(), UserActivityType::USER_ACTIVITY_TYPE_ATTENTION);
181 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
182 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
183
184 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
185 g_powerMgrServiceProxy->OverrideScreenOffTime(DEFAULT_SLEEP_TIME);
186 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest005::fun is end");
187 }
188
189 /**
190 * @tc.name: PowerMgrServiceNativeTest006
191 * @tc.desc: test RefreshActivity
192 * @tc.type: FUNC
193 * @tc.require: issueI67Z62
194 */
195 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest006, TestSize.Level2)
196 {
197 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest006::fun is start");
198 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
199 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
200 g_powerMgrServiceProxy->OverrideScreenOffTime(SCREEN_OFF_WAIT_TIME_MS);
201 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
202 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
203 g_powerMgrServiceProxy->RefreshActivity(GetTickCount(), UserActivityType::USER_ACTIVITY_TYPE_SOFTWARE);
204 sleep(SCREEN_OFF_WAIT_TIME_S / 2);
205 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
206
207 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
208 g_powerMgrServiceProxy->OverrideScreenOffTime(DEFAULT_SLEEP_TIME);
209 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest006::fun is end");
210 }
211
212 /**
213 * @tc.name: PowerMgrServiceNativeTest007
214 * @tc.desc: test RefreshActivity
215 * @tc.type: FUNC
216 * @tc.require: issueI67Z62
217 */
218 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest007, TestSize.Level2)
219 {
220 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest007::fun is start");
221 UserActivityType abnormaltype = UserActivityType(9);
222 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
223 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
224 g_powerMgrServiceProxy->OverrideScreenOffTime(SCREEN_OFF_WAIT_TIME_MS);
225 usleep(SCREEN_OFF_WAIT_TIME_S * TRANSFER_NS_TO_MS / 2);
226 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
227 g_powerMgrServiceProxy->RefreshActivity(GetTickCount(), abnormaltype);
228 usleep(SCREEN_OFF_WAIT_TIME_S * TRANSFER_NS_TO_MS / 2);
229 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
230 g_powerMgrServiceProxy->OverrideScreenOffTime(DEFAULT_SLEEP_TIME);
231 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest007::fun is end");
232 }
233
234 /**
235 * @tc.name: PowerMgrServiceNativeTest008
236 * @tc.desc: test WakeupDevice
237 * @tc.type: FUNC
238 * @tc.require: issueI67Z62
239 */
240 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest008, TestSize.Level0)
241 {
242 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest008::fun is start");
243 int32_t wakeupReason = (static_cast<int32_t>(WakeupDeviceType::WAKEUP_DEVICE_MAX)) + 1;
244 WakeupDeviceType abnormaltype = WakeupDeviceType(wakeupReason);
245
246 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
247 sleep(SLEEP_WAIT_TIME_S);
248 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
249 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), abnormaltype);
250 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
251 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest008::fun is end");
252 }
253
254 /**
255 * @tc.name: PowerMgrServiceNativeTest009
256 * @tc.desc: test Suspend Device
257 * @tc.type: FUNC
258 * @tc.require: issueI67Z62
259 */
260 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest009, TestSize.Level0)
261 {
262 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest009::fun is start");
263 int32_t suspendReason = (static_cast<int32_t>(SuspendDeviceType::SUSPEND_DEVICE_REASON_MAX)) + 1;
264 SuspendDeviceType abnormaltype = SuspendDeviceType(suspendReason);
265
266 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
267 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
268 g_powerMgrServiceProxy->SuspendDevice(GetTickCount(), abnormaltype, false);
269 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
270
271 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
272 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest009::fun is end");
273 }
274
275 /**
276 * @tc.name: PowerMgrServiceNativeTest010
277 * @tc.desc: test SCREEN_ON RunningLock
278 * @tc.type: FUNC
279 * @tc.require: issueI67Z62
280 */
281 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest010, TestSize.Level2)
282 {
283 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest010:Start");
284 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
285 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
286 int32_t time = SLEEP_WAIT_TIME_MS;
287 sptr<IRemoteObject> token = new RunningLockTokenStub();
288 RunningLockInfo runningLockInfo;
289 runningLockInfo.name = "runninglock";
290 runningLockInfo.type = RunningLockType::RUNNINGLOCK_SCREEN;
291 int32_t timeOutMs = 0;
292 pid_t uid = 0;
293 pid_t pid = 0;
294 auto error = g_powerMgrServiceProxy->CreateRunningLock(token, runningLockInfo);
295 EXPECT_TRUE(error == PowerErrors::ERR_OK);
296 EXPECT_FALSE(g_powerMgrServiceProxy->ProxyRunningLock(true, pid, uid));
297 EXPECT_TRUE(g_powerMgrServiceProxy->ProxyRunningLocks(true, {std::make_pair(pid, uid)}));
298 EXPECT_TRUE(g_powerMgrServiceProxy->ResetRunningLocks());
299 g_powerMgrServiceProxy->OverrideScreenOffTime(time);
300 g_powerMgrServiceProxy->Lock(token);
301 EXPECT_EQ(g_powerMgrServiceProxy->IsUsed(token), true);
302 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
303 usleep(time * TRANSFER_MS_TO_S);
304 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
305 g_powerMgrServiceProxy->UnLock(token);
306 EXPECT_EQ(g_powerMgrServiceProxy->IsUsed(token), false);
307 g_powerMgrServiceProxy->OverrideScreenOffTime(DEFAULT_SLEEP_TIME);
308 EXPECT_TRUE(g_powerMgrServiceProxy->ReleaseRunningLock(token));
309 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest010:End");
310 }
311
312 /**
313 * @tc.name: PowerMgrServiceNativeTest011
314 * @tc.desc: test SCREEN_ON RunningLock
315 * @tc.type: FUNC
316 * @tc.require: issueI67Z62
317 */
318 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest011, TestSize.Level2)
319 {
320 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest011:Start");
321 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
322 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
323 int32_t time = SLEEP_WAIT_TIME_MS;
324 sptr<IRemoteObject> token = new RunningLockTokenStub();
325 RunningLockInfo runningLockInfo;
326 runningLockInfo.name = "runninglock";
327 runningLockInfo.type = RunningLockType::RUNNINGLOCK_SCREEN;
328 int32_t timeOutMs = 0;
329 auto error = g_powerMgrServiceProxy->CreateRunningLock(token, runningLockInfo);
330 EXPECT_TRUE(error == PowerErrors::ERR_OK);
331 g_powerMgrServiceProxy->OverrideScreenOffTime(time);
332
333 g_powerMgrServiceProxy->Lock(token);
334 EXPECT_EQ(g_powerMgrServiceProxy->IsUsed(token), true);
335 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
336 usleep(time * TRANSFER_MS_TO_S * DOUBLE_TIMES);
337 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
338
339 g_powerMgrServiceProxy->UnLock(token);
340 EXPECT_EQ(g_powerMgrServiceProxy->IsUsed(token), false);
341 g_powerMgrServiceProxy->OverrideScreenOffTime(DEFAULT_SLEEP_TIME);
342 EXPECT_TRUE(g_powerMgrServiceProxy->ReleaseRunningLock(token));
343 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest011:End");
344 }
345
346 /**
347 * @tc.name: PowerMgrServiceNativeTest012
348 * @tc.desc: test SCREEN_ON RunningLock
349 * @tc.type: FUNC
350 * @tc.require: issueI67Z62
351 */
352 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest012, TestSize.Level2)
353 {
354 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest012:Start");
355 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
356 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
357 int32_t time = SLEEP_WAIT_TIME_MS;
358 sptr<IRemoteObject> token = new RunningLockTokenStub();
359 RunningLockInfo runningLockInfo;
360 runningLockInfo.name = "runninglock";
361 runningLockInfo.type = RunningLockType::RUNNINGLOCK_SCREEN;
362 int32_t timeOutMs = 0;
363 auto error = g_powerMgrServiceProxy->CreateRunningLock(token, runningLockInfo);
364 EXPECT_TRUE(error == PowerErrors::ERR_OK);
365 g_powerMgrServiceProxy->OverrideScreenOffTime(time);
366
367 g_powerMgrServiceProxy->Lock(token);
368 EXPECT_EQ(g_powerMgrServiceProxy->IsUsed(token), true);
369 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
370 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
371 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
372
373 g_powerMgrServiceProxy->UnLock(token);
374 EXPECT_EQ(g_powerMgrServiceProxy->IsUsed(token), false);
375 g_powerMgrServiceProxy->OverrideScreenOffTime(DEFAULT_SLEEP_TIME);
376 EXPECT_TRUE(g_powerMgrServiceProxy->ReleaseRunningLock(token));
377 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest012:End");
378 }
379
380 /**
381 * @tc.name: PowerMgrServiceNativeTest015
382 * @tc.desc: test SetDisplaySuspend
383 * @tc.type: FUNC
384 * @tc.require: issueI67Z62
385 */
386 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest015, TestSize.Level2)
387 {
388 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest015::fun is start");
389 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
390 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
391 g_powerMgrServiceProxy->SetDisplaySuspend(true);
392
393 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
394 g_powerMgrServiceProxy->SetDisplaySuspend(false);
395 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest015::fun is end");
396 }
397
398 /**
399 * @tc.name: PowerMgrServiceNativeTest016
400 * @tc.desc: test Suspend Device in proxy
401 * @tc.type: FUNC
402 * @tc.require: issueI67Z62
403 */
404 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest016, TestSize.Level0)
405 {
406 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest016::fun is start");
407 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
408 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
409
410 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
411 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
412 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest016::fun is end");
413 }
414
415 /**
416 * @tc.name: PowerMgrServiceNativeTest017
417 * @tc.desc: test Suspend Device
418 * @tc.type: FUNC
419 * @tc.require: issueI67Z62
420 */
421 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest017, TestSize.Level0)
422 {
423 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest017::fun is start");
424 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
425 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
426
427 g_powerMgrServiceProxy->SuspendDevice(GetTickCount(), SuspendDeviceType::SUSPEND_DEVICE_REASON_DEVICE_ADMIN, false);
428 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
429 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest017::fun is end");
430 }
431
432 /**
433 * @tc.name: PowerMgrServiceNativeTest018
434 * @tc.desc: test Suspend Device
435 * @tc.type: FUNC
436 * @tc.require: issueI67Z62
437 */
438 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest018, TestSize.Level0)
439 {
440 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest018::fun is start");
441 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
442 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
443
444 g_powerMgrServiceProxy->SuspendDevice(GetTickCount(), SuspendDeviceType::SUSPEND_DEVICE_REASON_TIMEOUT, false);
445 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
446 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest018::fun is end");
447 }
448
449 /**
450 * @tc.name: PowerMgrServiceNativeTest019
451 * @tc.desc: test Suspend Device
452 * @tc.type: FUNC
453 * @tc.require: issueI67Z62
454 */
455 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest019, TestSize.Level0)
456 {
457 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest019::fun is start");
458 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
459 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
460
461 g_powerMgrServiceProxy->SuspendDevice(GetTickCount(), SuspendDeviceType::SUSPEND_DEVICE_REASON_LID, false);
462 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
463 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest019::fun is end");
464 }
465
466 /**
467 * @tc.name: PowerMgrServiceNativeTest020
468 * @tc.desc: test Suspend Device
469 * @tc.type: FUNC
470 * @tc.require: issueI67Z62
471 */
472 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest020, TestSize.Level0)
473 {
474 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest020::fun is start");
475 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
476 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
477
478 g_powerMgrServiceProxy->SuspendDevice(GetTickCount(), SuspendDeviceType::SUSPEND_DEVICE_REASON_POWER_KEY, false);
479 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
480 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest020::fun is end");
481 }
482
483 /**
484 * @tc.name: PowerMgrServiceNativeTest021
485 * @tc.desc: test Suspend Device
486 * @tc.type: FUNC
487 * @tc.require: issueI67Z62
488 */
489 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest021, TestSize.Level0)
490 {
491 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest021::fun is start");
492 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
493 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
494
495 g_powerMgrServiceProxy->SuspendDevice(GetTickCount(), SuspendDeviceType::SUSPEND_DEVICE_REASON_HDMI, false);
496 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
497 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest021::fun is end");
498 }
499
500 /**
501 * @tc.name: PowerMgrServiceNativeTest022
502 * @tc.desc: test Suspend Device
503 * @tc.type: FUNC
504 * @tc.require: issueI67Z62
505 */
506 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest022, TestSize.Level0)
507 {
508 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest022::fun is start");
509 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
510 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
511
512 g_powerMgrServiceProxy->SuspendDevice(GetTickCount(), SuspendDeviceType::SUSPEND_DEVICE_REASON_SLEEP_KEY, false);
513 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
514 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest022::fun is end");
515 }
516
517 /**
518 * @tc.name: PowerMgrServiceNativeTest023
519 * @tc.desc: test Suspend Device
520 * @tc.type: FUNC
521 * @tc.require: issueI67Z62
522 */
523 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest023, TestSize.Level0)
524 {
525 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest023::fun is start");
526 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
527 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
528
529 g_powerMgrServiceProxy->SuspendDevice(
530 GetTickCount(), SuspendDeviceType::SUSPEND_DEVICE_REASON_ACCESSIBILITY, false);
531 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
532 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest023::fun is end");
533 }
534
535 /**
536 * @tc.name: PowerMgrServiceNativeTest024
537 * @tc.desc: test Suspend Device
538 * @tc.type: FUNC
539 * @tc.require: issueI67Z62
540 */
541 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest024, TestSize.Level0)
542 {
543 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest024::fun is start");
544 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
545 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
546
547 g_powerMgrServiceProxy->SuspendDevice(
548 GetTickCount(), SuspendDeviceType::SUSPEND_DEVICE_REASON_FORCE_SUSPEND, false);
549 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
550 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest024::fun is end");
551 }
552
553 /**
554 * @tc.name: PowerMgrServiceNativeTest025
555 * @tc.desc: test WakeupDevice(int64_t timeMs) in proxy
556 * @tc.type: FUNC
557 * @tc.require: issueI67Z62
558 */
559 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest025, TestSize.Level0)
560 {
561 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest025::fun is start");
562 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
563 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
564
565 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
566 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
567 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
568 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest025::fun is end");
569 }
570
571 /**
572 * @tc.name: PowerMgrServiceNativeTest026
573 * @tc.desc: test WakeupDevice
574 * @tc.type: FUNC
575 * @tc.require: issueI67Z62
576 */
577 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest026, TestSize.Level0)
578 {
579 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest026::fun is start");
580 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
581 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
582
583 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_UNKNOWN);
584 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
585 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
586 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest026::fun is end");
587 }
588
589 /**
590 * @tc.name: PowerMgrServiceNativeTest027
591 * @tc.desc: test WakeupDevice
592 * @tc.type: FUNC
593 * @tc.require: issueI67Z62
594 */
595 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest027, TestSize.Level0)
596 {
597 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest027::fun is start");
598 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
599 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
600
601 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_POWER_BUTTON);
602 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
603 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
604 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest027::fun is end");
605 }
606
607 /**
608 * @tc.name: PowerMgrServiceNativeTest028
609 * @tc.desc: test WakeupDevice
610 * @tc.type: FUNC
611 * @tc.require: issueI67Z62
612 */
613 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest028, TestSize.Level0)
614 {
615 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest028::fun is start");
616 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
617 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
618
619 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_PLUGGED_IN);
620 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
621 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
622 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest028::fun is end");
623 }
624
625 /**
626 * @tc.name: PowerMgrServiceNativeTest029
627 * @tc.desc: test WakeupDevice
628 * @tc.type: FUNC
629 * @tc.require: issueI67Z62
630 */
631 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest029, TestSize.Level0)
632 {
633 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest029::fun is start");
634 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
635 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
636
637 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_GESTURE);
638 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
639 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
640 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest029::fun is end");
641 }
642
643 /**
644 * @tc.name: PowerMgrServiceNativeTest030
645 * @tc.desc: test WakeupDevice
646 * @tc.type: FUNC
647 * @tc.require: issueI67Z62
648 */
649 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest030, TestSize.Level0)
650 {
651 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest030::fun is start");
652 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
653 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
654
655 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_CAMERA_LAUNCH);
656 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
657 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
658 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest030::fun is end");
659 }
660
661 /**
662 * @tc.name: PowerMgrServiceNativeTest031
663 * @tc.desc: test WakeupDevice
664 * @tc.type: FUNC
665 * @tc.require: issueI67Z62
666 */
667 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest031, TestSize.Level0)
668 {
669 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest031::fun is start");
670 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
671 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
672
673 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_WAKE_KEY);
674 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
675 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
676 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest031::fun is end");
677 }
678
679 /**
680 * @tc.name: PowerMgrServiceNativeTest032
681 * @tc.desc: test WakeupDevice
682 * @tc.type: FUNC
683 * @tc.require: issueI67Z62
684 */
685 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest032, TestSize.Level0)
686 {
687 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest032::fun is start");
688 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
689 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
690
691 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_WAKE_MOTION);
692 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
693 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
694 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest032::fun is end");
695 }
696
697 /**
698 * @tc.name: PowerMgrServiceNativeTest033
699 * @tc.desc: test WakeupDevice
700 * @tc.type: FUNC
701 * @tc.require: issueI67Z62
702 */
703 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest033, TestSize.Level0)
704 {
705 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest033::fun is start");
706 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
707 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
708
709 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_HDMI);
710 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
711 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
712 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest033::fun is end");
713 }
714
715 /**
716 * @tc.name: PowerMgrServiceNativeTest034
717 * @tc.desc: test WakeupDevice
718 * @tc.type: FUNC
719 * @tc.require: issueI67Z62
720 */
721 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest034, TestSize.Level0)
722 {
723 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest034::fun is start");
724 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
725 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
726
727 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_LID);
728 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
729 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
730 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest034::fun is end");
731 }
732
733 /**
734 * @tc.name: PowerMgrServiceNativeTest035
735 * @tc.desc: test WakeupDevice
736 * @tc.type: FUNC
737 * @tc.require: issueI67Z62
738 */
739 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest035, TestSize.Level0)
740 {
741 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest035::fun is start");
742 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
743 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
744
745 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_DOUBLE_CLICK);
746 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
747 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
748 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest035::fun is end");
749 }
750
751 /**
752 * @tc.name: PowerMgrServiceNativeTest036
753 * @tc.desc: test WakeupDevice
754 * @tc.type: FUNC
755 * @tc.require: issueI67Z62
756 */
757 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest036, TestSize.Level0)
758 {
759 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest036::fun is start");
760 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
761 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
762
763 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_KEYBOARD);
764 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
765 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
766 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest036::fun is end");
767 }
768
769 /**
770 * @tc.name: PowerMgrServiceNativeTest037
771 * @tc.desc: test WakeupDevice
772 * @tc.type: FUNC
773 * @tc.require: issueI67Z62
774 */
775 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest037, TestSize.Level0)
776 {
777 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest037::fun is start");
778 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
779 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
780
781 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_MOUSE);
782 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
783 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
784 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest037::fun is end");
785 }
786
787 /**
788 * @tc.name: PowerMgrServiceNativeTest038
789 * @tc.desc: test IsRunningLockTypeSupported
790 * @tc.type: FUNC
791 * @tc.require: issueI67Z62
792 */
793 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest038, TestSize.Level2)
794 {
795 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest038:Start");
796 auto ret = g_powerMgrServiceProxy->IsRunningLockTypeSupported(RunningLockType::RUNNINGLOCK_BUTT);
797 EXPECT_EQ(ret, false);
798 ret = g_powerMgrServiceProxy->IsRunningLockTypeSupported(RunningLockType::RUNNINGLOCK_SCREEN);
799 EXPECT_EQ(ret, true);
800 ret = g_powerMgrServiceProxy->IsRunningLockTypeSupported(RunningLockType::RUNNINGLOCK_BACKGROUND);
801 EXPECT_EQ(ret, true);
802 ret = g_powerMgrServiceProxy->IsRunningLockTypeSupported(RunningLockType::RUNNINGLOCK_PROXIMITY_SCREEN_CONTROL);
803 EXPECT_EQ(ret, true);
804 g_powerMgrServiceProxy->WakeupDevice(GetTickCount());
805 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
806 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
807 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
808 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest038:End");
809 }
810
811 /**
812 * @tc.name: PowerMgrServiceNativeTest039
813 * @tc.desc: test Power service function, callback is not nullptr
814 * @tc.type: FUNC
815 * @tc.require: issueI67Z62
816 */
817 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest039, TestSize.Level2)
818 {
819 sptr<IPowerStateCallback> stateCallback = new PowerStateTestCallback();
820 sptr<IPowerModeCallback> modeCallback = new PowerModeTestCallback();
821 sptr<IScreenOffPreCallback> screenOffPreCallback = new ScreenOffPreTestCallback();
822 sptr<IPowerRunninglockCallback> RunninglockCallback =new PowerRunningLockTestCallback();
823
824 EXPECT_TRUE(g_powerMgrServiceProxy->RegisterPowerStateCallback(stateCallback));
825 EXPECT_TRUE(g_powerMgrServiceProxy->UnRegisterPowerStateCallback(stateCallback));
826 EXPECT_TRUE(g_powerMgrServiceProxy->RegisterPowerModeCallback(modeCallback));
827 EXPECT_TRUE(g_powerMgrServiceProxy->UnRegisterPowerModeCallback(modeCallback));
828 EXPECT_TRUE(g_powerMgrServiceProxy->RegisterScreenStateCallback(4000, screenOffPreCallback));
829 EXPECT_TRUE(g_powerMgrServiceProxy->UnRegisterScreenStateCallback(screenOffPreCallback));
830 EXPECT_TRUE(g_powerMgrServiceProxy->RegisterRunningLockCallback(RunninglockCallback));
831 EXPECT_TRUE(g_powerMgrServiceProxy->UnRegisterRunningLockCallback(RunninglockCallback));
832 }
833
834 /**
835 * @tc.name: PowerMgrServiceNativeTest040
836 * @tc.desc: test Power service dump
837 * @tc.type: FUNC
838 * @tc.require: issueI67Z62
839 */
840 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest040, TestSize.Level0)
841 {
842 ASSERT_NE(g_powerMgrServiceProxy, nullptr);
843 std::vector<std::string> dumpArgsNone {};
844 std::vector<std::string> dumpArgsHelp {};
845 dumpArgsHelp.push_back("-h");
846
847 std::string expectedDebugInfo;
848 expectedDebugInfo.append("Power manager dump options:\n");
849
850 std::string noneDebugInfo = g_powerMgrServiceProxy->ShellDump(dumpArgsNone, dumpArgsNone.size());
851 auto noneIndex = noneDebugInfo.find(expectedDebugInfo);
852 EXPECT_TRUE(noneIndex != string::npos);
853
854 std::string helpDebugInfo = g_powerMgrServiceProxy->ShellDump(dumpArgsHelp, dumpArgsHelp.size());
855 auto helpIndex = helpDebugInfo.find(expectedDebugInfo);
856 EXPECT_TRUE(helpIndex != string::npos);
857 }
858
859 /**
860 * @tc.name: PowerMgrServiceNativeTest041
861 * @tc.desc: test IsStandby
862 * @tc.type: FUNC
863 * @tc.require: issueI7QHBE
864 */
865 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest041, TestSize.Level2)
866 {
867 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest041::fun is start");
868 bool standby = false;
869 auto error = g_powerMgrServiceProxy->IsStandby(standby);
870 EXPECT_TRUE(error == PowerErrors::ERR_OK);
871 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest041::fun is end");
872 }
873
874 /**
875 * @tc.name: PowerMgrServiceNativeTest042
876 * @tc.desc: test WakeupDevice
877 * @tc.type: FUNC
878 * @tc.require: #I9G5XH
879 */
880 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest042, TestSize.Level0)
881 {
882 POWER_HILOGD(LABEL_TEST, "PowerMgrServiceNativeTest042::fun is start");
883 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
884 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
885
886 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_AOD_SLIDING);
887 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
888 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
889 POWER_HILOGD(LABEL_TEST, "PowerMgrServiceNativeTest042::fun is end");
890 }
891
892 /**
893 * @tc.name: PowerMgrServiceNativeTest043
894 * @tc.desc: test WakeupDevice
895 * @tc.type: FUNC
896 * @tc.require: #I9O7I2
897 */
898 HWTEST_F(PowerMgrServiceNativeTest, PowerMgrServiceNativeTest043, TestSize.Level0)
899 {
900 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest043::fun is start");
901 g_powerMgrServiceProxy->SuspendDevice(GetTickCount());
902 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), false);
903
904 g_powerMgrServiceProxy->WakeupDevice(GetTickCount(), WakeupDeviceType::WAKEUP_DEVICE_PEN);
905 EXPECT_EQ(g_powerMgrServiceProxy->GetState(), PowerState::AWAKE);
906 EXPECT_EQ(g_powerMgrServiceProxy->IsScreenOn(), true);
907 POWER_HILOGI(LABEL_TEST, "PowerMgrServiceNativeTest043::fun is end");
908 }
909 } // namespace
910