1 /*
2  * Copyright (c) 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 <gmock/gmock.h>
17 #include <gtest/gtest.h>
18 
19 #include "battery_status.h"
20 #include "utils_log.h"
21 
22 namespace OHOS::FileManagement::CloudSync::Test {
23 using namespace testing;
24 using namespace testing::ext;
25 using namespace std;
26 
27 class BatteryStatusMock final : public BatteryStatus {
28 public:
BatteryStatusMock()29     BatteryStatusMock() : BatteryStatus() {}
30     MOCK_METHOD0(GetCapacity, int32_t());
31 };
32 
33 class BatteryStatusTest : public testing::Test {
34 public:
35     static void SetUpTestCase(void);
36     static void TearDownTestCase(void);
37     void SetUp();
38     void TearDown();
39     shared_ptr<BatteryStatusMock> batteryStatus_ = nullptr;
40 };
41 
SetUpTestCase(void)42 void BatteryStatusTest::SetUpTestCase(void)
43 {
44     GTEST_LOG_(INFO) << "SetUpTestCase";
45 }
46 
TearDownTestCase(void)47 void BatteryStatusTest::TearDownTestCase(void)
48 {
49     GTEST_LOG_(INFO) << "TearDownTestCase";
50 }
51 
SetUp(void)52 void BatteryStatusTest::SetUp(void)
53 {
54     GTEST_LOG_(INFO) << "SetUp";
55     batteryStatus_ = make_shared<BatteryStatusMock>();
56 }
57 
TearDown(void)58 void BatteryStatusTest::TearDown(void)
59 {
60     GTEST_LOG_(INFO) << "TearDown";
61     batteryStatus_ = nullptr;
62 }
63 
64 /**
65  * @tc.name: IsAllowUploadTest001
66  * @tc.desc: Verify the IsAllowUpload function
67  * @tc.type: FUNC
68  * @tc.require: I6JPKG
69  */
70 HWTEST_F(BatteryStatusTest, IsAllowUploadTest001, TestSize.Level1)
71 {
72     GTEST_LOG_(INFO) << "IsAllowUploadTest001 Start";
73     try {
74         batteryStatus_->SetChargingStatus(true);
75         bool ret = batteryStatus_->IsAllowUpload(true);
76         EXPECT_EQ(ret, true);
77     } catch (...) {
78         EXPECT_TRUE(false);
79         GTEST_LOG_(INFO) << "IsAllowUploadTest001 FAILED";
80     }
81     GTEST_LOG_(INFO) << "IsAllowUploadTest001 End";
82 }
83 
84 /**
85  * @tc.name: IsAllowUploadTest001
86  * @tc.desc: Verify the IsAllowUpload function
87  * @tc.type: FUNC
88  * @tc.require: I6JPKG
89  */
90 HWTEST_F(BatteryStatusTest, IsAllowUploadTest002, TestSize.Level1)
91 {
92     GTEST_LOG_(INFO) << "IsAllowUploadTest002 Start";
93     try {
94         batteryStatus_->SetChargingStatus(false);
95         bool ret = batteryStatus_->IsAllowUpload(true);
96         EXPECT_EQ(ret, true);
97     } catch (...) {
98         EXPECT_TRUE(false);
99         GTEST_LOG_(INFO) << "IsAllowUploadTest002 FAILED";
100     }
101     GTEST_LOG_(INFO) << "IsAllowUploadTest002 End";
102 }
103 
104 /**
105  * @tc.name: IsBatteryCapcityOkayTest001
106  * @tc.desc: Verify the IsBatteryCapcityOkay function
107  * @tc.type: FUNC
108  * @tc.require: I6JPKG
109  */
110 HWTEST_F(BatteryStatusTest, IsBatteryCapcityOkayTest001, TestSize.Level1)
111 {
112     GTEST_LOG_(INFO) << "IsBatteryCapcityOkayTest001 Start";
113     try {
114         batteryStatus_->SetChargingStatus(true);
115         bool ret = batteryStatus_->IsBatteryCapcityOkay();
116         EXPECT_EQ(ret, true);
117     } catch (...) {
118         EXPECT_TRUE(false);
119         GTEST_LOG_(INFO) << "IsBatteryCapcityOkayTest001 FAILED";
120     }
121     GTEST_LOG_(INFO) << "IsBatteryCapcityOkayTest001 End";
122 }
123 
124 /**
125  * @tc.name: IsBatteryCapcityOkayTest002
126  * @tc.desc: Verify the IsBatteryCapcityOkay function
127  * @tc.type: FUNC
128  * @tc.require: I6JPKG
129  */
130 HWTEST_F(BatteryStatusTest, IsBatteryCapcityOkayTest002, TestSize.Level1)
131 {
132     GTEST_LOG_(INFO) << "IsBatteryCapcityOkayTest Start";
133     try {
134         batteryStatus_->SetChargingStatus(false);
135         bool ret = batteryStatus_->IsBatteryCapcityOkay();
136         EXPECT_EQ(ret, true);
137     } catch (...) {
138         EXPECT_TRUE(false);
139         GTEST_LOG_(INFO) << "IsBatteryCapcityOkayTest002 FAILED";
140     }
141     GTEST_LOG_(INFO) << "IsBatteryCapcityOkayTest002 End";
142 }
143 } // namespace OHOS::FileManagement::CloudSync::Test