1 /*
2 * Copyright (c) 2022 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 <string>
17 #include <gtest/gtest.h>
18
19 #include "softbus_error_code.h"
20 #include "softbus_adapter_mem.h"
21 #include "softbus_common.h"
22 #include "legacy/softbus_hisysevt_bus_center.h"
23 #include "securec.h"
24 #include "legacy/softbus_hisysevt_discreporter.h"
25 #include "legacy/softbus_hisysevt_connreporter.h"
26 #include "legacy/softbus_adapter_hisysevent.h"
27 #include "legacy/softbus_hisysevt_common.h"
28
29 using namespace std;
30 using namespace testing::ext;
31
32 static const char *g_moduleNameOne = "testModule1";
33 static const char *g_moduleNameTwo = "testModule2";
34
35 namespace OHOS {
36 class DiscConnDfxTest : public testing::Test {
37 public:
38 static void SetUpTestCase();
39 static void TearDownTestCase();
40 void SetUp();
41 void TearDown();
42 };
43
SetUpTestCase(void)44 void DiscConnDfxTest::SetUpTestCase(void)
45 {
46 InitSoftbusSysEvt();
47 }
48
TearDownTestCase(void)49 void DiscConnDfxTest::TearDownTestCase(void)
50 {
51 }
52
SetUp(void)53 void DiscConnDfxTest::SetUp(void)
54 {
55 }
56
TearDown(void)57 void DiscConnDfxTest::TearDown(void)
58 {
59 }
60
61 /**
62 * @tc.name: SoftbusRecordFirstDiscTime
63 * @tc.desc: Verify SoftBus Record first Discovery time function.
64 * @tc.type: FUNC
65 * @tc.require:
66 */
67 HWTEST_F(DiscConnDfxTest, SoftbusRecordFirstDiscTime_001, TestSize.Level0)
68 {
69 int32_t ret = SOFTBUS_ERR;
70
71 ret = SoftbusRecordFirstDiscTime(SOFTBUS_HISYSEVT_DISC_MEDIUM_BLE, 1000);
72 EXPECT_EQ(SOFTBUS_OK, ret);
73 ret = SoftbusRecordFirstDiscTime(SOFTBUS_HISYSEVT_DISC_MEDIUM_BLE, 2000);
74 EXPECT_EQ(SOFTBUS_OK, ret);
75 ret = SoftbusRecordFirstDiscTime(SOFTBUS_HISYSEVT_DISC_MEDIUM_BLE, 3000);
76 EXPECT_EQ(SOFTBUS_OK, ret);
77 ret = SoftbusRecordFirstDiscTime(SOFTBUS_HISYSEVT_DISC_MEDIUM_BLE, UINT64_MAX - 1);
78 EXPECT_EQ(SOFTBUS_OK, ret);
79
80 ret = SoftbusRecordFirstDiscTime(SOFTBUS_HISYSEVT_DISC_MEDIUM_COAP, 1000);
81 EXPECT_EQ(SOFTBUS_OK, ret);
82 ret = SoftbusRecordFirstDiscTime(SOFTBUS_HISYSEVT_DISC_MEDIUM_COAP, 2000);
83 EXPECT_EQ(SOFTBUS_OK, ret);
84 ret = SoftbusRecordFirstDiscTime(SOFTBUS_HISYSEVT_DISC_MEDIUM_COAP, 3000);
85 EXPECT_EQ(SOFTBUS_OK, ret);
86 ret = SoftbusRecordFirstDiscTime(SOFTBUS_HISYSEVT_DISC_MEDIUM_COAP, UINT64_MAX - 1);
87 EXPECT_EQ(SOFTBUS_OK, ret);
88
89 StatisticEvtReportFunc reportFunc = GetStatisticEvtReportFunc(SOFTBUS_STATISTIC_EVT_FIRST_DISC_DURATION);
90 ret = reportFunc();
91 EXPECT_EQ(SOFTBUS_OK, ret);
92 }
93
94 /**
95 * @tc.name: SoftbusRecordBleDiscDetails001
96 * @tc.desc: Verify SoftbusRecordBleDiscDetails function.
97 * @tc.type: FUNC
98 * @tc.require:
99 */
100
101 HWTEST_F(DiscConnDfxTest, SoftbusRecordBleDiscDetails_001, TestSize.Level0)
102 {
103 int32_t ret = SOFTBUS_ERR;
104
105 ret = SoftbusRecordBleDiscDetails(const_cast<char *>(g_moduleNameOne), 1000, 3, 2, 1);
106 EXPECT_EQ(SOFTBUS_OK, ret);
107 ret = SoftbusRecordBleDiscDetails(const_cast<char *>(g_moduleNameOne), 2000, 3, 2, 1);
108 EXPECT_EQ(SOFTBUS_OK, ret);
109 ret = SoftbusRecordBleDiscDetails(const_cast<char *>(g_moduleNameOne), 3000, 3, 2, 1);
110 EXPECT_EQ(SOFTBUS_OK, ret);
111
112 ret = SoftbusRecordBleDiscDetails(const_cast<char *>(g_moduleNameTwo), 1000, 3, 2, 1);
113 EXPECT_EQ(SOFTBUS_OK, ret);
114 ret = SoftbusRecordBleDiscDetails(const_cast<char *>(g_moduleNameTwo), 2000, 3, 2, 1);
115 EXPECT_EQ(SOFTBUS_OK, ret);
116 ret = SoftbusRecordBleDiscDetails(const_cast<char *>(g_moduleNameTwo), 3000, 3, 2, 1);
117 EXPECT_EQ(SOFTBUS_OK, ret);
118
119 StatisticEvtReportFunc reportFunc = GetStatisticEvtReportFunc(SOFTBUS_STATISTIC_EVT_DISC_DETAILS);
120 ret = reportFunc();
121 EXPECT_EQ(SOFTBUS_OK, ret);
122 }
123
124 /**
125 * @tc.name: SoftbusRecordDiscBleRssi001
126 * @tc.desc: Verify SoftbusRecordDiscBleRssi function.
127 * @tc.type: FUNC
128 * @tc.require:
129 */
130
131 HWTEST_F(DiscConnDfxTest, SoftbusRecordDiscBleRssi_001, TestSize.Level0)
132 {
133 int32_t ret = SOFTBUS_ERR;
134
135 ret = SoftbusRecordDiscBleRssi(-30);
136 EXPECT_EQ(SOFTBUS_OK, ret);
137 ret = SoftbusRecordDiscBleRssi(-20);
138 EXPECT_EQ(SOFTBUS_OK, ret);
139 ret = SoftbusRecordDiscBleRssi(20);
140 EXPECT_EQ(SOFTBUS_OK, ret);
141 ret = SoftbusRecordDiscBleRssi(30);
142 EXPECT_EQ(SOFTBUS_OK, ret);
143
144 StatisticEvtReportFunc reportFunc = GetStatisticEvtReportFunc(SOFTBUS_STATISTIC_EVT_DISC_BLE_RSSI);
145 ret = reportFunc();
146 EXPECT_EQ(SOFTBUS_OK, ret);
147 }
148
149 /**
150 * @tc.name: SoftbusRecordConnResult_001
151 * @tc.desc: Verify SoftbusRecordConnResult function.
152 * @tc.type: FUNC
153 * @tc.require:
154 */
155 HWTEST_F(DiscConnDfxTest, SoftbusRecordConnResult_001, TestSize.Level0)
156 {
157 int32_t ret = SOFTBUS_ERR;
158
159 ret = SoftbusRecordConnResult(DEFAULT_PID, SOFTBUS_HISYSEVT_CONN_TYPE_BR, SOFTBUS_EVT_CONN_SUCC,
160 1000, SOFTBUS_HISYSEVT_CONN_OK);
161 EXPECT_EQ(SOFTBUS_OK, ret);
162 ret = SoftbusRecordConnResult(DEFAULT_PID, SOFTBUS_HISYSEVT_CONN_TYPE_BR, SOFTBUS_EVT_CONN_SUCC,
163 2000, SOFTBUS_HISYSEVT_CONN_OK);
164 EXPECT_EQ(SOFTBUS_OK, ret);
165 ret = SoftbusRecordConnResult(DEFAULT_PID, SOFTBUS_HISYSEVT_CONN_TYPE_BR, SOFTBUS_EVT_CONN_SUCC,
166 3000, SOFTBUS_HISYSEVT_CONN_OK);
167 EXPECT_EQ(SOFTBUS_OK, ret);
168 ret = SoftbusRecordConnResult(DEFAULT_PID, SOFTBUS_HISYSEVT_CONN_TYPE_BLE, SOFTBUS_EVT_CONN_SUCC,
169 3000, SOFTBUS_HISYSEVT_CONN_OK);
170 EXPECT_EQ(SOFTBUS_OK, ret);
171 ret = SoftbusRecordConnResult(DEFAULT_PID, SOFTBUS_HISYSEVT_CONN_TYPE_TCP, SOFTBUS_EVT_CONN_SUCC,
172 3000, SOFTBUS_HISYSEVT_CONN_OK);
173 EXPECT_EQ(SOFTBUS_OK, ret);
174 ret = SoftbusRecordConnResult(DEFAULT_PID, SOFTBUS_HISYSEVT_CONN_TYPE_P2P, SOFTBUS_EVT_CONN_SUCC,
175 3000, SOFTBUS_HISYSEVT_CONN_OK);
176 EXPECT_EQ(SOFTBUS_OK, ret);
177 ret = SoftbusRecordConnResult(DEFAULT_PID, SOFTBUS_HISYSEVT_CONN_TYPE_BR, SOFTBUS_EVT_CONN_FAIL,
178 3000, SOFTBUS_ERR);
179 EXPECT_EQ(SOFTBUS_OK, ret);
180 ret = SoftbusRecordConnResult(DEFAULT_PID, SOFTBUS_HISYSEVT_CONN_TYPE_BR, SOFTBUS_EVT_CONN_FAIL,
181 2000, SOFTBUS_ERR);
182 EXPECT_EQ(SOFTBUS_OK, ret);
183 StatisticEvtReportFunc reportFunc = GetStatisticEvtReportFunc(SOFTBUS_STATISTIC_EVT_CONN_DURATION);
184 ret = reportFunc();
185 EXPECT_EQ(SOFTBUS_OK, ret);
186 }
187
188 /**
189 * @tc.name: SoftbusRecordConnResult_001
190 * @tc.desc: Verify SoftbusRecordConnResult function.
191 * @tc.type: FUNC
192 * @tc.require:
193 */
194 HWTEST_F(DiscConnDfxTest, SoftbusRecordProccessDuration_001, TestSize.Level0)
195 {
196 int32_t ret = SOFTBUS_ERR;
197 ProcessStepTime processStepTime = {
198 .totalTime = 3000,
199 .negotiationTime = 1000,
200 .groupCreateTime = 1000,
201 .connGroupTime = 1000,
202 };
203 ret = SoftbusRecordProccessDuration(DEFAULT_PID, SOFTBUS_HISYSEVT_CONN_TYPE_P2P, SOFTBUS_EVT_CONN_SUCC,
204 &processStepTime, SOFTBUS_HISYSEVT_CONN_OK);
205 EXPECT_EQ(SOFTBUS_OK, ret);
206
207 StatisticEvtReportFunc reportFunc = GetStatisticEvtReportFunc(SOFTBUS_STATISTIC_EVT_PROCESS_STEP_DURATION);
208 ret = reportFunc();
209 EXPECT_EQ(SOFTBUS_OK, ret);
210 }
211
212 /**
213 * @tc.name: SoftbusReportDiscFault_001
214 * @tc.desc: Verify SoftbusReportDiscFault function.
215 * @tc.type: FUNC
216 * @tc.require:
217 */
218 HWTEST_F(DiscConnDfxTest, SoftbusReportDiscFault_001, TestSize.Level0)
219 {
220 int32_t ret = SOFTBUS_ERR;
221 ret = SoftbusReportDiscFault(SOFTBUS_HISYSEVT_DISC_MEDIUM_BLE, -100);
222 EXPECT_EQ(SOFTBUS_OK, ret);
223
224 ret = SoftbusReportDiscFault(SOFTBUS_HISYSEVT_DISC_MEDIUM_COAP, -100);
225 EXPECT_EQ(SOFTBUS_OK, ret);
226 }
227
228 /**
229 * @tc.name: InitBusCenterDfx001
230 * @tc.desc: Verify InitBusCenterDfx function.
231 * @tc.type: FUNC
232 * @tc.require:
233 */
234
235 HWTEST_F(DiscConnDfxTest, InitDiscConnDfx001, TestSize.Level0)
236 {
237 int32_t ret = InitConnStatisticSysEvt();
238 EXPECT_EQ(SOFTBUS_OK, ret);
239 DeinitConnStatisticSysEvt();
240
241 ret = InitDiscStatisticSysEvt();
242 EXPECT_EQ(SOFTBUS_OK, ret);
243 DeinitDiscStatisticSysEvt();
244 }
245 } // namespace OHOS
246