• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2024 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_client_test.h"
17 
18 #ifdef GTEST
19 #define private   public
20 #define protected public
21 #endif
22 
23 #include <iostream>
24 #include <string>
25 #include <gtest/gtest.h>
26 
27 #include "if_system_ability_manager.h"
28 #include "iremote_broker.h"
29 #include "iservice_registry.h"
30 #include "system_ability_definition.h"
31 
32 #include "battery_log.h"
33 #include "battery_srv_client.h"
34 #include "test_utils.h"
35 
36 #include "mock_battery_srv_proxy.h"
37 #include "mock_remote_object.h"
38 
39 using namespace testing::ext;
40 using namespace OHOS::PowerMgr;
41 using namespace OHOS;
42 using namespace std;
43 
44 namespace {
45 bool g_isMock = false;
46 constexpr int32_t BATTERY_EMERGENCY_THRESHOLD = 5;
47 constexpr int32_t BATTERY_DEFAULT_THRESHOLD = 10;
48 constexpr int32_t BATTERY_LOW_THRESHOLD = 20;
49 constexpr int32_t BATTERY_NORMAL_THRESHOLD = 90;
50 constexpr int32_t BATTERY_HIGH_THRESHOLD = 99;
51 constexpr int32_t BATTERY_HIGH_FULL = 100;
52 const std::string MOCK_BATTERY_PATH = "/data/service/el0/battery/";
53 BatteryInfo g_info;
54 sptr<IRemoteObject> g_testRemoteObj;
55 sptr<MockBatterySrvProxy> g_mockProxy;
56 }
57 
SetUpTestCase(void)58 void BatteryClientTest::SetUpTestCase(void)
59 {
60     g_isMock = TestUtils::IsMock();
61     GTEST_LOG_(INFO) << " g_isMock: " << g_isMock;
62     g_testRemoteObj = sptr<MockRemoteObject>::MakeSptr(u"BatteryTest");
63     g_mockProxy = sptr<MockBatterySrvProxy>::MakeSptr(g_testRemoteObj);
64 }
65 
TearDownTestCase(void)66 void BatteryClientTest::TearDownTestCase(void)
67 {
68     g_isMock = false;
69     TestUtils::ResetOnline();
70     g_testRemoteObj = nullptr;
71     g_mockProxy = nullptr;
72 }
73 
SetUp(void)74 void BatteryClientTest::SetUp(void)
75 {
76     g_info.SetCapacity(BATTERY_HIGH_FULL);
77     g_info.SetPresent(false);
78     g_info.SetVoltage(BATTERY_DEFAULT_THRESHOLD);
79     g_info.SetTemperature(BATTERY_DEFAULT_THRESHOLD);
80     g_info.SetHealthState(BatteryHealthState::HEALTH_STATE_GOOD);
81     g_info.SetPluggedType(BatteryPluggedType::PLUGGED_TYPE_USB);
82     g_info.SetPluggedMaxCurrent(BATTERY_DEFAULT_THRESHOLD);
83     g_info.SetPluggedMaxVoltage(BATTERY_DEFAULT_THRESHOLD);
84     g_info.SetChargeState(BatteryChargeState::CHARGE_STATE_DISABLE);
85     g_info.SetChargeCounter(BATTERY_DEFAULT_THRESHOLD);
86     g_info.SetTotalEnergy(BATTERY_DEFAULT_THRESHOLD);
87     g_info.SetCurAverage(BATTERY_DEFAULT_THRESHOLD);
88     g_info.SetNowCurrent(BATTERY_DEFAULT_THRESHOLD);
89     g_info.SetRemainEnergy(BATTERY_DEFAULT_THRESHOLD);
90     g_info.SetTechnology("test");
91 }
92 
TearDown(void)93 void BatteryClientTest::TearDown(void)
94 {
95 }
96 
97 namespace {
98 /**
99  * @tc.name: BatteryClient001
100  * @tc.desc: Test IBatterySrv interface GetCapacity
101  * @tc.type: FUNC
102  */
103 HWTEST_F (BatteryClientTest, BatteryClient001, TestSize.Level1)
104 {
105     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient001 function start!");
106 
107     auto& BatterySrvClient = BatterySrvClient::GetInstance();
108     if (g_isMock) {
109         auto tempCapacity = BatterySrvClient.GetCapacity();
110         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", "22");
111         auto capacity = BatterySrvClient.GetCapacity();
112         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::capacity=%{public}d", capacity);
113         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient001 executing, capacity=" << capacity;
114         ASSERT_TRUE(capacity == 22);
115         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", std::to_string(tempCapacity));
116     } else {
117         auto capacity = BatterySrvClient.GetCapacity();
118         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::capacity=%{public}d", capacity);
119         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient001 executing, capacity=" << capacity;
120         ASSERT_TRUE(capacity <= 100 && capacity >= 0);
121     }
122 
123     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient001 function end!");
124 }
125 
126 /**
127  * @tc.name: BatteryClient002
128  * @tc.desc: Test IBatterySrv interface GetChargingStatus
129  * @tc.type: FUNC
130  */
131 
132 HWTEST_F (BatteryClientTest, BatteryClient002, TestSize.Level1)
133 {
134     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient002 function start!");
135     auto& BatterySrvClient = BatterySrvClient::GetInstance();
136     if (g_isMock) {
137         auto tempChargeState = BatterySrvClient.GetChargingStatus();
138         std::string chargeStateArr[] = {"Discharging", "Charging", "Not charging", "Full", "Unknown"};
139 
140         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/status", "Not charging");
141         auto chargeState = BatterySrvClient.GetChargingStatus();
142         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::chargeState=%{public}d",
143             static_cast<int32_t>(chargeState));
144         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient002 executing, chargeState="
145             << static_cast<int32_t>(chargeState);
146         ASSERT_TRUE(chargeState == OHOS::PowerMgr::BatteryChargeState::CHARGE_STATE_DISABLE);
147 
148         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/status",
149             chargeStateArr[static_cast<int32_t>(tempChargeState)]);
150     } else {
151         auto chargeState = BatterySrvClient.GetChargingStatus();
152         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::chargeState=%{public}d",
153             static_cast<int32_t>(chargeState));
154         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient002 executing, chargeState="
155             << static_cast<int32_t>(chargeState);
156         ASSERT_TRUE(chargeState == OHOS::PowerMgr::BatteryChargeState::CHARGE_STATE_ENABLE ||
157             chargeState == OHOS::PowerMgr::BatteryChargeState::CHARGE_STATE_FULL);
158     }
159     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient002 function end!");
160 }
161 
162 /**
163  * @tc.name: BatteryClient003
164  * @tc.desc: Test IBatterySrv interface GetHealthStatus
165  * @tc.type: FUNC
166  */
167 HWTEST_F (BatteryClientTest, BatteryClient003, TestSize.Level1)
168 {
169     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient003 function start!");
170     auto& BatterySrvClient = BatterySrvClient::GetInstance();
171     if (g_isMock) {
172         auto tempHealthState = BatterySrvClient.GetHealthStatus();
173         std::string healthStateArr[] = {"Unknown", "Good", "Hot", "Over voltage", "Cold", "Dead"};
174 
175         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/health", "Cold");
176         auto healthState = BatterySrvClient.GetHealthStatus();
177         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::healthState=%{public}d",
178             static_cast<int32_t>(healthState));
179         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient003 executing, healthState="
180             << static_cast<int32_t>(healthState);
181         ASSERT_TRUE(healthState == OHOS::PowerMgr::BatteryHealthState::HEALTH_STATE_COLD);
182 
183         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/health",
184             healthStateArr[static_cast<int32_t>(tempHealthState)]);
185     } else {
186         auto healthState = BatterySrvClient.GetHealthStatus();
187         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::healthState=%{public}d",
188             static_cast<int32_t>(healthState));
189         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient003 executing, healthState="
190             << static_cast<int32_t>(healthState);
191         ASSERT_TRUE(healthState == OHOS::PowerMgr::BatteryHealthState::HEALTH_STATE_GOOD);
192     }
193     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient003 function end!");
194 }
195 
196 /**
197  * @tc.name: BatteryClient004
198  * @tc.desc: Test IBatterySrv interface GetPresent
199  * @tc.type: FUNC
200  */
201 HWTEST_F (BatteryClientTest, BatteryClient004, TestSize.Level1)
202 {
203     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient004 function start!");
204     auto& BatterySrvClient = BatterySrvClient::GetInstance();
205     if (g_isMock) {
206         auto tempPresent = BatterySrvClient.GetPresent();
207         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/present", "0");
208         auto present = BatterySrvClient.GetPresent();
209         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::present=%{public}d", present);
210         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient004 executing, present=" << present;
211         ASSERT_FALSE(present);
212 
213         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/present", std::to_string(tempPresent));
214     } else {
215         auto present = BatterySrvClient.GetPresent();
216         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::present=%{public}d", present);
217         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient004 executing, present=" << present;
218         ASSERT_TRUE(present);
219     }
220     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient004 function end!");
221 }
222 
223 /**
224  * @tc.name: BatteryClient005
225  * @tc.desc: Test IBatterySrv interface GetVoltage
226  * @tc.type: FUNC
227  */
228 HWTEST_F (BatteryClientTest, BatteryClient005, TestSize.Level1)
229 {
230     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient005 function start!");
231     auto& BatterySrvClient = BatterySrvClient::GetInstance();
232     if (g_isMock) {
233         auto tempVoltage = BatterySrvClient.GetVoltage();
234         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/voltage_now", "4654321");
235         auto voltage = BatterySrvClient.GetVoltage();
236         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::voltage=%{public}d", voltage);
237         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient005 executing, voltage=" << voltage;
238         ASSERT_TRUE(voltage == 4654321);
239 
240         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/voltage_now", std::to_string(tempVoltage));
241     } else {
242         auto voltage = BatterySrvClient.GetVoltage();
243         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::voltage=%{public}d", voltage);
244         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient005 executing, voltage=" << voltage;
245         ASSERT_TRUE(voltage >= 0);
246     }
247     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient005 function end!");
248 }
249 
250 /**
251  * @tc.name: BatteryClient006
252  * @tc.desc: Test IBatterySrv interface GetTemperature
253  * @tc.type: FUNC
254  */
255 HWTEST_F (BatteryClientTest, BatteryClient006, TestSize.Level1)
256 {
257     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient006 function start!");
258     auto& BatterySrvClient = BatterySrvClient::GetInstance();
259     if (g_isMock) {
260         auto tempTempPresent = BatterySrvClient.GetBatteryTemperature();
261         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/temp", "222");
262         auto temperature = BatterySrvClient.GetBatteryTemperature();
263         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::temperature=%{public}d", temperature);
264         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient006 executing, temperature=" << temperature;
265         ASSERT_TRUE(temperature == 222);
266 
267         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/temp", std::to_string(tempTempPresent));
268     } else {
269         auto temperature = BatterySrvClient.GetBatteryTemperature();
270         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::temperature=%{public}d", temperature);
271         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient006 executing, temperature=" << temperature;
272         ASSERT_TRUE(temperature >= 0 && temperature <= 600);
273     }
274     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient006 function end!");
275 }
276 
277 /**
278  * @tc.name: BatteryClient007
279  * @tc.desc: Test IBatterySrv interface GetTechnology
280  * @tc.type: FUNC
281  */
282 HWTEST_F (BatteryClientTest, BatteryClient007, TestSize.Level1)
283 {
284     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient007 function start!");
285     auto& BatterySrvClient = BatterySrvClient::GetInstance();
286     if (g_isMock) {
287         std::string tempTechnology = BatterySrvClient.GetTechnology();
288         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/ohos-fgu/technology", "H2");
289         auto technology = BatterySrvClient.GetTechnology();
290         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::technology=%{public}s", technology.c_str());
291         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient007 executing, technology=" << technology;
292         ASSERT_TRUE(technology == "H2");
293 
294         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/ohos-fgu/technology", tempTechnology);
295     } else {
296         auto technology = BatterySrvClient.GetTechnology();
297         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::technology=%{public}s", technology.c_str());
298         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient007 executing, technology=" << technology;
299 #ifdef PC_TEST
300         ASSERT_TRUE(technology == "Li-ion");
301 #else
302         ASSERT_TRUE(technology == "Li-poly");
303 #endif
304     }
305     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient007 function end!");
306 }
307 
308 /**
309  * @tc.name: BatteryClient008
310  * @tc.desc: Test IBatterySrv interface GetPluggedType
311  * @tc.type: FUNC
312  */
313 HWTEST_F (BatteryClientTest, BatteryClient008, TestSize.Level1)
314 {
315     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient008 function start!");
316     auto& BatterySrvClient = BatterySrvClient::GetInstance();
317     if (g_isMock) {
318         TestUtils::ResetOnline();
319         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/ohos_charger/online", "1");
320         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/ohos_charger/type", "USB");
321         auto pluggedType = BatterySrvClient.GetPluggedType();
322 
323         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::pluggedType=%{public}d",
324             static_cast<int32_t>(pluggedType));
325         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient008 executing, pluggedType="
326             << static_cast<int32_t>(pluggedType);
327 
328         ASSERT_TRUE(pluggedType == OHOS::PowerMgr::BatteryPluggedType::PLUGGED_TYPE_USB);
329     } else {
330         auto pluggedType = BatterySrvClient.GetPluggedType();
331         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::pluggedType=%{public}d",
332             static_cast<int32_t>(pluggedType));
333         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient008 executing, pluggedType="
334             << static_cast<int32_t>(pluggedType);
335 #ifdef PC_TEST
336         ASSERT_TRUE(pluggedType == OHOS::PowerMgr::BatteryPluggedType::PLUGGED_TYPE_AC);
337 #else
338         EXPECT_FALSE(pluggedType == OHOS::PowerMgr::BatteryPluggedType::PLUGGED_TYPE_BUTT);
339 #endif
340     }
341     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient008 function end!");
342 }
343 
344 /**
345  * @tc.name: BatteryClient009
346  * @tc.desc: Test IBatterySrv interface GetCurrentNow
347  * @tc.type: FUNC
348  */
349 HWTEST_F (BatteryClientTest, BatteryClient009, TestSize.Level1)
350 {
351     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient009 function start!");
352     auto& BatterySrvClient = BatterySrvClient::GetInstance();
353     if (g_isMock) {
354         auto tempCurrnow = BatterySrvClient.GetNowCurrent();
355         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/current_now", "4654321");
356         auto currnow = BatterySrvClient.GetNowCurrent();
357         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::current=%{public}d", currnow);
358         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient009 executing, currnow=" << currnow;
359         ASSERT_EQ(currnow, 4654321);
360 
361         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/current_now", std::to_string(tempCurrnow));
362     } else {
363         auto currnow = BatterySrvClient.GetNowCurrent();
364         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::currnow=%{public}d", currnow);
365         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient009 executing, currnow=" << currnow;
366         ASSERT_TRUE(currnow >= -20000 && currnow <= 20000);
367     }
368     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient009 function end!");
369 }
370 
371 /**
372  * @tc.name: BatteryClient010
373  * @tc.desc: Test IBatterySrv interface GetRemainEnergy
374  * @tc.type: FUNC
375  */
376 HWTEST_F (BatteryClientTest, BatteryClient010, TestSize.Level1)
377 {
378     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient010 function start!");
379     auto& BatterySrvClient = BatterySrvClient::GetInstance();
380     if (g_isMock) {
381         auto tempChargenow = BatterySrvClient.GetRemainEnergy();
382         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/charge_now", "4654321");
383         auto chargenow = BatterySrvClient.GetRemainEnergy();
384         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::chargenow=%{public}d", chargenow);
385         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient010 executing, chargenow=" << chargenow;
386         ASSERT_EQ(chargenow, 4654321);
387 
388         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/charge_now", std::to_string(tempChargenow));
389     } else {
390         auto chargenow = BatterySrvClient.GetRemainEnergy();
391         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::chargenow=%{public}d", chargenow);
392         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient010 executing, chargenow=" << chargenow;
393         ASSERT_TRUE(chargenow >= 0);
394     }
395     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient010 function end!");
396 }
397 
398 /**
399  * @tc.name: BatteryClient011
400  * @tc.desc: Test IBatterySrv interface GetTotalEnergy
401  * @tc.type: FUNC
402  */
403 HWTEST_F (BatteryClientTest, BatteryClient011, TestSize.Level1)
404 {
405     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient011 function start!");
406     auto& BatterySrvClient = BatterySrvClient::GetInstance();
407     if (g_isMock) {
408         auto tempTotalenergy = BatterySrvClient.GetTotalEnergy();
409         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/charge_full", "4654321");
410         auto totalenergy = BatterySrvClient.GetTotalEnergy();
411         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::totalenergy=%{public}d", totalenergy);
412         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient011 executing, totalenergy=" << totalenergy;
413         ASSERT_EQ(totalenergy, 4654321);
414 
415         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/charge_full", std::to_string(tempTotalenergy));
416     } else {
417         auto totalenergy = BatterySrvClient.GetTotalEnergy();
418         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::totalenergy=%{public}d", totalenergy);
419         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient011 executing, totalenergy=" << totalenergy;
420         ASSERT_TRUE(totalenergy >= 0);
421     }
422     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient011 function end!");
423 }
424 
425 /**
426  * @tc.name: BatteryClient012
427  * @tc.desc: Test IBatterySrv interface GetCapacityLevel
428  * @tc.type: FUNC
429  */
430 HWTEST_F (BatteryClientTest, BatteryClient012, TestSize.Level1)
431 {
432     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient012 function start!");
433     auto& BatterySrvClient = BatterySrvClient::GetInstance();
434     if (g_isMock) {
435         auto tempCapacity = BatterySrvClient.GetCapacity();
436         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", "3");
437         auto batterylevel = BatterySrvClient.GetCapacityLevel();
438         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::batterylevel=%{public}d",
439             static_cast<int32_t>(batterylevel));
440         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient012 executing, batterylevel="
441             << static_cast<int32_t>(batterylevel);
442         ASSERT_TRUE(batterylevel == OHOS::PowerMgr::BatteryCapacityLevel::LEVEL_CRITICAL);
443 
444         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", std::to_string(tempCapacity));
445     } else {
446         auto batterylevel = BatterySrvClient.GetCapacityLevel();
447         auto capacity = BatterySrvClient.GetCapacity();
448         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::batterylevel=%{public}d",
449             static_cast<int32_t>(batterylevel));
450         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient012 executing, batterylevel="
451             << static_cast<int32_t>(batterylevel);
452         if (capacity < BATTERY_EMERGENCY_THRESHOLD) {
453             ASSERT_TRUE(batterylevel == OHOS::PowerMgr::BatteryCapacityLevel::LEVEL_CRITICAL);
454         }
455     }
456     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient012 function end!");
457 }
458 
459 /**
460  * @tc.name: BatteryClient013
461  * @tc.desc: Test IBatterySrv interface GetCapacityLevel
462  * @tc.type: FUNC
463  */
464 HWTEST_F (BatteryClientTest, BatteryClient013, TestSize.Level1)
465 {
466     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient013 function start!");
467     auto& BatterySrvClient = BatterySrvClient::GetInstance();
468     if (g_isMock) {
469         auto tempCapacity = BatterySrvClient.GetCapacity();
470         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", "11");
471         auto batterylevel = BatterySrvClient.GetCapacityLevel();
472         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::batterylevel=%{public}d",
473             static_cast<int32_t>(batterylevel));
474         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient013 executing, batterylevel="
475             << static_cast<int32_t>(batterylevel);
476         ASSERT_TRUE(batterylevel == OHOS::PowerMgr::BatteryCapacityLevel::LEVEL_LOW);
477 
478         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", std::to_string(tempCapacity));
479     } else {
480         auto batterylevel = BatterySrvClient.GetCapacityLevel();
481         auto capacity = BatterySrvClient.GetCapacity();
482         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::batterylevel=%{public}d",
483             static_cast<int32_t>(batterylevel));
484         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient013 executing, batterylevel="
485             << static_cast<int32_t>(batterylevel);
486         if (capacity >= BATTERY_EMERGENCY_THRESHOLD && capacity <= BATTERY_LOW_THRESHOLD) {
487             ASSERT_TRUE(batterylevel == OHOS::PowerMgr::BatteryCapacityLevel::LEVEL_LOW);
488         }
489     }
490     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient013 function end!");
491 }
492 
493 /**
494  * @tc.name: BatteryClient014
495  * @tc.desc: Test IBatterySrv interface GetCapacityLevel
496  * @tc.type: FUNC
497  */
498 HWTEST_F (BatteryClientTest, BatteryClient014, TestSize.Level1)
499 {
500     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient014 function start!");
501     auto& BatterySrvClient = BatterySrvClient::GetInstance();
502     if (g_isMock) {
503         auto tempCapacity = BatterySrvClient.GetCapacity();
504         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", "80");
505         auto batterylevel = BatterySrvClient.GetCapacityLevel();
506         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::batterylevel=%{public}d",
507             static_cast<int32_t>(batterylevel));
508         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient014 executing, batterylevel="
509             << static_cast<int32_t>(batterylevel);
510         ASSERT_TRUE(batterylevel == OHOS::PowerMgr::BatteryCapacityLevel::LEVEL_NORMAL);
511 
512         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", std::to_string(tempCapacity));
513     } else {
514         auto batterylevel = BatterySrvClient.GetCapacityLevel();
515         auto capacity = BatterySrvClient.GetCapacity();
516         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::batterylevel=%{public}d",
517             static_cast<int32_t>(batterylevel));
518         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient014 executing, batterylevel="
519             << static_cast<int32_t>(batterylevel);
520         if (capacity > BATTERY_LOW_THRESHOLD && capacity <= BATTERY_NORMAL_THRESHOLD) {
521             ASSERT_TRUE(batterylevel == OHOS::PowerMgr::BatteryCapacityLevel::LEVEL_NORMAL);
522         }
523     }
524     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient014 function end!");
525 }
526 
527 /**
528  * @tc.name: BatteryClient015
529  * @tc.desc: Test IBatterySrv interface GetCapacityLevel
530  * @tc.type: FUNC
531  */
532 HWTEST_F (BatteryClientTest, BatteryClient015, TestSize.Level1)
533 {
534     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient015 function start!");
535     auto& BatterySrvClient = BatterySrvClient::GetInstance();
536     if (g_isMock) {
537         auto tempCapacity = BatterySrvClient.GetCapacity();
538         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", "94");
539         auto batterylevel = BatterySrvClient.GetCapacityLevel();
540         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::batterylevel=%{public}d",
541             static_cast<int32_t>(batterylevel));
542         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient015 executing, batterylevel="
543             << static_cast<int32_t>(batterylevel);
544         ASSERT_TRUE(batterylevel == OHOS::PowerMgr::BatteryCapacityLevel::LEVEL_HIGH);
545 
546         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", std::to_string(tempCapacity));
547     } else {
548         auto batterylevel = BatterySrvClient.GetCapacityLevel();
549         auto capacity = BatterySrvClient.GetCapacity();
550         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::batterylevel=%{public}d",
551             static_cast<int32_t>(batterylevel));
552         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient015 executing, batterylevel="
553             << static_cast<int32_t>(batterylevel);
554         if (capacity > BATTERY_NORMAL_THRESHOLD && capacity <= BATTERY_HIGH_THRESHOLD) {
555             ASSERT_TRUE(batterylevel == OHOS::PowerMgr::BatteryCapacityLevel::LEVEL_HIGH);
556         }
557     }
558     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient015 function end!");
559 }
560 
561 /**
562  * @tc.name: BatteryClient016
563  * @tc.desc: Test IBatterySrv interface GetCapacityLevel
564  * @tc.type: FUNC
565  */
566 HWTEST_F (BatteryClientTest, BatteryClient016, TestSize.Level1)
567 {
568     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient016 function start!");
569     auto& BatterySrvClient = BatterySrvClient::GetInstance();
570     if (g_isMock) {
571         auto tempCapacity = BatterySrvClient.GetCapacity();
572         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", "100");
573         auto batterylevel = BatterySrvClient.GetCapacityLevel();
574         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::batterylevel=%{public}d",
575            static_cast<int32_t>(batterylevel));
576         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient016 executing, batterylevel="
577            << static_cast<int32_t>(batterylevel);
578         ASSERT_TRUE(batterylevel == OHOS::PowerMgr::BatteryCapacityLevel::LEVEL_FULL);
579 
580         TestUtils::WriteMock(MOCK_BATTERY_PATH + "/battery/capacity", std::to_string(tempCapacity));
581     } else {
582         auto batterylevel = BatterySrvClient.GetCapacityLevel();
583         auto capacity = BatterySrvClient.GetCapacity();
584         BATTERY_HILOGI(LABEL_TEST, "BatteryClientTest::batterylevel=%{public}d",
585             static_cast<int32_t>(batterylevel));
586         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient016 executing, batterylevel="
587             << static_cast<int32_t>(batterylevel);
588         if (capacity == BATTERY_HIGH_FULL) {
589             ASSERT_TRUE(batterylevel == OHOS::PowerMgr::BatteryCapacityLevel::LEVEL_FULL);
590         }
591     }
592     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient016 function end!");
593 }
594 
595 
596 /**
597  * @tc.name: BatteryClient017
598  * @tc.desc: Test IBatterySrv interface GetRemainingChargeTime
599  * @tc.type: FUNC
600  */
601 HWTEST_F (BatteryClientTest, BatteryClient017, TestSize.Level1)
602 {
603     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient017 function start!");
604     auto& BatterySrvClient = BatterySrvClient::GetInstance();
605     if (g_isMock) {
606         auto remainingChargeTime = BatterySrvClient.GetRemainingChargeTime();
607         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient017 executing, remainingChargeTime=" << remainingChargeTime;
608         ASSERT_TRUE(remainingChargeTime >= 0);
609     } else {
610         auto remainingChargeTime = BatterySrvClient.GetRemainingChargeTime();
611         GTEST_LOG_(INFO) << "BatteryClient::BatteryClient017 executing, remainingChargeTime=" << remainingChargeTime;
612         ASSERT_TRUE(remainingChargeTime >= 0);
613     }
614     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient017 function end!");
615 }
616 
617 /**
618  * @tc.name: BatteryClient018
619  * @tc.desc: Test BatteryInfo operator== and operator!=
620  * @tc.type: FUNC
621  */
622 HWTEST_F(BatteryClientTest, BatteryClient018, TestSize.Level1)
623 {
624     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient018 function start!");
625     {
626         BatteryInfo info1;
627         info1.SetCapacity(100);
628         info1.SetPresent(false);
629         info1.SetVoltage(10);
630         info1.SetTemperature(10);
631         info1.SetHealthState(BatteryHealthState::HEALTH_STATE_GOOD);
632         info1.SetPluggedType(BatteryPluggedType::PLUGGED_TYPE_USB);
633         info1.SetPluggedMaxCurrent(10);
634         info1.SetPluggedMaxVoltage(10);
635         info1.SetChargeState(BatteryChargeState::CHARGE_STATE_DISABLE);
636         info1.SetChargeCounter(10);
637         info1.SetTotalEnergy(10);
638         info1.SetCurAverage(10);
639         info1.SetNowCurrent(10);
640         info1.SetRemainEnergy(10);
641         info1.SetTechnology("BatteryClient018");
642         BatteryInfo info2;
643         info2.SetCapacity(100);
644         info2.SetPresent(false);
645         info2.SetVoltage(10);
646         info2.SetTemperature(10);
647         info2.SetHealthState(BatteryHealthState::HEALTH_STATE_GOOD);
648         info2.SetPluggedType(BatteryPluggedType::PLUGGED_TYPE_USB);
649         info2.SetPluggedMaxCurrent(10);
650         info2.SetPluggedMaxVoltage(10);
651         info2.SetChargeState(BatteryChargeState::CHARGE_STATE_DISABLE);
652         info2.SetChargeCounter(10);
653         info2.SetTotalEnergy(10);
654         info2.SetCurAverage(10);
655         info2.SetNowCurrent(10);
656         info2.SetRemainEnergy(10);
657         info2.SetTechnology("BatteryClient018");
658         ASSERT_TRUE(info1 == info2);
659         ASSERT_FALSE(info1 != info2);
660         info1.SetTechnology("BatteryClient018_false");
661         ASSERT_FALSE(info1 == info2);
662         ASSERT_TRUE(info1 != info2);
663     }
664     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient018 function end!");
665 }
666 
667 /**
668  * @tc.name: BatteryClient019
669  * @tc.desc: Test BatteryInfo operator==
670  * @tc.type: FUNC
671  */
672 HWTEST_F(BatteryClientTest, BatteryClient019, TestSize.Level1)
673 {
674     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient019 function start!");
675     BatteryInfo info1 = g_info;
676     info1.SetPresent(false);
677     BatteryInfo info2 = g_info;
678     info2.SetPresent(true);
679     ASSERT_FALSE(info1 == info2);
680 
681     info1 = info2 = g_info;
682     info1.SetCapacity(100);
683     info2.SetCapacity(50);
684     ASSERT_FALSE(info1 == info2);
685 
686     info1 = info2 = g_info;
687     info2.SetVoltage(10);
688     info1.SetVoltage(5);
689     ASSERT_FALSE(info1 == info2);
690 
691     info1 = info2 = g_info;
692     info2.SetTemperature(5);
693     info1.SetTemperature(10);
694     ASSERT_FALSE(info1 == info2);
695 
696     info1 = info2 = g_info;
697     info2.SetHealthState(BatteryHealthState::HEALTH_STATE_GOOD);
698     info1.SetHealthState(BatteryHealthState::HEALTH_STATE_DEAD);
699     ASSERT_FALSE(info1 == info2);
700 
701     info1 = info2 = g_info;
702     info2.SetPluggedType(BatteryPluggedType::PLUGGED_TYPE_USB);
703     info1.SetPluggedType(BatteryPluggedType::PLUGGED_TYPE_NONE);
704     ASSERT_FALSE(info1 == info2);
705 
706     info1 = info2 = g_info;
707     info2.SetPluggedMaxCurrent(10);
708     info1.SetPluggedMaxCurrent(20);
709     ASSERT_FALSE(info1 == info2);
710     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient019 function end!");
711 }
712 
713 /**
714  * @tc.name: BatteryClient020
715  * @tc.desc: Test ResetProxy
716  * @tc.type: FUNC
717  */
718 HWTEST_F(BatteryClientTest, BatteryClient020, TestSize.Level1)
719 {
720     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient020 function start!");
721     auto& BatterySrvClient = BatterySrvClient::GetInstance();
722     BatterySrvClient.proxy_ = nullptr;
723     BatterySrvClient.ResetProxy(nullptr);
724 
725     sptr<ISystemAbilityManager> sysMgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
726     ASSERT_NE(sysMgr, nullptr);
727     wptr<IRemoteObject> remoteObj = sysMgr->CheckSystemAbility(POWER_MANAGER_SERVICE_ID);
728     ASSERT_NE(remoteObj, nullptr);
729     EXPECT_NE(BatterySrvClient.Connect(), nullptr);
730     BatterySrvClient.ResetProxy(remoteObj);
731     EXPECT_NE(BatterySrvClient.proxy_, nullptr);
732 
733     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient020 function end!");
734 }
735 
736 /**
737  * @tc.name: BatteryClient021
738  * @tc.desc: Test IBatterySrv interface SetBatteryConfig
739  * @tc.type: FUNC
740  */
741 HWTEST_F (BatteryClientTest, BatteryClient021, TestSize.Level1)
742 {
743     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient021 function start!");
744     auto& BatterySrvClient = BatterySrvClient::GetInstance();
745 
746     string sceneName = "testScene";
747     string value = "";
748     int ret = (int)BatterySrvClient.SetBatteryConfig(sceneName, value);
749     EXPECT_NE(ret, 0);
750 
751     sceneName = "wireless";
752     ret = (int)BatterySrvClient.GetBatteryConfig(sceneName, value);
753     if (!value.empty()) {
754         ret = (int)BatterySrvClient.SetBatteryConfig(sceneName, value);
755         EXPECT_EQ(ret, 0);
756     }
757     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient021 function end!");
758 }
759 
760 /**
761  * @tc.name: BatteryClient022
762  * @tc.desc: Test IBatterySrv interface GetBatteryConfig
763  * @tc.type: FUNC
764  */
765 HWTEST_F (BatteryClientTest, BatteryClient022, TestSize.Level1)
766 {
767     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient022 function start!");
768     auto& BatterySrvClient = BatterySrvClient::GetInstance();
769 
770     string sceneName = "testScene";
771     string result = "";
772     BatteryError ret = BatterySrvClient.GetBatteryConfig(sceneName, result);
773     EXPECT_NE(ret, BatteryError::ERR_OK);
774     EXPECT_EQ(result, "");
775     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient022 function end!");
776 }
777 
778 /**
779  * @tc.name: BatteryClient023
780  * @tc.desc: Test IBatterySrv interface IsBatteryConfigSupported
781  * @tc.type: FUNC
782  */
783 HWTEST_F (BatteryClientTest, BatteryClient023, TestSize.Level1)
784 {
785     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient023 function start!");
786     auto& BatterySrvClient = BatterySrvClient::GetInstance();
787 
788     string sceneName = "testScene1";
789     bool result = false;
790     BatteryError ret = BatterySrvClient.IsBatteryConfigSupported(sceneName, result);
791     EXPECT_NE(ret, BatteryError::ERR_OK);
792     EXPECT_FALSE(result);
793     BATTERY_HILOGI(LABEL_TEST, "BatteryClient::BatteryClient023 function end!");
794 }
795 
796 /**
797  * @tc.name: BatteryClient024
798  * @tc.desc: test GetCapacity() when proxy return fail
799  * @tc.type: FUNC
800  * @tc.require
801  */
802 HWTEST_F(BatteryClientTest, BatteryClient024, TestSize.Level0)
803 {
804     BATTERY_HILOGI(LABEL_TEST, "BatteryClient024 function start!");
805     auto& BatterySrvClient = BatterySrvClient::GetInstance();
806     auto proxy = BatterySrvClient.proxy_;
807     BatterySrvClient.proxy_ = g_mockProxy;
808     auto capacity = BatterySrvClient.GetCapacity();
809     BatterySrvClient.proxy_ = proxy;
810     EXPECT_TRUE(capacity == INVALID_BATT_INT_VALUE);
811     BATTERY_HILOGI(LABEL_TEST, "BatteryClient024 function end!");
812 }
813 
814 /**
815  * @tc.name: BatteryClient025
816  * @tc.desc: test GetChargingStatus() when proxy return fail
817  * @tc.type: FUNC
818  * @tc.require
819  */
820 HWTEST_F(BatteryClientTest, BatteryClient025, TestSize.Level0)
821 {
822     BATTERY_HILOGI(LABEL_TEST, "BatteryClient024 function start!");
823     auto& BatterySrvClient = BatterySrvClient::GetInstance();
824     auto proxy = BatterySrvClient.proxy_;
825     BatterySrvClient.proxy_ = g_mockProxy;
826     auto chargingStatus = BatterySrvClient.GetChargingStatus();
827     BatterySrvClient.proxy_ = proxy;
828     EXPECT_TRUE(chargingStatus == BatteryChargeState::CHARGE_STATE_BUTT);
829     BATTERY_HILOGI(LABEL_TEST, "BatteryClient025 function end!");
830 }
831 
832 /**
833  * @tc.name: BatteryClient026
834  * @tc.desc: test GetHealthStatus() when proxy return fail
835  * @tc.type: FUNC
836  * @tc.require
837  */
838 HWTEST_F(BatteryClientTest, BatteryClient026, TestSize.Level0)
839 {
840     BATTERY_HILOGI(LABEL_TEST, "BatteryClient026 function start!");
841     auto& BatterySrvClient = BatterySrvClient::GetInstance();
842     auto proxy = BatterySrvClient.proxy_;
843     BatterySrvClient.proxy_ = g_mockProxy;
844     auto healthStatus = BatterySrvClient.GetHealthStatus();
845     BatterySrvClient.proxy_ = proxy;
846     EXPECT_TRUE(healthStatus == BatteryHealthState::HEALTH_STATE_BUTT);
847     BATTERY_HILOGI(LABEL_TEST, "BatteryClient026 function end!");
848 }
849 
850 /**
851  * @tc.name: BatteryClient027
852  * @tc.desc: test GetPluggedType() when proxy return fail
853  * @tc.type: FUNC
854  * @tc.require
855  */
856 HWTEST_F(BatteryClientTest, BatteryClient027, TestSize.Level0)
857 {
858     BATTERY_HILOGI(LABEL_TEST, "BatteryClient027 function start!");
859     auto& BatterySrvClient = BatterySrvClient::GetInstance();
860     auto proxy = BatterySrvClient.proxy_;
861     BatterySrvClient.proxy_ = g_mockProxy;
862     auto pluggedType = BatterySrvClient.GetPluggedType();
863     BatterySrvClient.proxy_ = proxy;
864     EXPECT_TRUE(pluggedType == BatteryPluggedType::PLUGGED_TYPE_BUTT);
865     BATTERY_HILOGI(LABEL_TEST, "BatteryClient027 function end!");
866 }
867 
868 /**
869  * @tc.name: BatteryClient028
870  * @tc.desc: test GetVoltage() when proxy return fail
871  * @tc.type: FUNC
872  * @tc.require
873  */
874 HWTEST_F(BatteryClientTest, BatteryClient028, TestSize.Level0)
875 {
876     BATTERY_HILOGI(LABEL_TEST, "BatteryClient028 function start!");
877     auto& BatterySrvClient = BatterySrvClient::GetInstance();
878     auto proxy = BatterySrvClient.proxy_;
879     BatterySrvClient.proxy_ = g_mockProxy;
880     auto voltage = BatterySrvClient.GetVoltage();
881     BatterySrvClient.proxy_ = proxy;
882     EXPECT_TRUE(voltage == INVALID_BATT_INT_VALUE);
883     BATTERY_HILOGI(LABEL_TEST, "BatteryClient028 function end!");
884 }
885 
886 /**
887  * @tc.name: BatteryClient029
888  * @tc.desc: test GetPresent() when proxy return fail
889  * @tc.type: FUNC
890  * @tc.require
891  */
892 HWTEST_F(BatteryClientTest, BatteryClient029, TestSize.Level0)
893 {
894     BATTERY_HILOGI(LABEL_TEST, "BatteryClient029 function start!");
895     auto& BatterySrvClient = BatterySrvClient::GetInstance();
896     auto proxy = BatterySrvClient.proxy_;
897     BatterySrvClient.proxy_ = g_mockProxy;
898     auto present = BatterySrvClient.GetPresent();
899     BatterySrvClient.proxy_ = proxy;
900     EXPECT_TRUE(present == INVALID_BATT_BOOL_VALUE);
901     BATTERY_HILOGI(LABEL_TEST, "BatteryClient029 function end!");
902 }
903 
904 /**
905  * @tc.name: BatteryClient030
906  * @tc.desc: test GetTechnology() when proxy return fail
907  * @tc.type: FUNC
908  * @tc.require
909  */
910 HWTEST_F(BatteryClientTest, BatteryClient030, TestSize.Level0)
911 {
912     BATTERY_HILOGI(LABEL_TEST, "BatteryClient030 function start!");
913     auto& BatterySrvClient = BatterySrvClient::GetInstance();
914     auto proxy = BatterySrvClient.proxy_;
915     BatterySrvClient.proxy_ = g_mockProxy;
916     auto technology = BatterySrvClient.GetTechnology();
917     BatterySrvClient.proxy_ = proxy;
918     EXPECT_TRUE(technology == INVALID_STRING_VALUE);
919     BATTERY_HILOGI(LABEL_TEST, "BatteryClient030 function end!");
920 }
921 
922 /**
923  * @tc.name: BatteryClient031
924  * @tc.desc: test GetTotalEnergy() when proxy return fail
925  * @tc.type: FUNC
926  * @tc.require
927  */
928 HWTEST_F(BatteryClientTest, BatteryClient031, TestSize.Level0)
929 {
930     BATTERY_HILOGI(LABEL_TEST, "BatteryClient031 function start!");
931     auto& BatterySrvClient = BatterySrvClient::GetInstance();
932     auto proxy = BatterySrvClient.proxy_;
933     BatterySrvClient.proxy_ = g_mockProxy;
934     auto totalEnergy = BatterySrvClient.GetTotalEnergy();
935     BatterySrvClient.proxy_ = proxy;
936     EXPECT_TRUE(totalEnergy == INVALID_BATT_INT_VALUE);
937     BATTERY_HILOGI(LABEL_TEST, "BatteryClient031 function end!");
938 }
939 
940 /**
941  * @tc.name: BatteryClient032
942  * @tc.desc: test GetNowCurrent() when proxy return fail
943  * @tc.type: FUNC
944  * @tc.require
945  */
946 HWTEST_F(BatteryClientTest, BatteryClient032, TestSize.Level0)
947 {
948     BATTERY_HILOGI(LABEL_TEST, "BatteryClient032 function start!");
949     auto& BatterySrvClient = BatterySrvClient::GetInstance();
950     auto proxy = BatterySrvClient.proxy_;
951     BatterySrvClient.proxy_ = g_mockProxy;
952     auto nowCurr = BatterySrvClient.GetNowCurrent();
953     BatterySrvClient.proxy_ = proxy;
954     EXPECT_TRUE(nowCurr == INVALID_BATT_INT_VALUE);
955     BATTERY_HILOGI(LABEL_TEST, "BatteryClient032 function end!");
956 }
957 
958 /**
959  * @tc.name: BatteryClient033
960  * @tc.desc: test GetRemainEnergy() when proxy return fail
961  * @tc.type: FUNC
962  * @tc.require
963  */
964 HWTEST_F(BatteryClientTest, BatteryClient033, TestSize.Level0)
965 {
966     BATTERY_HILOGI(LABEL_TEST, "BatteryClient033 function start!");
967     auto& BatterySrvClient = BatterySrvClient::GetInstance();
968     auto proxy = BatterySrvClient.proxy_;
969     BatterySrvClient.proxy_ = g_mockProxy;
970     auto remainEnergy = BatterySrvClient.GetRemainEnergy();
971     BatterySrvClient.proxy_ = proxy;
972     EXPECT_TRUE(remainEnergy == INVALID_BATT_INT_VALUE);
973     BATTERY_HILOGI(LABEL_TEST, "BatteryClient033 function end!");
974 }
975 
976 /**
977  * @tc.name: BatteryClient034
978  * @tc.desc: test GetBatteryTemperature() when proxy return fail
979  * @tc.type: FUNC
980  * @tc.require
981  */
982 HWTEST_F(BatteryClientTest, BatteryClient034, TestSize.Level0)
983 {
984     BATTERY_HILOGI(LABEL_TEST, "BatteryClient034 function start!");
985     auto& BatterySrvClient = BatterySrvClient::GetInstance();
986     auto proxy = BatterySrvClient.proxy_;
987     BatterySrvClient.proxy_ = g_mockProxy;
988     auto temperature = BatterySrvClient.GetBatteryTemperature();
989     BatterySrvClient.proxy_ = proxy;
990     EXPECT_TRUE(temperature == INVALID_BATT_TEMP_VALUE);
991     BATTERY_HILOGI(LABEL_TEST, "BatteryClient034 function end!");
992 }
993 
994 /**
995  * @tc.name: BatteryClient035
996  * @tc.desc: test GetCapacityLevel() when proxy return fail
997  * @tc.type: FUNC
998  * @tc.require
999  */
1000 HWTEST_F(BatteryClientTest, BatteryClient035, TestSize.Level0)
1001 {
1002     BATTERY_HILOGI(LABEL_TEST, "BatteryClient035 function start!");
1003     auto& BatterySrvClient = BatterySrvClient::GetInstance();
1004     auto proxy = BatterySrvClient.proxy_;
1005     BatterySrvClient.proxy_ = g_mockProxy;
1006     auto batteryCapacityLevel = BatterySrvClient.GetCapacityLevel();
1007     BatterySrvClient.proxy_ = proxy;
1008     EXPECT_TRUE(batteryCapacityLevel == BatteryCapacityLevel::LEVEL_NONE);
1009     BATTERY_HILOGI(LABEL_TEST, "BatteryClient035 function end!");
1010 }
1011 
1012 /**
1013  * @tc.name: BatteryClient036
1014  * @tc.desc: test GetRemainingChargeTime() when proxy return fail
1015  * @tc.type: FUNC
1016  * @tc.require
1017  */
1018 HWTEST_F(BatteryClientTest, BatteryClient036, TestSize.Level0)
1019 {
1020     BATTERY_HILOGI(LABEL_TEST, "BatteryClient036 function start!");
1021     auto& BatterySrvClient = BatterySrvClient::GetInstance();
1022     auto proxy = BatterySrvClient.proxy_;
1023     BatterySrvClient.proxy_ = g_mockProxy;
1024     auto remainTime = BatterySrvClient.GetRemainingChargeTime();
1025     BatterySrvClient.proxy_ = proxy;
1026     EXPECT_TRUE(remainTime == INVALID_REMAINING_CHARGE_TIME_VALUE);
1027     BATTERY_HILOGI(LABEL_TEST, "BatteryClient036 function end!");
1028 }
1029 
1030 /**
1031  * @tc.name: BatteryClient037
1032  * @tc.desc: test SetBatteryConfig() when proxy return fail
1033  * @tc.type: FUNC
1034  * @tc.require
1035  */
1036 HWTEST_F(BatteryClientTest, BatteryClient037, TestSize.Level0)
1037 {
1038     BATTERY_HILOGI(LABEL_TEST, "BatteryClient037 function start!");
1039     auto& BatterySrvClient = BatterySrvClient::GetInstance();
1040     auto proxy = BatterySrvClient.proxy_;
1041     BatterySrvClient.proxy_ = g_mockProxy;
1042     std::string sceneName = "test";
1043     std::string value = "test";
1044     auto batteryErr = BatterySrvClient.SetBatteryConfig(sceneName, value);
1045     BatterySrvClient.proxy_ = proxy;
1046     EXPECT_NE(batteryErr, BatteryError::ERR_OK);
1047     BATTERY_HILOGI(LABEL_TEST, "BatteryClient037 function end!");
1048 }
1049 
1050 /**
1051  * @tc.name: BatteryClient038
1052  * @tc.desc: test GetBatteryConfig() when proxy return fail
1053  * @tc.type: FUNC
1054  * @tc.require
1055  */
1056 HWTEST_F(BatteryClientTest, BatteryClient038, TestSize.Level0)
1057 {
1058     BATTERY_HILOGI(LABEL_TEST, "BatteryClient038 function start!");
1059     auto& BatterySrvClient = BatterySrvClient::GetInstance();
1060     auto proxy = BatterySrvClient.proxy_;
1061     BatterySrvClient.proxy_ = g_mockProxy;
1062     std::string sceneName = "test";
1063     std::string getResult;
1064     auto batteryErr = BatterySrvClient.GetBatteryConfig(sceneName, getResult);
1065     BatterySrvClient.proxy_ = proxy;
1066     EXPECT_NE(batteryErr, BatteryError::ERR_OK);
1067     BATTERY_HILOGI(LABEL_TEST, "BatteryClient038 function end!");
1068 }
1069 
1070 /**
1071  * @tc.name: BatteryClient039
1072  * @tc.desc: test IsBatteryConfigSupported() when proxy return fail
1073  * @tc.type: FUNC
1074  * @tc.require
1075  */
1076 HWTEST_F(BatteryClientTest, BatteryClient039, TestSize.Level0)
1077 {
1078     BATTERY_HILOGI(LABEL_TEST, "BatteryClient039 function start!");
1079     auto& BatterySrvClient = BatterySrvClient::GetInstance();
1080     auto proxy = BatterySrvClient.proxy_;
1081     BatterySrvClient.proxy_ = g_mockProxy;
1082     std::string featureName = "test";
1083     bool isResult = false;
1084     auto batteryErr = BatterySrvClient.IsBatteryConfigSupported(featureName, isResult);
1085     BatterySrvClient.proxy_ = proxy;
1086     EXPECT_NE(batteryErr, BatteryError::ERR_OK);
1087     BATTERY_HILOGI(LABEL_TEST, "BatteryClient039 function end!");
1088 }
1089 } // namespace
1090