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_businessName = "music";
33 static const char *g_callerPackName = "kuwo";
34 static const char *g_remoteBizUuid = "adafafaffafaga";
35 static const char *g_softBusVer = "1.00.01";
36 static const char *g_devName = "OpenHarmony";
37 static const char *g_udid = "12345678";
38 static const char *g_appName1 = "testApp1";
39 static const char *g_appName2 = "testApp2";
40
41 namespace OHOS {
42 class LnnDfxTest : public testing::Test {
43 public:
44 static void SetUpTestCase();
45 static void TearDownTestCase();
46 void SetUp();
47 void TearDown();
48 };
49
SetUpTestCase(void)50 void LnnDfxTest::SetUpTestCase(void)
51 {
52 InitSoftbusSysEvt();
53 }
54
TearDownTestCase(void)55 void LnnDfxTest::TearDownTestCase(void)
56 {
57 }
58
SetUp(void)59 void LnnDfxTest::SetUp(void)
60 {
61 }
62
TearDown(void)63 void LnnDfxTest::TearDown(void)
64 {
65 }
66
67 /**
68 * @tc.name: SoftBusRecordDiscoveryResult
69 * @tc.desc: Verify SoftBus Record Discovery Result function.
70 * @tc.type: FUNC
71 * @tc.require:
72 */
73 HWTEST_F(LnnDfxTest, LnnDfxTest_SoftBusRecordDiscoveryResult_001, TestSize.Level0)
74 {
75 int32_t ret = SOFTBUS_ERR;
76 ret = SoftBusRecordDiscoveryResult(START_DISCOVERY, nullptr);
77 EXPECT_EQ(SOFTBUS_OK, ret);
78 ret = SoftBusRecordDiscoveryResult(SEND_BROADCAST, nullptr);
79 EXPECT_EQ(SOFTBUS_OK, ret);
80 ret = SoftBusRecordDiscoveryResult(RECV_BROADCAST, nullptr);
81 EXPECT_EQ(SOFTBUS_OK, ret);
82 ret = SoftBusRecordDiscoveryResult(DEVICE_FOUND, nullptr);
83 EXPECT_EQ(SOFTBUS_OK, ret);
84 AppDiscNode node1 = {0};
85 node1.appDiscCnt = 1;
86 ret = memcpy_s(node1.appName, SOFTBUS_HISYSEVT_NAME_LEN, g_appName1, strlen(g_appName1));
87 EXPECT_EQ(EOK, ret);
88 ret = SoftBusRecordDiscoveryResult(BUSINESS_DISCOVERY, &node1);
89 EXPECT_EQ(SOFTBUS_OK, ret);
90 AppDiscNode node2 = {0};
91 node2.appDiscCnt = 2;
92 ret = memcpy_s(node2.appName, SOFTBUS_HISYSEVT_NAME_LEN, g_appName2, strlen(g_appName2));
93 EXPECT_EQ(EOK, ret);
94 ret = SoftBusRecordDiscoveryResult(BUSINESS_DISCOVERY, &node2);
95 EXPECT_EQ(SOFTBUS_OK, ret);
96 StatisticEvtReportFunc reportFunc = GetStatisticEvtReportFunc(SOFTBUS_STATISTIC_EVT_DEV_DISCOVERY);
97 ret = reportFunc();
98 EXPECT_EQ(SOFTBUS_OK, ret);
99
100 reportFunc = GetStatisticEvtReportFunc(SOFTBUS_STATISTIC_EVT_APP_DISCOVERY);
101 ret = reportFunc();
102 EXPECT_EQ(SOFTBUS_OK, ret);
103 }
104
105 /**
106 * @tc.name: SoftBusRecordDevOnlineDurResult001
107 * @tc.desc: Verify SoftBusRecordDevOnlineDurResult function.
108 * @tc.type: FUNC
109 * @tc.require:
110 */
111
112 HWTEST_F(LnnDfxTest, SoftBusRecordDevOnlineDurResult001, TestSize.Level0)
113 {
114 int32_t ret = SOFTBUS_ERR;
115 ret = SoftBusRecordDevOnlineDurResult(11);
116 EXPECT_EQ(SOFTBUS_OK, ret);
117 ret = SoftBusRecordDevOnlineDurResult(31);
118 EXPECT_EQ(SOFTBUS_OK, ret);
119 ret = SoftBusRecordDevOnlineDurResult(301);
120 EXPECT_EQ(SOFTBUS_OK, ret);
121 ret = SoftBusRecordDevOnlineDurResult(601);
122 EXPECT_EQ(SOFTBUS_OK, ret);
123 ret = SoftBusRecordDevOnlineDurResult(901);
124 EXPECT_EQ(SOFTBUS_OK, ret);
125 ret = SoftBusRecordDevOnlineDurResult(901);
126 EXPECT_EQ(SOFTBUS_OK, ret);
127 StatisticEvtReportFunc reportFunc = GetStatisticEvtReportFunc(SOFTBUS_STATISTIC_EVT_ONLINE_DURATION);
128 ret = reportFunc();
129 EXPECT_EQ(SOFTBUS_OK, ret);
130 }
131
132 /**
133 * @tc.name: SoftBusRecordBusCenterResult001
134 * @tc.desc: Verify SoftBusRecordBusCenterResult function.
135 * @tc.type: FUNC
136 * @tc.require:
137 */
138
139 HWTEST_F(LnnDfxTest, SoftBusRecordBusCenterResult001, TestSize.Level0)
140 {
141 int32_t ret = SOFTBUS_ERR;
142 ret = SoftBusRecordBusCenterResult(SOFTBUS_HISYSEVT_LINK_TYPE_BR, 900);
143 EXPECT_EQ(SOFTBUS_OK, ret);
144 ret = SoftBusRecordBusCenterResult(SOFTBUS_HISYSEVT_LINK_TYPE_BLE, 1100);
145 EXPECT_EQ(SOFTBUS_OK, ret);
146 ret = SoftBusRecordBusCenterResult(SOFTBUS_HISYSEVT_LINK_TYPE_WLAN, 1300);
147 EXPECT_EQ(SOFTBUS_OK, ret);
148 ret = SoftBusRecordBusCenterResult(SOFTBUS_HISYSEVT_LINK_TYPE_P2P, 1600);
149 EXPECT_EQ(SOFTBUS_OK, ret);
150 ret = SoftBusRecordBusCenterResult(SOFTBUS_HISYSEVT_LINK_TYPE_HML, 1900);
151 EXPECT_EQ(SOFTBUS_OK, ret);
152 ret = SoftBusRecordBusCenterResult(SOFTBUS_HISYSEVT_LINK_TYPE_HML, 900);
153 EXPECT_EQ(SOFTBUS_OK, ret);
154 StatisticEvtReportFunc reportFunc = GetStatisticEvtReportFunc(SOFTBUS_STATISTIC_EVT_LNN_DURATION);
155 ret = reportFunc();
156 EXPECT_EQ(SOFTBUS_OK, ret);
157 }
158
159 /**
160 * @tc.name: SoftBusRecordAuthResult001
161 * @tc.desc: Verify SoftBusRecordAuthResult function.
162 * @tc.type: FUNC
163 * @tc.require:
164 */
165
166 HWTEST_F(LnnDfxTest, SoftBusRecordAuthResult001, TestSize.Level0)
167 {
168 int32_t ret = SOFTBUS_ERR;
169 ret = SoftBusRecordAuthResult(SOFTBUS_HISYSEVT_LINK_TYPE_BR, 0, 2100, AUTH_STAGE_BUTT);
170 EXPECT_EQ(SOFTBUS_OK, ret);
171 ret = SoftBusRecordAuthResult(SOFTBUS_HISYSEVT_LINK_TYPE_BLE, 1, 2100, AUTH_CONNECT_STAGE);
172 EXPECT_EQ(SOFTBUS_OK, ret);
173 ret = SoftBusRecordAuthResult(SOFTBUS_HISYSEVT_LINK_TYPE_WLAN, 0, 2600, AUTH_STAGE_BUTT);
174 EXPECT_EQ(SOFTBUS_OK, ret);
175 ret = SoftBusRecordAuthResult(SOFTBUS_HISYSEVT_LINK_TYPE_P2P, 0, 2100, AUTH_STAGE_BUTT);
176 EXPECT_EQ(SOFTBUS_OK, ret);
177 ret = SoftBusRecordAuthResult(SOFTBUS_HISYSEVT_LINK_TYPE_P2P, 1, 3600, AUTH_VERIFY_STAGE);
178 EXPECT_EQ(SOFTBUS_OK, ret);
179 ret = SoftBusRecordAuthResult(SOFTBUS_HISYSEVT_LINK_TYPE_HML, 0, 2100, AUTH_STAGE_BUTT);
180 EXPECT_EQ(SOFTBUS_OK, ret);
181 ret = SoftBusRecordAuthResult(SOFTBUS_HISYSEVT_LINK_TYPE_HML, 1, 4100, AUTH_EXCHANGE_STAGE);
182 EXPECT_EQ(SOFTBUS_OK, ret);
183 StatisticEvtReportFunc reportFunc = GetStatisticEvtReportFunc(SOFTBUS_STATISTIC_EVT_AUTH_KPI);
184 ret = reportFunc();
185 EXPECT_EQ(SOFTBUS_OK, ret);
186 }
187
188 /**
189 * @tc.name: SoftBusReportBusCenterFaultEvt001
190 * @tc.desc: Verify SoftBusReportBusCenterFaultEvt function.
191 * @tc.type: FUNC
192 * @tc.require:
193 */
194
195 HWTEST_F(LnnDfxTest, SoftBusReportBusCenterFaultEvt001, TestSize.Level0)
196 {
197 int32_t ret = SOFTBUS_ERR;
198 SoftBusFaultEvtInfo info = {0};
199 info.moduleType = MODULE_TYPE_DISCOVERY;
200 info.linkType = SOFTBUS_HISYSEVT_LINK_TYPE_BLE;
201 info.channelQuality = 1.2;
202 info.errorCode = -1;
203 info.peerDevType = 11;
204 info.onLineDevNum = 5;
205 info.connNum = 4;
206 info.nightMode = 0;
207 info.wifiStatue = 1;
208 info.bleStatue = 1;
209 info.callerAppMode = 1;
210 info.subErrCode = 2;
211 info.connBrNum = 1;
212 info.connBleNum = 2;
213 info.bleBradStatus = true;
214 info.bleScanStatus = false;
215 ret = memcpy_s(info.businessName, SOFTBUS_HISYSEVT_NAME_LEN, g_businessName, strlen(g_businessName));
216 EXPECT_EQ(EOK, ret);
217 ret = memcpy_s(info.callerPackName, SOFTBUS_HISYSEVT_NAME_LEN, g_callerPackName, strlen(g_callerPackName));
218 EXPECT_EQ(EOK, ret);
219 ret = memcpy_s(info.remoteBizUuid, SOFTBUS_HISYSEVT_NAME_LEN, g_remoteBizUuid, strlen(g_remoteBizUuid));
220 EXPECT_EQ(EOK, ret);
221 ret = SoftBusReportBusCenterFaultEvt(&info);
222 EXPECT_EQ(SOFTBUS_OK, ret);
223 }
224
225 /**
226 * @tc.name: SoftBusReportDevOnlineEvt001
227 * @tc.desc: Verify SoftBusReportDevOnlineEvt function.
228 * @tc.type: FUNC
229 * @tc.require:
230 */
231
232 HWTEST_F(LnnDfxTest, SoftBusReportDevOnlineEvt001, TestSize.Level0)
233 {
234 int32_t ret = SOFTBUS_ERR;
235 OnlineDeviceInfo devInfo = {0};
236 devInfo.onlineDevNum = 10;
237 devInfo.btOnlineDevNum = 10;
238 devInfo.wifiOnlineDevNum = 3;
239 devInfo.peerDevType = 3;
240 devInfo.insertFileResult = 1;
241 ret = memcpy_s(devInfo.peerSoftBusVer, SOFTBUS_HISYSEVT_NAME_LEN, g_softBusVer, strlen(g_softBusVer));
242 EXPECT_EQ(EOK, ret);
243 ret = memcpy_s(devInfo.peerDevName, SOFTBUS_HISYSEVT_NAME_LEN, g_devName, strlen(g_devName));
244 EXPECT_EQ(EOK, ret);
245 ret = memcpy_s(devInfo.localSoftBusVer, SOFTBUS_HISYSEVT_NAME_LEN, g_softBusVer, strlen(g_softBusVer));
246 EXPECT_EQ(EOK, ret);
247 ret = memcpy_s(devInfo.peerPackVer, SOFTBUS_HISYSEVT_NAME_LEN, g_softBusVer, strlen(g_softBusVer));
248 EXPECT_EQ(EOK, ret);
249 ret = memcpy_s(devInfo.localPackVer, SOFTBUS_HISYSEVT_NAME_LEN, g_softBusVer, strlen(g_softBusVer));
250 EXPECT_EQ(EOK, ret);
251 ret = SoftBusReportDevOnlineEvt(&devInfo, g_udid);
252 EXPECT_EQ(SOFTBUS_OK, ret);
253 }
254
255 /**
256 * @tc.name: InitBusCenterDfx001
257 * @tc.desc: Verify InitBusCenterDfx function.
258 * @tc.type: FUNC
259 * @tc.require:
260 */
261
262 HWTEST_F(LnnDfxTest, InitBusCenterDfx001, TestSize.Level0)
263 {
264 int32_t ret = InitBusCenterDfx();
265 EXPECT_EQ(SOFTBUS_OK, ret);
266 DeinitBusCenterDfx();
267 }
268 } // namespace OHOS