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 "cloud_daemon_statistic.h"
17
18 #include <gmock/gmock.h>
19 #include <gtest/gtest.h>
20
21 namespace OHOS::FileManagement::CloudFile::test {
22 using namespace testing;
23 using namespace testing::ext;
24 using namespace std;
25
26 #define MODEL_TIME 20240710
27 #define MODEL_TYPE 1
28 #define MODEL_SIZE 12
29
30 class CloudDaemonStatisticTest : public testing::Test {
31 public:
32 static void SetUpTestCase(void);
33 static void TearDownTestCase(void);
34 void SetUp();
35 void TearDown();
36 };
37
SetUpTestCase(void)38 void CloudDaemonStatisticTest::SetUpTestCase(void)
39 {
40 GTEST_LOG_(INFO) << "SetUpTestCase";
41 }
42
TearDownTestCase(void)43 void CloudDaemonStatisticTest::TearDownTestCase(void)
44 {
45 GTEST_LOG_(INFO) << "TearDownTestCase";
46 }
47
SetUp(void)48 void CloudDaemonStatisticTest::SetUp(void)
49 {
50 GTEST_LOG_(INFO) << "SetUp";
51 }
52
TearDown(void)53 void CloudDaemonStatisticTest::TearDown(void)
54 {
55 GTEST_LOG_(INFO) << "TearDown";
56 }
57
58 HWTEST_F(CloudDaemonStatisticTest, CloudDaemonStatisticTest_001, TestSize.Level1)
59 {
60 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_001 Start";
61 try {
62 CloudDaemonStatistic::GetInstance();
63 EXPECT_TRUE(true);
64 } catch (...) {
65 EXPECT_TRUE(false);
66 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_001 ERROR";
67 }
68 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_001 End";
69 }
70
71 HWTEST_F(CloudDaemonStatisticTest, CloudDaemonStatisticTest_002, TestSize.Level1)
72 {
73 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_002 Start";
74 try {
75 CloudDaemonStatistic::GetInstance().UpdateStatData();
76 EXPECT_TRUE(true);
77 } catch (...) {
78 EXPECT_TRUE(false);
79 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_002 ERROR";
80 }
81 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_002 End";
82 }
83
84 HWTEST_F(CloudDaemonStatisticTest, CloudDaemonStatisticTest_003, TestSize.Level1)
85 {
86 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_003 Start";
87 CloudDaemonStatistic cds;
88 try {
89 cds.UpdateOpenSizeStat(MODEL_SIZE);
90 EXPECT_TRUE(true);
91 } catch (...) {
92 EXPECT_TRUE(false);
93 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_003 ERROR";
94 }
95 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_003 End";
96 }
97
98 HWTEST_F(CloudDaemonStatisticTest, CloudDaemonStatisticTest_004, TestSize.Level1)
99 {
100 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_004 Start";
101 CloudDaemonStatistic cds;
102 try {
103 cds.UpdateReadSizeStat(MODEL_SIZE);
104 EXPECT_TRUE(true);
105 } catch (...) {
106 EXPECT_TRUE(false);
107 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_004 ERROR";
108 }
109 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_004 End";
110 }
111
112 HWTEST_F(CloudDaemonStatisticTest, CloudDaemonStatisticTest_005, TestSize.Level1)
113 {
114 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_005 Start";
115 CloudDaemonStatistic cds;
116 try {
117 cds.UpdateReadTimeStat(MODEL_TYPE, MODEL_TIME);
118 EXPECT_TRUE(true);
119 } catch (...) {
120 EXPECT_TRUE(false);
121 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_005 ERROR";
122 }
123 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_005 End";
124 }
125
126 HWTEST_F(CloudDaemonStatisticTest, CloudDaemonStatisticTest_006, TestSize.Level1)
127 {
128 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_006 Start";
129 CloudDaemonStatistic cds;
130 try {
131 cds.UpdateStatData();
132 EXPECT_TRUE(true);
133 } catch (...) {
134 EXPECT_TRUE(false);
135 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_006 ERROR";
136 }
137 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_006 End";
138 }
139
140 HWTEST_F(CloudDaemonStatisticTest, CloudDaemonStatisticTest_007, TestSize.Level1)
141 {
142 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_007 Start";
143 CloudDaemonStatistic &readStat = CloudDaemonStatistic::GetInstance();
144 try {
145 readStat.UpdateOpenTimeStat(MODEL_TYPE, MODEL_TIME);
146 EXPECT_TRUE(true);
147 } catch (...) {
148 EXPECT_TRUE(false);
149 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_007 ERROR";
150 }
151 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_007 End";
152 }
153
154 HWTEST_F(CloudDaemonStatisticTest, CloudDaemonStatisticTest_008, TestSize.Level1)
155 {
156 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_008 Start";
157 CloudDaemonStatistic cds;
158 cds.videoReadInfo_[CACHE_SUM] = 0;
159
160 try {
161 cds.UpdateReadInfo(CACHE_SUM);
162 EXPECT_EQ(cds.videoReadInfo_[CACHE_SUM], 1);
163 } catch(...) {
164 EXPECT_TRUE(false);
165 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_008 ERROR";
166 }
167 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_008 End";
168 }
169
170 HWTEST_F(CloudDaemonStatisticTest, CloudDaemonStatisticTest_009, TestSize.Level1)
171 {
172 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_009 Start";
173 CloudDaemonStatistic cds;
174 cds.videoReadInfo_[CACHE_SUM] = 0;
175
176 try {
177 cds.UpdateReadInfo(VIDEO_READ_INFO);
178 EXPECT_EQ(cds.videoReadInfo_[CACHE_SUM], 0);
179 } catch(...) {
180 EXPECT_TRUE(false);
181 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_009 ERROR";
182 }
183 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_009 End";
184 }
185
186 HWTEST_F(CloudDaemonStatisticTest, CloudDaemonStatisticTest_010, TestSize.Level1)
187 {
188 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_010 Start";
189 CloudDaemonStatistic cds;
190 cds.videoReadInfo_[CACHE_SUM] = UINT32_MAX;
191
192 try {
193 cds.UpdateReadInfo(CACHE_SUM);
194 EXPECT_EQ(cds.videoReadInfo_[CACHE_SUM], UINT32_MAX);
195 } catch(...) {
196 EXPECT_TRUE(false);
197 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_010 ERROR";
198 }
199 GTEST_LOG_(INFO) << "CloudDaemonStatisticTest_010 End";
200 }
201
202 /**
203 * @tc.name: UpdateBundleNameTest_001
204 * @tc.desc: Verify the UpdateBundleName function
205 * @tc.type: FUNC
206 * @tc.require: ICQTGD
207 */
208 HWTEST_F(CloudDaemonStatisticTest, UpdateBundleNameTest_001, TestSize.Level1)
209 {
210 GTEST_LOG_(INFO) << "UpdateBundleNameTest_001 Start";
211 CloudDaemonStatistic cds;
212 string bundleName = "test.bundle.name";
213
214 try {
215 cds.UpdateBundleName(bundleName);
216 EXPECT_EQ(cds.bundleName_, bundleName);
217 } catch(...) {
218 EXPECT_TRUE(false);
219 GTEST_LOG_(INFO) << "UpdateBundleNameTest_001 ERROR";
220 }
221 GTEST_LOG_(INFO) << "UpdateBundleNameTest_001 End";
222 }
223
224 /**
225 * @tc.name: ReportReadStatTest_001
226 * @tc.desc: Verify the ReportReadStat function
227 * @tc.type: FUNC
228 * @tc.require: ICQTGD
229 */
230 HWTEST_F(CloudDaemonStatisticTest, ReportReadStatTest_001, TestSize.Level1)
231 {
232 GTEST_LOG_(INFO) << "ReportReadStatTest_001 Start";
233 CloudDaemonStatisticInfo info;
234 info.bundleName = "test.bundle.name";
235
236 CloudDaemonStatistic cds;
237 try {
238 auto ret = cds.ReportReadStat(info);
239 EXPECT_EQ(ret, 0);
240 } catch(...) {
241 EXPECT_TRUE(false);
242 GTEST_LOG_(INFO) << "ReportReadStatTest_001 ERROR";
243 }
244 GTEST_LOG_(INFO) << "ReportReadStatTest_001 End";
245 }
246
247 /**
248 * @tc.name: HandleBundleNameTest_001
249 * @tc.desc: Verify the HandleBundleName function
250 * @tc.type: FUNC
251 * @tc.require: ICQTGD
252 */
253 HWTEST_F(CloudDaemonStatisticTest, HandleBundleNameTest_001, TestSize.Level1)
254 {
255 GTEST_LOG_(INFO) << "HandleBundleNameTest_001 Start";
256 CloudDaemonStatistic cds;
257 cds.bundleName_ = "test.bundle.name";
258 CloudDaemonStatisticInfo info;
259 info.bundleName = "test.bundle.name";
260 try {
261 cds.HandleBundleName(info);
262 EXPECT_EQ(cds.bundleName_, "test.bundle.name");
263 } catch(...) {
264 EXPECT_TRUE(false);
265 GTEST_LOG_(INFO) << "HandleBundleNameTest_001 ERROR";
266 }
267 GTEST_LOG_(INFO) << "HandleBundleNameTest_001 End";
268 }
269
270 /**
271 * @tc.name: HandleBundleNameTest_002
272 * @tc.desc: Verify the HandleBundleName function
273 * @tc.type: FUNC
274 * @tc.require: ICQTGD
275 */
276 HWTEST_F(CloudDaemonStatisticTest, HandleBundleNameTest_002, TestSize.Level1)
277 {
278 GTEST_LOG_(INFO) << "HandleBundleNameTest_002 Start";
279 CloudDaemonStatistic cds;
280 cds.bundleName_ = "test.bundle.name";
281 CloudDaemonStatisticInfo info;
282 info.bundleName = "different.bundle.name";
283 try {
284 cds.HandleBundleName(info);
285 EXPECT_EQ(cds.bundleName_, "test.bundle.name");
286 } catch(...) {
287 EXPECT_TRUE(false);
288 GTEST_LOG_(INFO) << "HandleBundleNameTest_002 ERROR";
289 }
290 GTEST_LOG_(INFO) << "HandleBundleNameTest_002 End";
291 }
292
293 /**
294 * @tc.name: HandleBundleNameTest_003
295 * @tc.desc: Verify the HandleBundleName function
296 * @tc.type: FUNC
297 * @tc.require: ICQTGD
298 */
299 HWTEST_F(CloudDaemonStatisticTest, HandleBundleNameTest_003, TestSize.Level1)
300 {
301 GTEST_LOG_(INFO) << "HandleBundleNameTest_003 Start";
302 CloudDaemonStatistic cds;
303 cds.bundleName_ = "test.bundle.name";
304 CloudDaemonStatisticInfo info;
305 info.bundleName = "";
306 try {
307 cds.HandleBundleName(info);
308 EXPECT_EQ(cds.bundleName_, "test.bundle.name");
309 } catch(...) {
310 EXPECT_TRUE(false);
311 GTEST_LOG_(INFO) << "HandleBundleNameTest_003 ERROR";
312 }
313 GTEST_LOG_(INFO) << "HandleBundleNameTest_003 End";
314 }
315
316 /**
317 * @tc.name: HandleBundleNameTest_004
318 * @tc.desc: Verify the HandleBundleName function
319 * @tc.type: FUNC
320 * @tc.require: ICQTGD
321 */
322 HWTEST_F(CloudDaemonStatisticTest, HandleBundleNameTest_004, TestSize.Level1)
323 {
324 GTEST_LOG_(INFO) << "HandleBundleNameTest_004 Start";
325 CloudDaemonStatistic cds;
326 cds.bundleName_ = "";
327 CloudDaemonStatisticInfo info;
328 info.bundleName = "";
329 try {
330 cds.HandleBundleName(info);
331 EXPECT_EQ(cds.bundleName_, "");
332 } catch(...) {
333 EXPECT_TRUE(false);
334 GTEST_LOG_(INFO) << "HandleBundleNameTest_004 ERROR";
335 }
336 GTEST_LOG_(INFO) << "HandleBundleNameTest_004 End";
337 }
338 }