• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 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 "power_client_callback_test.h"
17 
18 #include <iostream>
19 
20 #include <datetime_ex.h>
21 #include <gtest/gtest.h>
22 #include <if_system_ability_manager.h>
23 #include <ipc_skeleton.h>
24 #include <string_ex.h>
25 
26 #include "power_common.h"
27 #include "power_mgr_client.h"
28 #include "power_mgr_service.h"
29 #include "power_state_machine.h"
30 
31 using namespace testing::ext;
32 using namespace OHOS::PowerMgr;
33 using namespace OHOS;
34 using namespace std;
35 
HandleRunningLockMessage(std::string message)36 void PowerMgrClientCallbackTest::PowerRunningLockTest1Callback::HandleRunningLockMessage(std::string message)
37 {
38     POWER_HILOGI(
39         LABEL_TEST, "PowerRunningLockTest1Callback::HandleRunningLockMessage, message = %{public}s.", message.c_str());
40 }
41 
OnScreenStateChanged(uint32_t state)42 void PowerMgrClientCallbackTest::ScreenOffPreTest1Callback::OnScreenStateChanged(uint32_t state)
43 {
44     POWER_HILOGI(LABEL_TEST, "ScreenOffPreTest1Callback::OnScreenStateChanged, state = %{public}u.", state);
45 }
46 
OnSyncHibernate()47 void PowerMgrClientCallbackTest::PowerSyncHibernateTest1Callback::OnSyncHibernate()
48 {
49     POWER_HILOGI(LABEL_TEST, "PowerSyncHibernateTest1Callback::OnSyncHibernate.");
50 }
51 
OnSyncWakeup(bool hibernateResult)52 void PowerMgrClientCallbackTest::PowerSyncHibernateTest1Callback::OnSyncWakeup(bool hibernateResult)
53 {
54     POWER_HILOGI(
55         LABEL_TEST, "PowerSyncHibernateTest1Callback::OnSyncWakeup, hibernateResult = %{public}d.", hibernateResult);
56 }
57 
OnSyncSleep(bool onForceSleep)58 void PowerMgrClientCallbackTest::PowerSyncSleepTest1Callback::OnSyncSleep(bool onForceSleep)
59 {
60     POWER_HILOGI(LABEL_TEST, "PowerSyncSleepTest1Callback::OnSyncSleep, onForceSleep = %{public}d.", onForceSleep);
61 }
62 
OnSyncWakeup(bool onForceSleep)63 void PowerMgrClientCallbackTest::PowerSyncSleepTest1Callback::OnSyncWakeup(bool onForceSleep)
64 {
65     POWER_HILOGI(LABEL_TEST, "PowerSyncSleepTest1Callback::OnSyncWakeup, onForceSleep = %{public}d.", onForceSleep);
66 }
67 
68 namespace {
69 /**
70  * @tc.name: PowerMgrRunningLockCallback001
71  * @tc.desc: test PowerRunninglockCallback
72  * @tc.type: FUNC
73  */
74 HWTEST_F(PowerMgrClientCallbackTest, PowerMgrRunningLockCallback001, TestSize.Level1)
75 {
76     POWER_HILOGI(LABEL_TEST, "PowerMgrRunningLockCallback001 function start!");
77     bool ret = false;
78     auto& powerMgrClient = PowerMgrClient::GetInstance();
79     sptr<IPowerRunninglockCallback> cb = new PowerRunningLockTest1Callback();
80     ret = powerMgrClient.RegisterRunningLockCallback(cb);
81     EXPECT_TRUE(ret);
82     ret = false;
83     ret = powerMgrClient.UnRegisterRunningLockCallback(cb);
84     EXPECT_TRUE(ret);
85     POWER_HILOGI(LABEL_TEST, "PowerMgrRunningLockCallback001 function end!");
86 }
87 
88 /**
89  * @tc.name: PowerMgrScreenOffCallback001
90  * @tc.desc: test ScreenOffPreCallback
91  * @tc.type: FUNC
92  */
93 HWTEST_F(PowerMgrClientCallbackTest, PowerMgrScreenOffCallback001, TestSize.Level1)
94 {
95     POWER_HILOGI(LABEL_TEST, "PowerMgrScreenOffCallback001 function start!");
96     bool ret = 0;
97     auto& powerMgrClient = PowerMgrClient::GetInstance();
98     sptr<IScreenOffPreCallback> cb = new ScreenOffPreTest1Callback();
99     ret = powerMgrClient.RegisterScreenStateCallback(4000, cb);
100     EXPECT_TRUE(ret);
101     ret = 0;
102     ret = powerMgrClient.UnRegisterScreenStateCallback(cb);
103     EXPECT_TRUE(ret);
104     POWER_HILOGI(LABEL_TEST, "PowerMgrScreenOffCallback001 function end!");
105 }
106 
107 /**
108  * @tc.name: PowerMgrSyncHibernateCallback001
109  * @tc.desc: test SyncHibernateCallback
110  * @tc.type: FUNC
111  */
112 HWTEST_F(PowerMgrClientCallbackTest, PowerMgrSyncHibernateCallback001, TestSize.Level1)
113 {
114     POWER_HILOGI(LABEL_TEST, "PowerMgrSyncHibernateCallback001 function start!");
115     bool ret = 0;
116     auto& powerMgrClient = PowerMgrClient::GetInstance();
117     sptr<ISyncHibernateCallback> cb = new PowerSyncHibernateTest1Callback();
118     ret = powerMgrClient.RegisterSyncHibernateCallback(cb);
119     EXPECT_TRUE(ret);
120     ret = 0;
121     ret = powerMgrClient.UnRegisterSyncHibernateCallback(cb);
122     EXPECT_TRUE(ret);
123     POWER_HILOGI(LABEL_TEST, "PowerMgrSyncHibernateCallback001 function end!");
124 }
125 
126 /**
127  * @tc.name: PowerMgrSyncSleepCallback001
128  * @tc.desc: test SyncSleepCallback
129  * @tc.type: FUNC
130  */
131 HWTEST_F(PowerMgrClientCallbackTest, PowerMgrSyncSleepCallback001, TestSize.Level1)
132 {
133     POWER_HILOGI(LABEL_TEST, "PowerMgrSyncSleepCallback001 function start!");
134     bool ret = 0;
135     auto& powerMgrClient = PowerMgrClient::GetInstance();
136     sptr<ISyncSleepCallback> cb = new PowerSyncSleepTest1Callback();
137     ret = powerMgrClient.RegisterSyncSleepCallback(cb, SleepPriority::HIGH);
138     EXPECT_TRUE(ret);
139     ret = 0;
140     ret = powerMgrClient.UnRegisterSyncSleepCallback(cb);
141     EXPECT_TRUE(ret);
142     POWER_HILOGI(LABEL_TEST, "PowerMgrSyncSleepCallback001 function end!");
143 }
144 }