1 /*
2  * Copyright (c) 2021-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 <servmgr_hdi.h>
17 #include <osal_mem.h>
18 #include "v1_1/iwpa_interface.h"
19 #include "wpa_callback_impl.h"
20 #include "securec.h"
21 
22 #define IFNAME "wlan0"
23 #define CONFNAME "/data/service/el1/public/wifi/wpa_supplicant/wpa_supplicant.conf"
24 
25 #define HDF_LOG_TAG service_manager_test
26 using namespace testing::ext;
27 
28 namespace HdiWpaDirectTest {
29 const char *g_wlanServiceNameWpa = "wpa_interface_service";
30 
31 class HdfWpaHostDirectTest : public testing::Test {
32 public:
33     static void SetUpTestCase();
34     static void TearDownTestCase();
35     void SetUp();
36     void TearDown();
37 };
38 
39 static struct IWpaInterface *g_wpaObj = nullptr;
40 struct IWpaCallback *g_wpaCallbackObj = nullptr;
SetUpTestCase()41 void HdfWpaHostDirectTest::SetUpTestCase()
42 {
43     g_wpaObj = IWpaInterfaceGetInstance(g_wlanServiceNameWpa, true);
44     g_wpaCallbackObj = WpaCallbackServiceGet();
45     ASSERT_TRUE(g_wpaObj != nullptr);
46     ASSERT_TRUE(g_wpaCallbackObj != nullptr);
47 }
48 
TearDownTestCase()49 void HdfWpaHostDirectTest::TearDownTestCase()
50 {
51     IWpaInterfaceReleaseInstance(g_wlanServiceNameWpa, g_wpaObj, true);
52     WpaCallbackServiceRelease(g_wpaCallbackObj);
53 }
54 
SetUp()55 void HdfWpaHostDirectTest::SetUp()
56 {
57 }
58 
TearDown()59 void HdfWpaHostDirectTest::TearDown()
60 {
61 }
62 
63 HWTEST_F(HdfWpaHostDirectTest, AddWpaIfaceTest_001, TestSize.Level1)
64 {
65     int32_t rc = g_wpaObj->AddWpaIface(g_wpaObj, IFNAME, CONFNAME);
66     ASSERT_EQ(rc, HDF_FAILURE);
67     rc = g_wpaObj->AddWpaIface(g_wpaObj, nullptr, CONFNAME);
68     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
69 }
70 
71 HWTEST_F(HdfWpaHostDirectTest, ScanTest_002, TestSize.Level1)
72 {
73     int32_t rc = g_wpaObj->Scan(g_wpaObj, IFNAME);
74     ASSERT_EQ(rc, HDF_FAILURE);
75     rc = g_wpaObj->Scan(g_wpaObj, nullptr);
76     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
77 }
78 
79 HWTEST_F(HdfWpaHostDirectTest, ScanResultTest_003, TestSize.Level1)
80 {
81     unsigned char *resultBuf = (unsigned char *)calloc(4096 * 10, sizeof(unsigned char));
82     uint32_t resultBufLen = 4096 * 10;
83     int32_t rc = g_wpaObj->ScanResult(g_wpaObj, IFNAME, resultBuf, &resultBufLen);
84     ASSERT_EQ(rc, HDF_FAILURE);
85     rc = g_wpaObj->ScanResult(g_wpaObj, nullptr, resultBuf, &resultBufLen);
86     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
87     rc = g_wpaObj->ScanResult(g_wpaObj, IFNAME, nullptr, &resultBufLen);
88     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
89     free(resultBuf);
90 }
91 
92 HWTEST_F(HdfWpaHostDirectTest, AddNetworkTest_004, TestSize.Level1)
93 {
94     int networkId = 0;
95     int32_t rc = g_wpaObj->AddNetwork(g_wpaObj, IFNAME, &networkId);
96     ASSERT_EQ(rc, HDF_FAILURE);
97     rc = g_wpaObj->AddNetwork(g_wpaObj, nullptr, &networkId);
98     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
99 }
100 
101 HWTEST_F(HdfWpaHostDirectTest, RemoveNetworkTest_005, TestSize.Level1)
102 {
103     int networkId = 0;
104     int32_t rc = g_wpaObj->RemoveNetwork(g_wpaObj, IFNAME, networkId);
105     ASSERT_EQ(rc, HDF_FAILURE);
106     rc = g_wpaObj->RemoveNetwork(g_wpaObj, nullptr, networkId);
107     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
108 }
109 
110 HWTEST_F(HdfWpaHostDirectTest, DisableNetworkTest_006, TestSize.Level1)
111 {
112     int networkId = 0;
113     int32_t rc = g_wpaObj->DisableNetwork(g_wpaObj, IFNAME, networkId);
114     ASSERT_EQ(rc, HDF_FAILURE);
115     rc = g_wpaObj->DisableNetwork(g_wpaObj, nullptr, networkId);
116     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
117 }
118 
119 HWTEST_F(HdfWpaHostDirectTest, SetNetworkTest_007, TestSize.Level1)
120 {
121     int networkId = 0;
122     int32_t rc = g_wpaObj->SetNetwork(g_wpaObj, IFNAME, networkId, "ssid", "WIFI_5G");
123     ASSERT_EQ(rc, HDF_FAILURE);
124     rc = g_wpaObj->SetNetwork(g_wpaObj, IFNAME, networkId, nullptr, "WPA-PSK");
125     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
126     rc = g_wpaObj->SetNetwork(g_wpaObj, IFNAME, networkId, "psk", nullptr);
127     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
128 }
129 
130 HWTEST_F(HdfWpaHostDirectTest, ListNetworksTest_008, TestSize.Level1)
131 {
132     struct HdiWifiWpaNetworkInfo networkInfo;
133     (void)memset_s(
134         &networkInfo, sizeof(struct HdiWifiWpaNetworkInfo), 0, sizeof(struct HdiWifiWpaNetworkInfo));
135     uint32_t networkInfoLen = 0;
136     int32_t rc = g_wpaObj->ListNetworks(g_wpaObj, nullptr, (struct HdiWifiWpaNetworkInfo *)&networkInfo,
137         &networkInfoLen);
138     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
139     rc = g_wpaObj->ListNetworks(g_wpaObj, IFNAME, (struct HdiWifiWpaNetworkInfo *)&networkInfo, &networkInfoLen);
140     ASSERT_EQ(rc, HDF_FAILURE);
141     rc = g_wpaObj->ListNetworks(g_wpaObj, IFNAME, nullptr, &networkInfoLen);
142     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
143 }
144 
145 HWTEST_F(HdfWpaHostDirectTest, SelectNetworkTest_009, TestSize.Level1)
146 {
147     int networkId = 0;
148     int32_t rc = g_wpaObj->SetNetwork(g_wpaObj, IFNAME, networkId, "ssid", "WIFI_5G");
149     ASSERT_EQ(rc, HDF_FAILURE);
150     rc = g_wpaObj->SetNetwork(g_wpaObj, nullptr, networkId, "key_mgmt", "WPA-PSK");
151     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
152     rc = g_wpaObj->SetNetwork(g_wpaObj, IFNAME, networkId, nullptr, nullptr);
153     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
154 }
155 
156 HWTEST_F(HdfWpaHostDirectTest, EnableNetworkTest_010, TestSize.Level1)
157 {
158     int networkId = 0;
159     int32_t rc = g_wpaObj->EnableNetwork(g_wpaObj, IFNAME, networkId);
160     ASSERT_EQ(rc, HDF_FAILURE);
161     rc = g_wpaObj->EnableNetwork(g_wpaObj, nullptr, networkId);
162     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
163 }
164 
165 HWTEST_F(HdfWpaHostDirectTest, ReconnectTest_011, TestSize.Level1)
166 {
167     int32_t rc = g_wpaObj->Reconnect(g_wpaObj, IFNAME);
168     ASSERT_EQ(rc, HDF_FAILURE);
169     rc = g_wpaObj->Reconnect(g_wpaObj, nullptr);
170     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
171 }
172 
173 HWTEST_F(HdfWpaHostDirectTest, DisconnectTest_012, TestSize.Level1)
174 {
175     int32_t rc = g_wpaObj->Disconnect(g_wpaObj, IFNAME);
176     ASSERT_EQ(rc, HDF_FAILURE);
177     rc = g_wpaObj->Disconnect(g_wpaObj, nullptr);
178     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
179 }
180 
181 HWTEST_F(HdfWpaHostDirectTest, SaveConfigTest_013, TestSize.Level1)
182 {
183     int32_t rc = g_wpaObj->SaveConfig(g_wpaObj, IFNAME);
184     ASSERT_EQ(rc, HDF_FAILURE);
185     rc = g_wpaObj->SaveConfig(g_wpaObj, nullptr);
186     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
187 }
188 
189 HWTEST_F(HdfWpaHostDirectTest, SetPowerSaveTest_014, TestSize.Level1)
190 {
191     int32_t rc = g_wpaObj->SetPowerSave(g_wpaObj, IFNAME, 0);
192     ASSERT_EQ(rc, HDF_FAILURE);
193     rc = g_wpaObj->SetPowerSave(g_wpaObj, nullptr, 0);
194     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
195 }
196 
197 HWTEST_F(HdfWpaHostDirectTest, AutoConnectTest_015, TestSize.Level1)
198 {
199     int32_t rc = g_wpaObj->AutoConnect(g_wpaObj, IFNAME, 0);
200     ASSERT_EQ(rc, HDF_FAILURE);
201     rc = g_wpaObj->AutoConnect(g_wpaObj, nullptr, 0);
202     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
203 }
204 
205 HWTEST_F(HdfWpaHostDirectTest, WifiStatusTest_016, TestSize.Level1)
206 {
207     struct HdiWpaCmdStatus wifiStatus;
208     (void)memset_s(
209         &wifiStatus, sizeof(struct HdiWpaCmdStatus), 0, sizeof(struct HdiWpaCmdStatus));
210     int32_t rc = g_wpaObj->WifiStatus(g_wpaObj, IFNAME, &wifiStatus);
211     ASSERT_EQ(rc, HDF_SUCCESS);
212     rc = g_wpaObj->WifiStatus(g_wpaObj, IFNAME, nullptr);
213     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
214     rc = g_wpaObj->WifiStatus(g_wpaObj, nullptr, &wifiStatus);
215     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
216 }
217 
218 HWTEST_F(HdfWpaHostDirectTest, WpsPbcModeTest_017, TestSize.Level1)
219 {
220     struct HdiWifiWpsParam wpsParam;
221     (void)memset_s(&wpsParam, sizeof(struct HdiWifiWpsParam), 0, sizeof(struct HdiWifiWpsParam));
222     wpsParam.anyFlag = 1;
223     wpsParam.multiAp = 1;
224     wpsParam.bssidLen = 6;
225     wpsParam.bssid = (uint8_t *)OsalMemCalloc(sizeof(uint8_t) * (wpsParam.bssidLen));
226     wpsParam.bssid[0] = 0x12;
227     wpsParam.bssid[1] = 0x34;
228     wpsParam.bssid[2] = 0x56;
229     wpsParam.bssid[3] = 0x78;
230     wpsParam.bssid[4] = 0xab;
231     wpsParam.bssid[5] = 0xcd;
232 
233     int32_t rc = g_wpaObj->WpsPbcMode(g_wpaObj, IFNAME, &wpsParam);
234     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
235     rc = g_wpaObj->WpsPbcMode(g_wpaObj, IFNAME, NULL);
236     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
237     OsalMemFree(wpsParam.bssid);
238 }
239 
240 HWTEST_F(HdfWpaHostDirectTest, WpsPinModeTest_018, TestSize.Level1)
241 {
242     struct HdiWifiWpsParam wpsParam;
243     (void)memset_s(&wpsParam, sizeof(struct HdiWifiWpsParam), 0, sizeof(struct HdiWifiWpsParam));
244     wpsParam.anyFlag = 1;
245     wpsParam.multiAp = 1;
246     wpsParam.bssidLen = 6;
247     wpsParam.bssid = (uint8_t *)OsalMemCalloc(sizeof(uint8_t) * (wpsParam.bssidLen));
248     wpsParam.bssid[0] = 0x12;
249     wpsParam.bssid[1] = 0x34;
250     wpsParam.bssid[2] = 0x56;
251     wpsParam.bssid[3] = 0x78;
252     wpsParam.bssid[4] = 0xab;
253     wpsParam.bssid[5] = 0xcd;
254 
255     int pinCode = 0;
256     int32_t rc = g_wpaObj->WpsPinMode(g_wpaObj, IFNAME, &wpsParam, &pinCode);
257     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
258     rc = g_wpaObj->WpsPinMode(g_wpaObj, IFNAME, NULL, &pinCode);
259     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
260     OsalMemFree(wpsParam.bssid);
261 }
262 
263 HWTEST_F(HdfWpaHostDirectTest, WpsCancelTest_019, TestSize.Level1)
264 {
265     int32_t rc = g_wpaObj->WpsCancel(g_wpaObj, IFNAME);
266     ASSERT_EQ(rc, HDF_FAILURE);
267     rc = g_wpaObj->WpsCancel(g_wpaObj, nullptr);
268     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
269 }
270 
271 HWTEST_F(HdfWpaHostDirectTest, GetCountryCodeTest_020, TestSize.Level1)
272 {
273     char countryCode[3] = {0};
274     int32_t rc = g_wpaObj->GetCountryCode(g_wpaObj, IFNAME, countryCode, 3);
275     ASSERT_EQ(rc, HDF_FAILURE);
276     rc = g_wpaObj->GetCountryCode(g_wpaObj, nullptr, countryCode, 3);
277     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
278     rc = g_wpaObj->GetCountryCode(g_wpaObj, IFNAME, nullptr, 3);
279     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
280 }
281 
282 HWTEST_F(HdfWpaHostDirectTest, GetNetworkTest_021, TestSize.Level1)
283 {
284     int networkId = 0;
285     char value[32] = {0};
286     int32_t rc = g_wpaObj->AddNetwork(g_wpaObj, IFNAME, &networkId);
287     ASSERT_EQ(rc, HDF_FAILURE);
288     rc = g_wpaObj->GetNetwork(g_wpaObj, IFNAME, networkId, "ssid", value, 32);
289     ASSERT_EQ(rc, HDF_FAILURE);
290     rc = g_wpaObj->AddNetwork(g_wpaObj, nullptr, &networkId);
291     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
292     rc = g_wpaObj->GetNetwork(g_wpaObj, nullptr, networkId, "ssid", value, 32);
293     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
294 }
295 
296 HWTEST_F(HdfWpaHostDirectTest, BlocklistClearTest_022, TestSize.Level1)
297 {
298     int32_t rc = g_wpaObj->BlocklistClear(g_wpaObj, IFNAME);
299     ASSERT_EQ(rc, HDF_FAILURE);
300     rc = g_wpaObj->BlocklistClear(g_wpaObj, nullptr);
301     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
302 }
303 
304 HWTEST_F(HdfWpaHostDirectTest, SetSuspendModeTest_023, TestSize.Level1)
305 {
306     int32_t rc = g_wpaObj->SetSuspendMode(g_wpaObj, IFNAME, 0);
307     ASSERT_EQ(rc, HDF_FAILURE);
308     rc = g_wpaObj->SetSuspendMode(g_wpaObj, IFNAME, 1);
309     ASSERT_EQ(rc, HDF_FAILURE);
310     rc = g_wpaObj->SetSuspendMode(g_wpaObj, nullptr, 0);
311     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
312     rc = g_wpaObj->SetSuspendMode(g_wpaObj, nullptr, 1);
313     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
314 }
315 
316 HWTEST_F(HdfWpaHostDirectTest, RegisterEventCallbackTest_024, TestSize.Level1)
317 {
318     int32_t rc = g_wpaObj->RegisterEventCallback(g_wpaObj, g_wpaCallbackObj, nullptr);
319     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
320 }
321 
322 HWTEST_F(HdfWpaHostDirectTest, UnregisterEventCallbackTest_025, TestSize.Level1)
323 {
324     int32_t rc = g_wpaObj->UnregisterEventCallback(g_wpaObj, g_wpaCallbackObj, nullptr);
325     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
326 }
327 
328 HWTEST_F(HdfWpaHostDirectTest, GetConnectionCapabilitiesTest_026, TestSize.Level1)
329 {
330     struct ConnectionCapabilities connectionCap;
331     (void)memset_s(
332         &connectionCap, sizeof(struct ConnectionCapabilities), 0, sizeof(struct ConnectionCapabilities));
333     int32_t rc = g_wpaObj->GetConnectionCapabilities(g_wpaObj, IFNAME, &connectionCap);
334     ASSERT_EQ(rc, HDF_FAILURE);
335     rc = g_wpaObj->GetConnectionCapabilities(g_wpaObj, nullptr, &connectionCap);
336     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
337     rc = g_wpaObj->GetConnectionCapabilities(g_wpaObj, IFNAME, nullptr);
338     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
339 }
340 
341 HWTEST_F(HdfWpaHostDirectTest, GetScanSsidTest_027, TestSize.Level1)
342 {
343     int enable = 0;
344 
345     int32_t rc = g_wpaObj->GetScanSsid(g_wpaObj, IFNAME, &enable);
346     ASSERT_EQ(rc, HDF_FAILURE);
347     rc = g_wpaObj->GetScanSsid(g_wpaObj, nullptr, &enable);
348     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
349 }
350 
351 HWTEST_F(HdfWpaHostDirectTest, GetPskPassphraseTest_028, TestSize.Level1)
352 {
353     char psk[32] = {0};
354 
355     int rc = g_wpaObj->GetPskPassphrase(g_wpaObj, IFNAME, psk, 32);
356     ASSERT_EQ(rc, HDF_FAILURE);
357     rc = g_wpaObj->GetPskPassphrase(g_wpaObj, nullptr, psk, 32);
358     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
359 }
360 
361 HWTEST_F(HdfWpaHostDirectTest, GetPskTest_029, TestSize.Level1)
362 {
363     uint8_t psk[32] = {0};
364     uint32_t pskLen = 32;
365     int32_t rc = g_wpaObj->GetPsk(g_wpaObj, IFNAME, psk, &pskLen);
366     ASSERT_EQ(rc, HDF_FAILURE);
367     rc = g_wpaObj->GetPsk(g_wpaObj, nullptr, psk, &pskLen);
368     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
369 }
370 
371 HWTEST_F(HdfWpaHostDirectTest, GetWepKeyTest_030, TestSize.Level1)
372 {
373     uint8_t wepKey[16] = {0};
374     uint32_t wepKeyLen = 16;
375     int32_t rc = g_wpaObj->GetWepKey(g_wpaObj, IFNAME, 0, wepKey, &wepKeyLen);
376     ASSERT_EQ(rc, HDF_FAILURE);
377     rc = g_wpaObj->GetWepKey(g_wpaObj, IFNAME, 1, wepKey, &wepKeyLen);
378     ASSERT_EQ(rc, HDF_FAILURE);
379     rc = g_wpaObj->GetWepKey(g_wpaObj, nullptr, 0, wepKey, &wepKeyLen);
380     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
381     rc = g_wpaObj->GetWepKey(g_wpaObj, nullptr, 1, wepKey, &wepKeyLen);
382     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
383 }
384 
385 HWTEST_F(HdfWpaHostDirectTest, GetWepTxKeyIdxTest_031, TestSize.Level1)
386 {
387     int32_t keyIdx = 0;
388 
389     int32_t rc = g_wpaObj->GetWepTxKeyIdx(g_wpaObj, IFNAME, &keyIdx);
390     ASSERT_EQ(rc, HDF_FAILURE);
391     rc = g_wpaObj->GetWepTxKeyIdx(g_wpaObj, nullptr, &keyIdx);
392     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
393 }
394 
395 HWTEST_F(HdfWpaHostDirectTest, GetRequirePmfTest_032, TestSize.Level1)
396 {
397     int32_t enable = 0;
398 
399     int32_t rc = g_wpaObj->GetRequirePmf(g_wpaObj, IFNAME, &enable);
400     ASSERT_EQ(rc, HDF_FAILURE);
401     rc = g_wpaObj->GetRequirePmf(g_wpaObj, nullptr, &enable);
402     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
403 }
404 
405 HWTEST_F(HdfWpaHostDirectTest, SetCountryCodeTest_033, TestSize.Level1)
406 {
407     int32_t rc = g_wpaObj->SetCountryCode(g_wpaObj, IFNAME, "00");
408     ASSERT_EQ(rc, HDF_FAILURE);
409     rc = g_wpaObj->SetCountryCode(g_wpaObj, IFNAME, "01");
410     ASSERT_EQ(rc, HDF_FAILURE);
411     rc = g_wpaObj->SetCountryCode(g_wpaObj, nullptr, "00");
412     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
413     rc = g_wpaObj->SetCountryCode(g_wpaObj, nullptr, "01");
414     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
415 }
416 
417 HWTEST_F(HdfWpaHostDirectTest, ReassociateTest_034, TestSize.Level1)
418 {
419     int32_t rc = g_wpaObj->Reassociate(g_wpaObj, IFNAME);
420     ASSERT_EQ(rc, HDF_FAILURE);
421     rc = g_wpaObj->Reassociate(g_wpaObj, nullptr);
422     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
423 }
424 
425 HWTEST_F(HdfWpaHostDirectTest, StaShellCmdTest_035, TestSize.Level1)
426 {
427     const char *cmd = "SET external_sim 1";
428     int32_t rc = g_wpaObj->StaShellCmd(g_wpaObj, IFNAME, cmd);
429     ASSERT_EQ(rc, HDF_FAILURE);
430     rc = g_wpaObj->StaShellCmd(g_wpaObj, nullptr, cmd);
431     ASSERT_EQ(rc, HDF_ERR_INVALID_PARAM);
432 }
433 };
434