1 /*
2 * Copyright (C) 2021 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 "wifi_hal_sta_interface_test.h"
16 #include "securec.h"
17 #include "wifi_log.h"
18 #include "wifi_hal_sta_interface.h"
19 #include "wifi_supplicant_hal.h"
20 #include "mock_wpa_ctrl.h"
21 #include "wifi_hal_common_func.h"
22
23 using namespace testing::ext;
24
25 namespace OHOS {
26 namespace Wifi {
27 static int g_lenth = 180;
SetUpTestCase()28 void WifiHalStaInterfaceTest::SetUpTestCase()
29 {
30 MockInitGlobalCmd();
31 MockInitStaSupportedCmd();
32 Start();
33 }
34
TearDownTestCase()35 void WifiHalStaInterfaceTest::TearDownTestCase()
36 {
37 Stop();
38 }
39
40 HWTEST_F(WifiHalStaInterfaceTest, StartTest, TestSize.Level1)
41 {
42 EXPECT_TRUE(Start() == WIFI_HAL_SUCCESS);
43 }
44
45 HWTEST_F(WifiHalStaInterfaceTest, StartSupplicantTest, TestSize.Level1)
46 {
47 EXPECT_TRUE(StartSupplicant() == WIFI_HAL_SUCCESS);
48 }
49
50 HWTEST_F(WifiHalStaInterfaceTest, ConnectSupplicantTest, TestSize.Level1)
51 {
52 EXPECT_TRUE(ConnectSupplicant() == WIFI_HAL_SUCCESS);
53 }
54
55 HWTEST_F(WifiHalStaInterfaceTest, SetPowerSaveTest, TestSize.Level1)
56 {
57 bool enable = false;
58 EXPECT_TRUE(SetPowerSave(enable) == WIFI_HAL_SUCCESS);
59 }
60
61 HWTEST_F(WifiHalStaInterfaceTest, RemoveNetworkTest, TestSize.Level1)
62 {
63 EXPECT_TRUE(RemoveNetwork(0) == WIFI_HAL_SUCCESS);
64 }
65
66 HWTEST_F(WifiHalStaInterfaceTest, AddNetworkTest, TestSize.Level1)
67 {
68 EXPECT_TRUE(AddNetwork(nullptr) == WIFI_HAL_FAILED);
69 int networkId = 0;
70 EXPECT_TRUE(AddNetwork(&networkId) == WIFI_HAL_SUCCESS);
71 }
72
73 HWTEST_F(WifiHalStaInterfaceTest, EnableNetworkTest, TestSize.Level1)
74 {
75 EXPECT_TRUE(EnableNetwork(0) == WIFI_HAL_SUCCESS);
76 }
77
78 HWTEST_F(WifiHalStaInterfaceTest, DisableNetworkTest, TestSize.Level1)
79 {
80 EXPECT_TRUE(DisableNetwork(0) == WIFI_HAL_SUCCESS);
81 }
82
83 HWTEST_F(WifiHalStaInterfaceTest, SetNetworkTest, TestSize.Level1)
84 {
85 EXPECT_TRUE(SetNetwork(0, nullptr, 0) == WIFI_HAL_FAILED);
86 SetNetworkConfig conf;
87 conf.cfgParam = DEVICE_CONFIG_SSID;
88 StrSafeCopy(conf.cfgValue, sizeof(conf.cfgValue), "network_ssid");
89 EXPECT_TRUE(SetNetwork(0, &conf, 1) == WIFI_HAL_SUCCESS);
90 }
91
92 HWTEST_F(WifiHalStaInterfaceTest, SaveNetworkConfigTest, TestSize.Level1)
93 {
94 EXPECT_TRUE(SaveNetworkConfig() == WIFI_HAL_SUCCESS);
95 }
96
97 HWTEST_F(WifiHalStaInterfaceTest, ConnectTest, TestSize.Level1)
98 {
99 EXPECT_TRUE(Connect(0) == WIFI_HAL_SUCCESS);
100 }
101
102 HWTEST_F(WifiHalStaInterfaceTest, ReconnectTest, TestSize.Level1)
103 {
104 EXPECT_TRUE(Reconnect() == WIFI_HAL_SUCCESS);
105 }
106
107 HWTEST_F(WifiHalStaInterfaceTest, ReassociateTest, TestSize.Level1)
108 {
109 EXPECT_TRUE(Reassociate() == WIFI_HAL_SUCCESS);
110 }
111
112 HWTEST_F(WifiHalStaInterfaceTest, DisconnectTest, TestSize.Level1)
113 {
114 EXPECT_TRUE(Disconnect() == WIFI_HAL_SUCCESS);
115 }
116
117 HWTEST_F(WifiHalStaInterfaceTest, StartWpsPbcModeTest, TestSize.Level1)
118 {
119 EXPECT_TRUE(StartWpsPbcMode(nullptr) == WIFI_HAL_SUCCESS);
120 WifiWpsParam conf;
121 ASSERT_TRUE(memset_s(&conf, sizeof(conf), 0, sizeof(conf)) == EOK);
122 conf.anyFlag = 1;
123 conf.multiAp = 0;
124 EXPECT_TRUE(StartWpsPbcMode(&conf) == WIFI_HAL_SUCCESS);
125 }
126
127 HWTEST_F(WifiHalStaInterfaceTest, StartWpsPinModeTest, TestSize.Level1)
128 {
129 EXPECT_TRUE(StartWpsPinMode(nullptr, nullptr) == WIFI_HAL_FAILED);
130 WifiWpsParam conf;
131 ASSERT_TRUE(memset_s(&conf, sizeof(conf), 0, sizeof(conf)) == EOK);
132 conf.anyFlag = 1;
133 conf.multiAp = 0;
134 int pincode = 0;
135 EXPECT_TRUE(StartWpsPinMode(&conf, &pincode) == WIFI_HAL_SUCCESS);
136 }
137
138 HWTEST_F(WifiHalStaInterfaceTest, StopWpsTest, TestSize.Level1)
139 {
140 EXPECT_TRUE(StopWps() == WIFI_HAL_SUCCESS);
141 }
142
143 HWTEST_F(WifiHalStaInterfaceTest, WpaSetCountryCodeTest, TestSize.Level1)
144 {
145 EXPECT_TRUE(WpaSetCountryCode(nullptr) == WIFI_HAL_FAILED);
146 EXPECT_TRUE(WpaSetCountryCode("CN") == WIFI_HAL_SUCCESS);
147 }
148
149 HWTEST_F(WifiHalStaInterfaceTest, WpaGetCountryCodeTest, TestSize.Level1)
150 {
151 EXPECT_TRUE(WpaGetCountryCode(nullptr, 0) == WIFI_HAL_FAILED);
152 char countryCode[3] = {0};
153 int size = 3;
154 EXPECT_TRUE(WpaGetCountryCode(countryCode, size) == WIFI_HAL_SUCCESS);
155 }
156
157 HWTEST_F(WifiHalStaInterfaceTest, WpaGetNetWorkTest, TestSize.Level1)
158 {
159 EXPECT_TRUE(WpaGetNetWork(nullptr) == WIFI_HAL_FAILED);
160 GetNetworkConfig conf;
161 ASSERT_TRUE(memset_s(&conf, sizeof(conf), 0, sizeof(conf)) == EOK);
162 conf.networkId = 0;
163 StrSafeCopy(conf.param, sizeof(conf.param), "ssid");
164 EXPECT_TRUE(WpaGetNetWork(&conf) == WIFI_HAL_SUCCESS);
165 }
166
167 HWTEST_F(WifiHalStaInterfaceTest, WpaAutoConnectTest, TestSize.Level1)
168 {
169 EXPECT_TRUE(WpaAutoConnect(0) == WIFI_HAL_SUCCESS);
170 }
171
172 HWTEST_F(WifiHalStaInterfaceTest, GetNetworkListTest, TestSize.Level1)
173 {
174 EXPECT_TRUE(GetNetworkList(nullptr, nullptr) == WIFI_HAL_FAILED);
175 WifiNetworkInfo infos[20];
176 ASSERT_TRUE(memset_s(infos, sizeof(infos), 0, sizeof(infos)) == EOK);
177 int maxSize = 20;
178 EXPECT_TRUE(GetNetworkList(infos, &maxSize) == WIFI_HAL_SUCCESS);
179 }
180
181 HWTEST_F(WifiHalStaInterfaceTest, DisconnectSupplicantTest, TestSize.Level1)
182 {
183 EXPECT_TRUE(DisconnectSupplicant() == WIFI_HAL_SUCCESS);
184 }
185
186 HWTEST_F(WifiHalStaInterfaceTest, StopSupplicantTest, TestSize.Level1)
187 {
188 EXPECT_TRUE(StopSupplicant() == WIFI_HAL_SUCCESS);
189 }
190
191 HWTEST_F(WifiHalStaInterfaceTest, WpaBlocklistClearTest, TestSize.Level1)
192 {
193 EXPECT_TRUE(WpaBlocklistClear() == WIFI_HAL_FAILED);
194 }
195
196 HWTEST_F(WifiHalStaInterfaceTest, GetConnectSignalInfoTest, TestSize.Level1)
197 {
198 EXPECT_TRUE(GetConnectSignalInfo(nullptr, nullptr) == WIFI_HAL_FAILED);
199 WpaSignalInfo info;
200 ASSERT_TRUE(memset_s(&info, sizeof(info), 0, sizeof(info)) == EOK);
201 WifiErrorNo ret = GetConnectSignalInfo("00:00:00:00:00:00", &info);
202 EXPECT_TRUE(ret != WIFI_HAL_SUPPLICANT_NOT_INIT && ret != WIFI_HAL_GET_WIFI_COND_FAILED);
203 }
204
205 HWTEST_F(WifiHalStaInterfaceTest, StopTest, TestSize.Level1)
206 {
207 EXPECT_TRUE(Stop() == WIFI_HAL_SUCCESS);
208 }
209
210 HWTEST_F(WifiHalStaInterfaceTest, ForceStopTest, TestSize.Level1)
211 {
212 EXPECT_TRUE(ForceStop() == WIFI_HAL_SUCCESS);
213 }
214
215 HWTEST_F(WifiHalStaInterfaceTest, GetStaCapabilitiesTest, TestSize.Level1)
216 {
217 unsigned char mac[] = "lenMac";
218 EXPECT_TRUE(GetStaCapabilities(NULL) == WIFI_HAL_FAILED);
219 EXPECT_TRUE(GetDeviceMacAddress(NULL, NULL) == WIFI_HAL_FAILED);
220 EXPECT_TRUE(GetDeviceMacAddress(mac, NULL) == WIFI_HAL_FAILED);
221 }
222
223 HWTEST_F(WifiHalStaInterfaceTest, GetFrequenciesTest, TestSize.Level1)
224 {
225 int frequencies = 1;
226 EXPECT_TRUE(GetFrequencies(0, NULL, NULL) == WIFI_HAL_FAILED);
227 EXPECT_TRUE(GetFrequencies(0, &frequencies, NULL) == WIFI_HAL_FAILED);
228 }
229
230 HWTEST_F(WifiHalStaInterfaceTest, SetAssocMacAddrTest, TestSize.Level1)
231 {
232 int frequencies = 1;
233 EXPECT_TRUE(SetScanningMacAddress(NULL, frequencies) == WIFI_HAL_FAILED);
234 EXPECT_TRUE(DeauthLastRoamingBssid(NULL, frequencies) == WIFI_HAL_FAILED);
235 }
236
237 HWTEST_F(WifiHalStaInterfaceTest, GetSupportFeatureTest, TestSize.Level1)
238 {
239 long frequencies = 1;
240 EXPECT_TRUE(GetSupportFeature(NULL) == WIFI_HAL_FAILED);
241 EXPECT_GE(GetSupportFeature(&frequencies), WIFI_HAL_FAILED);
242 }
243
244 HWTEST_F(WifiHalStaInterfaceTest, RunCmdTest, TestSize.Level1)
245 {
246 int32_t cmdid = 1;
247 char mac[] = "lenMac";
248 EXPECT_TRUE(RunCmd(NULL, cmdid, NULL, 1) == WIFI_HAL_FAILED);
249 EXPECT_TRUE(RunCmd(mac, cmdid, NULL, 1) == WIFI_HAL_FAILED);
250 }
251
252 HWTEST_F(WifiHalStaInterfaceTest, SetPowerModeTest, TestSize.Level1)
253 {
254 EXPECT_TRUE(SetPowerMode(true) == WIFI_HAL_SUCCESS);
255 }
256
257 HWTEST_F(WifiHalStaInterfaceTest, DelScanInfoLineTest, TestSize.Level1)
258 {
259 ScanInfo pcmd;
260 char srcBuf[] = "00:00:00:00\tfreq=1024\trssid=70\tflags=WPA=PSK\t\t\t[ 255sdF1dwxansa][ 61sdF1dwansa]"
261 "[ 1sdFe1dansas][ 50sdF1dwansas][ 0sdF1dwansas][ 42sdF1dwansas]\t";
262 int length = g_lenth;
263 int result = DelScanInfoLine(&pcmd, srcBuf, length);
264 EXPECT_EQ(result,0);
265 }
266 } // namespace Wifi
267 } // namespace OHOS