• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 <gtest/gtest.h>
17 
18 #include "define_multimodal.h"
19 #include "dfx_hisysevent.h"
20 #include "mmi_log.h"
21 
22 #undef MMI_LOG_TAG
23 #define MMI_LOG_TAG "DfxHisysEventTest"
24 
25 namespace OHOS {
26 namespace MMI {
27 namespace {
28 using namespace testing::ext;
29 } // namespace
30 
31 class DfxHisysEventTest : public testing::Test {
32 public:
SetUpTestCase(void)33     static void SetUpTestCase(void) {}
TearDownTestCase(void)34     static void TearDownTestCase(void) {}
SetUp()35     void SetUp() {}
TearDown()36     void TearDown() {}
37 };
38 
39 /**
40  * @tc.name: DfxHisysEventTest_OnClientConnectTest_001
41  * @tc.desc: OnClientConnect
42  * @tc.type: FUNC
43  * @tc.require:
44  */
45 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnClientConnectTest_001, TestSize.Level1)
46 {
47     CALL_TEST_DEBUG;
48     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::FAULT;
49     DfxHisysevent::ClientConnectData data;
50     data.pid = 100;
51     int32_t res = 100;
52     DfxHisysevent::OnClientConnect(data, type);
53     EXPECT_EQ(data.pid, res);
54 }
55 
56 /**
57  * @tc.name: DfxHisysEventTest_OnClientConnectTest_002
58  * @tc.desc: OnClientConnect
59  * @tc.type: FUNC
60  * @tc.require:
61  */
62 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnClientConnectTest_002, TestSize.Level1)
63 {
64     CALL_TEST_DEBUG;
65     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::BEHAVIOR;
66     DfxHisysevent::ClientConnectData data;
67     data.pid = 100;
68     int32_t res = 100;
69     DfxHisysevent::OnClientConnect(data, type);
70     EXPECT_EQ(data.pid, res);
71 }
72 
73 /**
74  * @tc.name: DfxHisysEventTest_StatisticTouchpadGestureTest_001
75  * @tc.desc: StatisticTouchpadGesture
76  * @tc.type: FUNC
77  * @tc.require:
78  */
79 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_StatisticTouchpadGestureTest_001, TestSize.Level1)
80 {
81     CALL_TEST_DEBUG;
82     std::shared_ptr<PointerEvent> pointerEvent = PointerEvent::Create();
83     ASSERT_NE(pointerEvent, nullptr);
84     pointerEvent->SetPointerAction(PointerEvent::POINTER_ACTION_AXIS_BEGIN);
85     int32_t fingerCount = 1;
86     pointerEvent->SetFingerCount(fingerCount);
87     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::StatisticTouchpadGesture(pointerEvent));
88 }
89 
90 /**
91  * @tc.name: DfxHisysEventTest_ReportPowerInfoTest_001
92  * @tc.desc: ReportPowerInfo
93  * @tc.type: FUNC
94  * @tc.require:
95  */
96 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportPowerInfoTest_001, TestSize.Level1)
97 {
98     CALL_TEST_DEBUG;
99     auto keyEvent = KeyEvent::Create();
100     ASSERT_NE(keyEvent, nullptr);
101     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::FAULT;
102     keyEvent->SetKeyAction(KeyEvent::KEY_ACTION_UP);
103     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportPowerInfo(keyEvent, type));
104     keyEvent->SetKeyAction(KeyEvent::KEY_ACTION_DOWN);
105     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportPowerInfo(keyEvent, type));
106     keyEvent = nullptr;
107     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportPowerInfo(keyEvent, type));
108 }
109 
110 /**
111  * @tc.name: DfxHisysEventTest_OnUpdateTargetPointerTest_001
112  * @tc.desc: OnUpdateTargetPointer
113  * @tc.type: FUNC
114  * @tc.require:
115  */
116 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnUpdateTargetPointerTest_001, TestSize.Level1)
117 {
118     CALL_TEST_DEBUG;
119     std::shared_ptr<PointerEvent> pointer = PointerEvent::Create();
120     ASSERT_NE(pointer, nullptr);
121     int32_t fd = 1;
122     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::FAULT;
123     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnUpdateTargetPointer(pointer, fd, type));
124     type = OHOS::HiviewDFX::HiSysEvent::EventType::BEHAVIOR;
125     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnUpdateTargetPointer(pointer, fd, type));
126 }
127 
128 /**
129  * @tc.name: DfxHisysEventTest_OnUpdateTargetKeyTest_001
130  * @tc.desc: OnUpdateTargetPointer
131  * @tc.type: FUNC
132  * @tc.require:
133  */
134 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnUpdateTargetKeyTest_001, TestSize.Level1)
135 {
136     CALL_TEST_DEBUG;
137     auto keyEvent = KeyEvent::Create();
138     ASSERT_NE(keyEvent, nullptr);
139     int32_t fd = 1;
140     OHOS::HiviewDFX::HiSysEvent::EventType type = OHOS::HiviewDFX::HiSysEvent::EventType::FAULT;
141     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnUpdateTargetKey(keyEvent, fd, type));
142     type = OHOS::HiviewDFX::HiSysEvent::EventType::BEHAVIOR;
143     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnUpdateTargetKey(keyEvent, fd, type));
144 }
145 
146 /**
147  * @tc.name: DfxHisysEventTest_OnLidSwitchChangedTest_001
148  * @tc.desc: OnLidSwitchChanged
149  * @tc.type: FUNC
150  * @tc.require:
151  */
152 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_OnLidSwitchChangedTest_001, TestSize.Level1)
153 {
154     CALL_TEST_DEBUG;
155     int32_t lidSwitch = 0;
156     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::OnLidSwitchChanged(lidSwitch));
157 }
158 
159 /**
160  * @tc.name: DfxHisysEventTest_CalcKeyDispTimesTest_001
161  * @tc.desc: CalcKeyDispTimes
162  * @tc.type: FUNC
163  * @tc.require:
164  */
165 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_CalcKeyDispTimesTest_001, TestSize.Level1)
166 {
167     CALL_TEST_DEBUG;
168     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::CalcKeyDispTimes());
169 }
170 
171 /**
172  * @tc.name: DfxHisysEventTest_CalcPointerDispTimesTest_001
173  * @tc.desc: CalcPointerDispTimes
174  * @tc.type: FUNC
175  * @tc.require:
176  */
177 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_CalcPointerDispTimesTest_001, TestSize.Level1)
178 {
179     CALL_TEST_DEBUG;
180     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::CalcPointerDispTimes());
181 }
182 
183 /**
184  * @tc.name: DfxHisysEventTest_ReportDispTimesTest_001
185  * @tc.desc: ReportDispTimes
186  * @tc.type: FUNC
187  * @tc.require:
188  */
189 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportDispTimesTest_001, TestSize.Level1)
190 {
191     CALL_TEST_DEBUG;
192     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportDispTimes());
193 }
194 
195 /**
196  * @tc.name: DfxHisysEventTest_ReportFailIfInvalidTimeTest_001
197  * @tc.desc: ReportFailIfInvalidTime
198  * @tc.type: FUNC
199  * @tc.require:
200  */
201 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportFailIfInvalidTimeTest_001, TestSize.Level1)
202 {
203     CALL_TEST_DEBUG;
204     int32_t intervalTime = 1000;
205     auto pointerEvent = PointerEvent::Create();
206     ASSERT_NE(pointerEvent, nullptr);
207     PointerEvent::PointerItem item;
208     item.SetPointerId(0);
209     item.SetDeviceId(1);
210     pointerEvent->AddPointerItem(item);
211     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfInvalidTime(pointerEvent, intervalTime));
212 
213     item.SetPointerId(1);
214     item.SetDeviceId(1);
215     pointerEvent->AddPointerItem(item);
216     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfInvalidTime(pointerEvent, intervalTime));
217 
218     intervalTime = 1000001;
219     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfInvalidTime(pointerEvent, intervalTime));
220 
221     item.SetPointerId(2);
222     item.SetDeviceId(1);
223     pointerEvent->AddPointerItem(item);
224     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfInvalidTime(pointerEvent, intervalTime));
225 }
226 
227 /**
228  * @tc.name: DfxHisysEventTest_ReportFailIfInvalidDistanceTest_001
229  * @tc.desc: ReportFailIfInvalidDistance
230  * @tc.type: FUNC
231  * @tc.require:
232  */
233 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportFailIfInvalidDistanceTest_001, TestSize.Level1)
234 {
235     CALL_TEST_DEBUG;
236     auto pointerEvent = PointerEvent::Create();
237     ASSERT_NE(pointerEvent, nullptr);
238     float distance = 10;
239     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfInvalidDistance(pointerEvent, distance));
240 }
241 
242 /**
243  * @tc.name: DfxHisysEventTest_ReportKnuckleClickEvent_001
244  * @tc.desc: ReportKnuckleClickEvent
245  * @tc.type: FUNC
246  * @tc.require:
247  */
248 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportKnuckleClickEvent_001, TestSize.Level1)
249 {
250     CALL_TEST_DEBUG;
251     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportKnuckleClickEvent());
252 }
253 
254 /**
255  * @tc.name: DfxHisysEventTest_ReportScreenCaptureGesture_001
256  * @tc.desc: ReportScreenCaptureGesture
257  * @tc.type: FUNC
258  * @tc.require:
259  */
260 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportScreenCaptureGesture_001, TestSize.Level1)
261 {
262     CALL_TEST_DEBUG;
263     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportScreenCaptureGesture());
264 }
265 
266 /**
267  * @tc.name: DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_001
268  * @tc.desc: ReportSingleKnuckleDoubleClickEvent
269  * @tc.type: FUNC
270  * @tc.require:
271  */
272 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_001, TestSize.Level1)
273 {
274     CALL_TEST_DEBUG;
275     int32_t intervalTime = -1;
276     int32_t distanceInterval = -1;
277     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportSingleKnuckleDoubleClickEvent(intervalTime, distanceInterval));
278 }
279 
280 /**
281  * @tc.name: DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_002
282  * @tc.desc: ReportSingleKnuckleDoubleClickEvent
283  * @tc.type: FUNC
284  * @tc.require:
285  */
286 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_002, TestSize.Level1)
287 {
288     CALL_TEST_DEBUG;
289     int32_t intervalTime = 0;
290     int32_t distanceInterval = 0;
291     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportSingleKnuckleDoubleClickEvent(intervalTime, distanceInterval));
292 }
293 
294 /**
295  * @tc.name: DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_003
296  * @tc.desc: ReportSingleKnuckleDoubleClickEvent
297  * @tc.type: FUNC
298  * @tc.require:
299  */
300 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_003, TestSize.Level1)
301 {
302     CALL_TEST_DEBUG;
303     int32_t intervalTime = 10;
304     int32_t distanceInterval = 10;
305     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportSingleKnuckleDoubleClickEvent(intervalTime, distanceInterval));
306 }
307 
308 /**
309  * @tc.name: DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_004
310  * @tc.desc: ReportSingleKnuckleDoubleClickEvent
311  * @tc.type: FUNC
312  * @tc.require:
313  */
314 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportSingleKnuckleDoubleClickEvent_004, TestSize.Level1)
315 {
316     CALL_TEST_DEBUG;
317     int32_t intervalTime = 10000;
318     int32_t distanceInterval = 10000;
319     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportSingleKnuckleDoubleClickEvent(intervalTime, distanceInterval));
320 }
321 
322 /**
323  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_001
324  * @tc.desc: ReportTouchpadSettingState
325  * @tc.type: FUNC
326  * @tc.require:
327  */
328 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_001, TestSize.Level1)
329 {
330     CALL_TEST_DEBUG;
331     bool flag = false;
332     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
333         DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_ROTATE_SETTING, flag));
334 }
335 
336 /**
337  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_002
338  * @tc.desc: ReportTouchpadSettingState
339  * @tc.type: FUNC
340  * @tc.require:
341  */
342 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_002, TestSize.Level1)
343 {
344     CALL_TEST_DEBUG;
345     bool flag = false;
346     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
347         DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_SCROLL_SETTING, flag));
348 }
349 
350 /**
351  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_003
352  * @tc.desc: ReportTouchpadSettingState
353  * @tc.type: FUNC
354  * @tc.require:
355  */
356 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_003, TestSize.Level1)
357 {
358     CALL_TEST_DEBUG;
359     bool flag = true;
360     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
361           DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_SCROLL_SETTING, flag));
362 }
363 
364 /**
365  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_004
366  * @tc.desc: ReportTouchpadSettingState
367  * @tc.type: FUNC
368  * @tc.require:
369  */
370 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_004, TestSize.Level1)
371 {
372     CALL_TEST_DEBUG;
373     int32_t value = -1;
374     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
375         DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_ROTATE_SETTING, value));
376 }
377 
378 /**
379  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_005
380  * @tc.desc: ReportTouchpadSettingState
381  * @tc.type: FUNC
382  * @tc.require:
383  */
384 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_005, TestSize.Level1)
385 {
386     CALL_TEST_DEBUG;
387     int32_t value = -1;
388     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
389         DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_POINTER_SPEED_SETTING, value));
390 }
391 
392 /**
393  * @tc.name: DfxHisysEventTest_ReportTouchpadSettingState_006
394  * @tc.desc: ReportTouchpadSettingState
395  * @tc.type: FUNC
396  * @tc.require:
397  */
398 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportTouchpadSettingState_006, TestSize.Level1)
399 {
400     CALL_TEST_DEBUG;
401     int32_t value = 10;
402     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportTouchpadSettingState(
403         DfxHisysevent::TOUCHPAD_SETTING_CODE::TOUCHPAD_POINTER_SPEED_SETTING, value));
404 }
405 
406 /**
407  * @tc.name: DfxHisysEventTest_ReportKnuckleGestureFaildTimes_001
408  * @tc.desc: ReportKnuckleGestureFaildTimes
409  * @tc.type: FUNC
410  * @tc.require:
411  */
412 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportKnuckleGestureFaildTimes_001, TestSize.Level1)
413 {
414     CALL_TEST_DEBUG;
415     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportKnuckleGestureFaildTimes());
416 }
417 
418 /**
419  * @tc.name: DfxHisysEventTest_ReportKnuckleDrawSSuccessTimes_001
420  * @tc.desc: ReportKnuckleDrawSSuccessTimes
421  * @tc.type: FUNC
422  * @tc.require:
423  */
424 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportKnuckleDrawSSuccessTimes_001, TestSize.Level1)
425 {
426     CALL_TEST_DEBUG;
427     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportKnuckleDrawSSuccessTimes());
428 }
429 
430 /**
431  * @tc.name: DfxHisysEventTest_ReportKnuckleGestureFromFailToSuccessTime_001
432  * @tc.desc: ReportKnuckleGestureFromFailToSuccessTime
433  * @tc.type: FUNC
434  * @tc.require:
435  */
436 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportKnuckleGestureFromFailToSuccessTime_001, TestSize.Level1)
437 {
438     CALL_TEST_DEBUG;
439     int64_t intervalTime = 1;
440     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportKnuckleGestureFromFailToSuccessTime(intervalTime));
441 }
442 
443 /**
444  * @tc.name: DfxHisysEventTest_ReportKnuckleGestureFromSuccessToFailTime_001
445  * @tc.desc: ReportKnuckleGestureFromSuccessToFailTime
446  * @tc.type: FUNC
447  * @tc.require:
448  */
449 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportKnuckleGestureFromSuccessToFailTime_001, TestSize.Level1)
450 {
451     CALL_TEST_DEBUG;
452     int64_t intervalTime = 1;
453     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportKnuckleGestureFromSuccessToFailTime(intervalTime));
454 }
455 
456 /**
457  * @tc.name: DfxHisysEventTest_ReportFailIfKnockTooFast_001
458  * @tc.desc: ReportFailIfKnockTooFast
459  * @tc.type: FUNC
460  * @tc.require:
461  */
462 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportFailIfKnockTooFast_001, TestSize.Level1)
463 {
464     CALL_TEST_DEBUG;
465     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfKnockTooFast());
466 }
467 
468 /**
469  * @tc.name: DfxHisysEventTest_ReportFailIfOneSuccTwoFail_001
470  * @tc.desc: ReportFailIfOneSuccTwoFail
471  * @tc.type: FUNC
472  * @tc.require:
473  */
474 HWTEST_F(DfxHisysEventTest, DfxHisysEventTest_ReportFailIfOneSuccTwoFail_001, TestSize.Level1)
475 {
476     CALL_TEST_DEBUG;
477     auto pointerEvent = PointerEvent::Create();
478     ASSERT_NE(pointerEvent, nullptr);
479     PointerEvent::PointerItem item;
480     item.SetPointerId(0);
481     item.SetDeviceId(1);
482     item.SetToolType(PointerEvent::TOOL_TYPE_KNUCKLE);
483     pointerEvent->AddPointerItem(item);
484     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfOneSuccTwoFail(pointerEvent));
485 
486     item.SetToolType(PointerEvent::TOOL_TYPE_FINGER);
487     ASSERT_NO_FATAL_FAILURE(DfxHisysevent::ReportFailIfOneSuccTwoFail(pointerEvent));
488 }
489 
490 } // namespace MMI
491 } // namespace OHOS