1 /*
2  * Copyright (C) 2023 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 #include <gtest/gtest.h>
16 #include <gmock/gmock.h>
17 #include "securec.h"
18 #include "wifi_hal_callback.h"
19 
20 using ::testing::_;
21 using ::testing::AtLeast;
22 using ::testing::Eq;
23 using ::testing::ext::TestSize;
24 
25 namespace OHOS {
26 namespace Wifi {
27 const int STATUS_MSG = 0;
28 const int NET_WORK = 5;
29 const int DISASSOC_STA_HAS_LEFT = 0;
30 
31 class WifiHalCallbackTest : public testing::Test {
32 public:
SetUpTestCase()33     static void SetUpTestCase() {}
TearDownTestCase()34     static void TearDownTestCase() {}
SetUp()35     virtual void SetUp() {}
TearDown()36     virtual void TearDown() {}
37 };
38 
39 HWTEST_F(WifiHalCallbackTest, RpcP2pSetWpsSecondaryDeviceTypeTest, TestSize.Level1)
40 {
41     int status = STATUS_MSG;
42     WifiHalCbNotifyScanEnd(status);
43 }
44 
45 HWTEST_F(WifiHalCallbackTest, WifiHalCbNotifyConnectChangedTest, TestSize.Level1)
46 {
47     int status = STATUS_MSG;
48     int networkId = NET_WORK;
49     char pos[] = "WIFI_REASON_LENGTH";
50     WifiHalCbNotifyConnectChanged(status, networkId, NULL);
51     WifiHalCbNotifyConnectChanged(status, networkId, pos);
52 }
53 
54 HWTEST_F(WifiHalCallbackTest, WifiHalCbNotifyDisConnectReasonTest, TestSize.Level1)
55 {
56     int status = DISASSOC_STA_HAS_LEFT;
57     char bssid[] = "02:42:ac:11:00:04";
58     WifiHalCbNotifyDisConnectReason(status, NULL);
59     WifiHalCbNotifyDisConnectReason(status, bssid);
60 }
61 
62 HWTEST_F(WifiHalCallbackTest, WifiHalCbNotifyBssidChangedTest, TestSize.Level1)
63 {
64     char reasonPos[] = "WIFI_REASON_LENGTH";
65     char bssidPos[] = "hello";
66     WifiHalCbNotifyBssidChanged(nullptr, bssidPos);
67     WifiHalCbNotifyBssidChanged(reasonPos, nullptr);
68     WifiHalCbNotifyBssidChanged(reasonPos, bssidPos);
69     char reason[] = "hello world";
70     WifiHalCbNotifyBssidChanged(reason, bssidPos);
71 }
72 
73 HWTEST_F(WifiHalCallbackTest, WifiHalCbNotifyWpaStateChangeTest, TestSize.Level1)
74 {
75     int status = STATUS_MSG;
76     WifiHalCbNotifyWpaStateChange(status);
77 }
78 
79 
80 HWTEST_F(WifiHalCallbackTest, WifiHalCbNotifyWrongKeyTest, TestSize.Level1)
81 {
82     int status = STATUS_MSG;
83     WifiHalCbNotifyWrongKey(status);
84 }
85 
86 
87 HWTEST_F(WifiHalCallbackTest, WifiHalCbNotifyConnectionFullTest, TestSize.Level1)
88 {
89     int status = STATUS_MSG;
90     WifiHalCbNotifyConnectionFull(status);
91 }
92 
93 HWTEST_F(WifiHalCallbackTest, WifiHalCbNotifyConnectionRejectTest, TestSize.Level1)
94 {
95     int status = STATUS_MSG;
96     WifiHalCbNotifyConnectionReject(status);
97 }
98 
99 HWTEST_F(WifiHalCallbackTest, WifiHalCbNotifyWpsOverlapTest, TestSize.Level1)
100 {
101     int event = STATUS_MSG;
102     WifiHalCbNotifyWpsOverlap(event);
103 }
104 
105 HWTEST_F(WifiHalCallbackTest, WifiHalCbNotifyWpsTimeOutTest, TestSize.Level1)
106 {
107     int event = STATUS_MSG;
108     WifiHalCbNotifyWpsTimeOut(event);
109 }
110 
111 
112 HWTEST_F(WifiHalCallbackTest, WifiHalCbStaJoinTest, TestSize.Level1)
113 {
114     int id = NET_WORK;
115     char content[] = "AP-STA-CONNECTED";
116     char contents[] = "AP-STA-DISCONNECTED";
117     char contented[] = "WIFI_STA_LEAVE_EVENT";
118     WifiHalCbStaJoin(nullptr, id);
119     WifiHalCbStaJoin(content, id);
120     WifiHalCbStaJoin(contents, id);
121     WifiHalCbStaJoin(contented, id);
122 }
123 
124 HWTEST_F(WifiHalCallbackTest, WifiHalCbApStateTest, TestSize.Level1)
125 {
126     int id = NET_WORK;
127     char content[] = "AP-ENABLED";
128     char contents[] = "AP-ENABLED";
129     char contentd[] = "CTRL-EVENT-TERMINATING";
130     char contented[] = "WIFI_STA_LEAVE_EVENT";
131     WifiHalCbApState(nullptr, id);
132     WifiHalCbApState(content, id);
133     WifiHalCbApState(contents, id);
134     WifiHalCbApState(contentd, id);
135     WifiHalCbApState(contented, id);
136 }
137 
138 HWTEST_F(WifiHalCallbackTest, WifiP2pHalCbNotifyConnectSupplicantTest, TestSize.Level1)
139 {
140     int event = STATUS_MSG;
141     WifiP2pHalCbNotifyConnectSupplicant(event);
142 }
143 
144 HWTEST_F(WifiHalCallbackTest, P2pHalCbDeviceFoundTest, TestSize.Level1)
145 {
146     P2pDeviceInfo device;
147     P2pHalCbDeviceFound(nullptr);
148     P2pHalCbDeviceFound(&device);
149 }
150 
151 HWTEST_F(WifiHalCallbackTest, P2pHalCbDeviceLostTest, TestSize.Level1)
152 {
153     char p2pDeviceAddress[] = "00:00:00:00:00:00";
154     P2pHalCbDeviceLost(nullptr);
155     P2pHalCbDeviceLost(p2pDeviceAddress);
156 }
157 
158 HWTEST_F(WifiHalCallbackTest, P2pHalCbGoNegotiationRequestTest, TestSize.Level1)
159 {
160     char srcAddress[] = "00:00:00:00:00:00";
161     short passwordId = NET_WORK;
162     P2pHalCbGoNegotiationRequest(nullptr, passwordId);
163     P2pHalCbGoNegotiationRequest(srcAddress, passwordId);
164 }
165 
166 HWTEST_F(WifiHalCallbackTest, P2pHalCbGoNegotiationSuccessTest, TestSize.Level1)
167 {
168     P2pHalCbGoNegotiationSuccess();
169 }
170 
171 HWTEST_F(WifiHalCallbackTest, P2pHalCbGoNegotiationFailureTest, TestSize.Level1)
172 {
173     int status = STATUS_MSG;
174     P2pHalCbGoNegotiationFailure(status);
175 }
176 
177 HWTEST_F(WifiHalCallbackTest, P2pHalCbInvitationReceivedTest, TestSize.Level1)
178 {
179     P2pInvitationInfo info;
180     P2pHalCbInvitationReceived(NULL);
181     P2pHalCbInvitationReceived(&info);
182 }
183 
184 HWTEST_F(WifiHalCallbackTest, P2pHalCbInvitationResultTest, TestSize.Level1)
185 {
186     int status = STATUS_MSG;
187     char bssid[] = "wifibssid";
188     P2pHalCbInvitationResult(NULL, status);
189     P2pHalCbInvitationResult(bssid, status);
190 }
191 
192 HWTEST_F(WifiHalCallbackTest, P2pHalCbGroupFormationSuccessTest, TestSize.Level1)
193 {
194     P2pHalCbGroupFormationSuccess();
195 }
196 
197 HWTEST_F(WifiHalCallbackTest, P2pHalCbGroupFormationFailureTest, TestSize.Level1)
198 {
199     char reason[] = "P2P_GROUP_FORMATION_FAILURE_EVENT";
200     P2pHalCbGroupFormationFailure(NULL);
201     P2pHalCbGroupFormationFailure(reason);
202 }
203 
204 HWTEST_F(WifiHalCallbackTest, P2pHalCbGroupStartedTest, TestSize.Level1)
205 {
206     P2pGroupInfo info;
207     P2pHalCbGroupStarted(NULL);
208     P2pHalCbGroupStarted(&info);
209 }
210 
211 HWTEST_F(WifiHalCallbackTest, P2pHalCbGroupRemovedTest, TestSize.Level1)
212 {
213     char groupIfName[] = "P2P_GROUP_REMOVED_EVENT";
214     int isGo = NET_WORK;
215     P2pHalCbGroupRemoved(NULL, isGo);
216     P2pHalCbGroupRemoved(groupIfName, isGo);
217 }
218 
219 HWTEST_F(WifiHalCallbackTest, P2pHalCbProvisionDiscoveryPbcRequestTest, TestSize.Level1)
220 {
221     P2pHalCbProvisionDiscoveryPbcRequest(NULL);
222     P2pHalCbProvisionDiscoveryPbcRequest("P2P_PROV_DISC_PBC_REQ_EVENT");
223 }
224 
225 HWTEST_F(WifiHalCallbackTest, P2pHalCbProvisionDiscoveryPbcResponseTest, TestSize.Level1)
226 {
227     P2pHalCbProvisionDiscoveryPbcResponse(NULL);
228     P2pHalCbProvisionDiscoveryPbcResponse("00:00:00:00:00:00");
229 }
230 
231 HWTEST_F(WifiHalCallbackTest, P2pHalCbProvisionDiscoveryEnterPinTest, TestSize.Level1)
232 {
233     P2pHalCbProvisionDiscoveryEnterPin(NULL);
234     P2pHalCbProvisionDiscoveryEnterPin("00:00:00:00:00:00");
235 }
236 
237 HWTEST_F(WifiHalCallbackTest, P2pHalCbProvisionDiscoveryShowPinTest, TestSize.Level1)
238 {
239     char address[] = "00:00:00:00:00:00";
240     char pin[] = "P2P_PROV_DISC_SHOW_PIN_EVEN";
241     P2pHalCbProvisionDiscoveryShowPin(NULL, pin);
242     P2pHalCbProvisionDiscoveryShowPin(address, NULL);
243     P2pHalCbProvisionDiscoveryShowPin(address, pin);
244 }
245 
246 HWTEST_F(WifiHalCallbackTest, P2pHalCbProvisionDiscoveryFailureTest, TestSize.Level1)
247 {
248     P2pHalCbProvisionDiscoveryFailure();
249     P2pHalCbFindStopped();
250     P2pHalCbConnectSupplicantFailed();
251 }
252 
253 HWTEST_F(WifiHalCallbackTest, P2pHalCbServiceDiscoveryResponseTest, TestSize.Level1)
254 {
255     P2pServDiscRespInfo info;
256     char buff[] = "\t1002callback";
257     info.tlvs = buff;
258     P2pHalCbServiceDiscoveryResponse(NULL);
259     P2pHalCbServiceDiscoveryResponse(&info);
260 }
261 
262 HWTEST_F(WifiHalCallbackTest, P2pHalCbStaConnectStateTest, TestSize.Level1)
263 {
264     int state = STATUS_MSG;
265     char p2pDeviceAddress[] = "wifibssid";
266     P2pHalCbStaConnectState(NULL, state);
267     P2pHalCbStaConnectState(p2pDeviceAddress, state);
268 }
269 
270 HWTEST_F(WifiHalCallbackTest, P2pHalCbServDiscReqTest, TestSize.Level1)
271 {
272     P2pServDiscReqInfo info;
273     char buff[] = "\t1002request";
274     info.tlvs = buff;
275     P2pHalCbServDiscReq(NULL);
276     P2pHalCbServDiscReq(&info);
277 }
278 
279 HWTEST_F(WifiHalCallbackTest, P2pHalCbP2pIfaceCreatedTest, TestSize.Level1)
280 {
281     int state = STATUS_MSG;
282     char ifName[] = "wifibssid";
283     P2pHalCbP2pIfaceCreated(NULL, state);
284     P2pHalCbP2pIfaceCreated(ifName, state);
285 }
286 } // namespace Wifi
287 } // namespace OHOS
288 
289