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 "system_load.h"
20 #include "dfs_error.h"
21 #include "utils_log.h"
22 #include "res_sched_client.h"
23
24 namespace OHOS::FileManagement::CloudSync::Test {
25 using namespace testing;
26 using namespace testing::ext;
27 using namespace std;
28
29 class SytemLoadTest : public testing::Test {
30 public:
31 static void SetUpTestCase(void);
32 static void TearDownTestCase(void);
33 void SetUp();
34 void TearDown();
35 shared_ptr<SystemLoadStatus> SystemLoadStatus_ = nullptr;
36 shared_ptr<SystemLoadListener> SystemLoadListener_ = nullptr;
37 };
38
SetUpTestCase(void)39 void SytemLoadTest::SetUpTestCase(void)
40 {
41 GTEST_LOG_(INFO) << "SetUpTestCase";
42 }
43
TearDownTestCase(void)44 void SytemLoadTest::TearDownTestCase(void)
45 {
46 GTEST_LOG_(INFO) << "TearDownTestCase";
47 }
48
SetUp(void)49 void SytemLoadTest::SetUp(void)
50 {
51 GTEST_LOG_(INFO) << "SetUp";
52 SystemLoadStatus_ = make_shared<SystemLoadStatus>();
53 SystemLoadListener_ = make_shared<SystemLoadListener>();
54 }
55
TearDown(void)56 void SytemLoadTest::TearDown(void)
57 {
58 GTEST_LOG_(INFO) << "TearDown";
59 SystemLoadStatus_ = nullptr;
60 SystemLoadListener_ = nullptr;
61 }
62
63 /**
64 * @tc.name: RegisterSystemloadCallbackTest
65 * @tc.desc: Verify the RegisterSystemloadCallback function
66 * @tc.type: FUNC
67 * @tc.require: I6JPKG
68 */
69 HWTEST_F(SytemLoadTest, RegisterSystemloadCallbackTest, TestSize.Level1)
70 {
71 GTEST_LOG_(INFO) << "RegisterSystemloadCallbackTest Start";
72 try {
73 std::shared_ptr<CloudFile::DataSyncManager> dataSyncManager;
74 SystemLoadStatus_->RegisterSystemloadCallback(dataSyncManager);
75 } catch (...) {
76 EXPECT_TRUE(false);
77 GTEST_LOG_(INFO) << "RegisterSystemloadCallbackTest FAILED";
78 }
79 GTEST_LOG_(INFO) << "RegisterSystemloadCallbackTest End";
80 }
81
82 /**
83 * @tc.name: OnSystemloadLevelTest001
84 * @tc.desc: Verify the OnSystemloadLevel function
85 * @tc.type: FUNC
86 * @tc.require: I6JPKG
87 */
88 HWTEST_F(SytemLoadTest, OnSystemloadLevelTest001, TestSize.Level1)
89 {
90 GTEST_LOG_(INFO) << "OnSystemloadLevelTest001 Start";
91 try {
92 int32_t level = 10;
93 SystemLoadListener_->OnSystemloadLevel(level);
94 } catch (...) {
95 EXPECT_TRUE(false);
96 GTEST_LOG_(INFO) << "OnSystemloadLevelTest001 FAILED";
97 }
98 GTEST_LOG_(INFO) << "OnSystemloadLevelTest001 End";
99 }
100
101 /**
102 * @tc.name: OnSystemloadLevelTest002
103 * @tc.desc: Verify the OnSystemloadLevel function
104 * @tc.type: FUNC
105 * @tc.require: I6JPKG
106 */
107 HWTEST_F(SytemLoadTest, OnSystemloadLevelTest002, TestSize.Level1)
108 {
109 GTEST_LOG_(INFO) << "OnSystemloadLevelTest002 Start";
110 try {
111 int32_t level = 1;
112 SystemLoadListener_->OnSystemloadLevel(level);
113 } catch (...) {
114 EXPECT_TRUE(false);
115 GTEST_LOG_(INFO) << "OnSystemloadLevelTest002 FAILED";
116 }
117 GTEST_LOG_(INFO) << "OnSystemloadLevelTest002 End";
118 }
119
120 /**
121 * @tc.name: IsLoadStatusOkayTest001
122 * @tc.desc: Verify the IsLoadStatusOkay function
123 * @tc.type: FUNC
124 * @tc.require: I6JPKG
125 */
126 HWTEST_F(SytemLoadTest, IsLoadStatusOkayTest001, TestSize.Level1)
127 {
128 GTEST_LOG_(INFO) << "IsLoadStatusOkayTest001 Start";
129 try {
130 SystemLoadStatus_->Setload(10);
131 bool ret = SystemLoadStatus_->IsLoadStatusUnderHot();
132 EXPECT_EQ(ret, false);
133 } catch (...) {
134 EXPECT_TRUE(false);
135 GTEST_LOG_(INFO) << "IsLoadStatusOkayTest001 FAILED";
136 }
137 GTEST_LOG_(INFO) << "IsLoadStatusOkayTest001 End";
138 }
139
140 /**
141 * @tc.name: IsLoadStatusOkayTest002
142 * @tc.desc: Verify the IsLoadStatusOkay function
143 * @tc.type: FUNC
144 * @tc.require: I6JPKG
145 */
146 HWTEST_F(SytemLoadTest, IsLoadStatusOkayTest002, TestSize.Level1)
147 {
148 GTEST_LOG_(INFO) << "IsLoadStatusOkayTest002 Start";
149 try {
150 SystemLoadStatus_->Setload(1);
151 bool ret = SystemLoadStatus_->IsLoadStatusUnderHot();
152 EXPECT_EQ(ret, true);
153 } catch (...) {
154 EXPECT_TRUE(false);
155 GTEST_LOG_(INFO) << "IsLoadStatusOkayTest002 FAILED";
156 }
157 GTEST_LOG_(INFO) << "IsLoadStatusOkayTest002 End";
158 }
159 } // namespace OHOS::FileManagement::CloudSync::Test