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 "battery_srv_proxy_mock_test.h"
17 #include "battery_srv_proxy.h"
18 #include "ipc_object_stub.h"
19 #include "mock_remote_object.h"
20 #include "battery_log.h"
21 #include <hisysevent.h>
22
23 using namespace testing::ext;
24 using namespace OHOS::HiviewDFX;
25 using namespace OHOS::PowerMgr;
26 using namespace OHOS;
27 using namespace std;
28
29 namespace {
30 std::shared_ptr<BatterySrvProxy> g_proxy;
31 sptr<IRemoteObject> remoteObj;
32 }
33
SetUpTestCase()34 void BatteryProxyMockTest::SetUpTestCase()
35 {
36 #ifdef ENABLE_REMOTE_INTERFACE
37 remoteObj = new MockRemoteObject();
38 #else
39 remoteObj = new IPCObjectStub();
40 #endif
41 g_proxy = std::make_shared<BatterySrvProxy>(remoteObj);
42 }
43
TearDownTestCase()44 void BatteryProxyMockTest::TearDownTestCase()
45 {
46 remoteObj = nullptr;
47 g_proxy = nullptr;
48 }
49
SetUp()50 void BatteryProxyMockTest::SetUp() {}
51
TearDown()52 void BatteryProxyMockTest::TearDown() {}
53
54 namespace {
55 /**
56 * @tc.name: BatteryProxyMockTest_001
57 * @tc.desc: test BatterySrvProxy::GetCapacity() when an exception is raised
58 * @tc.type: FUNC
59 * @tc.require: issueI5X13X
60 */
61 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_001, TestSize.Level0)
62 {
63 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_001 start.");
64 int32_t capacity = g_proxy->GetCapacity();
65 EXPECT_TRUE(capacity == INVALID_BATT_INT_VALUE);
66 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_001 end.");
67 }
68
69 /**
70 * @tc.name: BatteryProxyMockTest_002
71 * @tc.desc: test BatterySrvProxy::GetChargingStatus() when an exception is raised
72 * @tc.type: FUNC
73 * @tc.require: issueI5X13X
74 */
75 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_002, TestSize.Level0)
76 {
77 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_002 start.");
78 BatteryChargeState chargeState = g_proxy->GetChargingStatus();
79 EXPECT_TRUE(chargeState >= BatteryChargeState::CHARGE_STATE_NONE &&
80 chargeState <= BatteryChargeState::CHARGE_STATE_BUTT); // the enum value range of BatteryChargeState
81 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_002 end.");
82 }
83
84 /**
85 * @tc.name: BatteryProxyMockTest_003
86 * @tc.desc: test BatterySrvProxy::GetHealthStatus() when an exception is raised
87 * @tc.type: FUNC
88 * @tc.require: issueI5X13X
89 */
90 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_003, TestSize.Level0)
91 {
92 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_003 start.");
93 BatteryHealthState healthState = g_proxy->GetHealthStatus();
94 EXPECT_TRUE(healthState >= BatteryHealthState::HEALTH_STATE_UNKNOWN &&
95 healthState <= BatteryHealthState::HEALTH_STATE_BUTT); // the enum value range of BatteryHealthState
96 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_003 end.");
97 }
98
99 /**
100 * @tc.name: BatteryProxyMockTest_004
101 * @tc.desc: test BatterySrvProxy::GetPluggedType() when an exception is raised
102 * @tc.type: FUNC
103 * @tc.require: issueI5X13X
104 */
105 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_004, TestSize.Level0)
106 {
107 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_004 start.");
108 BatteryPluggedType pluggedType = g_proxy->GetPluggedType();
109 EXPECT_TRUE(pluggedType >= BatteryPluggedType::PLUGGED_TYPE_NONE &&
110 pluggedType <= BatteryPluggedType::PLUGGED_TYPE_BUTT); // the enum value range of BatteryPluggedType
111 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_004 end.");
112 }
113
114 /**
115 * @tc.name: BatteryProxyMockTest_005
116 * @tc.desc: test BatterySrvProxy::GetPresent() when an exception is raised
117 * @tc.type: FUNC
118 * @tc.require: issueI5X13X
119 */
120 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_005, TestSize.Level0)
121 {
122 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_005 start.");
123 bool isPresent = g_proxy->GetPresent();
124 EXPECT_TRUE(isPresent == INVALID_BATT_BOOL_VALUE);
125 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_005 end.");
126 }
127
128 /**
129 * @tc.name: BatteryProxyMockTest_006
130 * @tc.desc: test BatterySrvProxy::GetTchnology() when an exception is raised
131 * @tc.type: FUNC
132 * @tc.require: issueI5X13X
133 */
134 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_006, TestSize.Level0)
135 {
136 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_006 start.");
137 std::string technology = g_proxy->GetTechnology();
138 EXPECT_TRUE(technology == INVALID_STRING_VALUE);
139 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_006 end.");
140 }
141
142 /**
143 * @tc.name: BatteryProxyMockTest_007
144 * @tc.desc: test BatterySrvProxy::GetTotalEnergy() when an exception is raised
145 * @tc.type: FUNC
146 * @tc.require: issueI5X13X
147 */
148 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_007, TestSize.Level0)
149 {
150 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_007 start.");
151 int32_t totalEnergy = g_proxy->GetTotalEnergy();
152 EXPECT_TRUE(totalEnergy == INVALID_BATT_INT_VALUE);
153 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_007 end.");
154 }
155
156 /**
157 * @tc.name: BatteryProxyMockTest_008
158 * @tc.desc: test BatterySrvProxy::GetCurrentAverage() when an exception is raised
159 * @tc.type: FUNC
160 * @tc.require: issueI5X13X
161 */
162 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_008, TestSize.Level0)
163 {
164 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_008 start.");
165 int32_t currentAverage = g_proxy->GetCurrentAverage();
166 EXPECT_TRUE(currentAverage == INVALID_BATT_INT_VALUE);
167 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_008 end.");
168 }
169
170 /**
171 * @tc.name: BatteryProxyMockTest_009
172 * @tc.desc: test BatterySrvProxy::GetNowCurrent() when an exception is raised
173 * @tc.type: FUNC
174 * @tc.require: issueI5X13X
175 */
176 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_009, TestSize.Level0)
177 {
178 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_009 start.");
179 int32_t nowCurrent = g_proxy->GetNowCurrent();
180 EXPECT_TRUE(nowCurrent == INVALID_BATT_INT_VALUE);
181 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_009 end.");
182 }
183
184 /**
185 * @tc.name: BatteryProxyMockTest_010
186 * @tc.desc: test BatterySrvProxy::GetRemainEnergy() when an exception is raised
187 * @tc.type: FUNC
188 * @tc.require: issueI5X13X
189 */
190 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_010, TestSize.Level0)
191 {
192 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_010 start.");
193 int32_t remainEnergy = g_proxy->GetRemainEnergy();
194 EXPECT_TRUE(remainEnergy == INVALID_BATT_INT_VALUE);
195 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_010 end.");
196 }
197
198 /**
199 * @tc.name: BatteryProxyMockTest_011
200 * @tc.desc: test BatterySrvProxy::GetBatteryTemperature() when an exception is raised
201 * @tc.type: FUNC
202 * @tc.require: issueI5X13X
203 */
204 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_011, TestSize.Level0)
205 {
206 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_011 start.");
207 int32_t temperature = g_proxy->GetBatteryTemperature();
208 EXPECT_TRUE(temperature == INVALID_BATT_TEMP_VALUE);
209 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_011 end.");
210 }
211
212 /**
213 * @tc.name: BatteryProxyMockTest_012
214 * @tc.desc: test BatterySrvProxy::GetCapacityLevel() when an exception is raised
215 * @tc.type: FUNC
216 * @tc.require: issueI5X13X
217 */
218 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_012, TestSize.Level0)
219 {
220 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_012 start.");
221 BatteryCapacityLevel batteryLevel = g_proxy->GetCapacityLevel();
222 EXPECT_TRUE(batteryLevel >= BatteryCapacityLevel::LEVEL_NONE &&
223 batteryLevel <= BatteryCapacityLevel::LEVEL_RESERVED); // the enum value range of BatteryCapacityLevel
224 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_012 end.");
225 }
226
227 /**
228 * @tc.name: BatteryProxyMockTest_013
229 * @tc.desc: test BatterySrvProxy::GetRemainingChargeTime() when an exception is raised
230 * @tc.type: FUNC
231 * @tc.require: issueI5X13X
232 */
233 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_013, TestSize.Level0)
234 {
235 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_013 start.");
236 int64_t remainChargeTime = g_proxy->GetRemainingChargeTime();
237 EXPECT_TRUE(remainChargeTime == INVALID_REMAINING_CHARGE_TIME_VALUE);
238 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_013 end.");
239 }
240
241 /**
242 * @tc.name: BatteryProxyMockTest_014
243 * @tc.desc: test BatterySrvProxy::GetVoltage() when an exception is raised
244 * @tc.type: FUNC
245 * @tc.require: issueI5X13X
246 */
247 HWTEST_F(BatteryProxyMockTest, BatteryProxyMockTest_014, TestSize.Level0)
248 {
249 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_014 start.");
250 int32_t voltage = g_proxy->GetVoltage();
251 EXPECT_TRUE(voltage == INVALID_BATT_INT_VALUE);
252 BATTERY_HILOGI(LABEL_TEST, "BatteryProxyMockTest_014 end.");
253 }
254 } // namespace
255