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