1094332d3Sopenharmony_ci/*
2094332d3Sopenharmony_ci * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3094332d3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4094332d3Sopenharmony_ci * you may not use this file except in compliance with the License.
5094332d3Sopenharmony_ci * You may obtain a copy of the License at
6094332d3Sopenharmony_ci *
7094332d3Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0
8094332d3Sopenharmony_ci *
9094332d3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10094332d3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11094332d3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12094332d3Sopenharmony_ci * See the License for the specific language governing permissions and
13094332d3Sopenharmony_ci * limitations under the License.
14094332d3Sopenharmony_ci */
15094332d3Sopenharmony_ci
16094332d3Sopenharmony_ci#include <gtest/gtest.h>
17094332d3Sopenharmony_ci#include <osal_mem.h>
18094332d3Sopenharmony_ci#include "wifi_driver_client.h"
19094332d3Sopenharmony_ci#ifdef OHOS_ARCH_LITE
20094332d3Sopenharmony_ci#include "hostapd_client.h"
21094332d3Sopenharmony_ci#include "wpa_client.h"
22094332d3Sopenharmony_ci#endif
23094332d3Sopenharmony_ci#include "securec.h"
24094332d3Sopenharmony_ci
25094332d3Sopenharmony_ciusing namespace testing::ext;
26094332d3Sopenharmony_ci
27094332d3Sopenharmony_cinamespace ClientTest {
28094332d3Sopenharmony_ciconst uint32_t DEFAULT_COMBO_SIZE = 10;
29094332d3Sopenharmony_ciconst char *WLAN_IFNAME = "wlan0";
30094332d3Sopenharmony_ciconst uint32_t RESET_TIME = 3;
31094332d3Sopenharmony_ciclass WifiClientTest : public testing::Test {
32094332d3Sopenharmony_cipublic:
33094332d3Sopenharmony_ci    static void SetUpTestCase();
34094332d3Sopenharmony_ci    static void TearDownTestCase();
35094332d3Sopenharmony_ci    void SetUp();
36094332d3Sopenharmony_ci    void TearDown();
37094332d3Sopenharmony_ci};
38094332d3Sopenharmony_ci
39094332d3Sopenharmony_civoid WifiClientTest::SetUpTestCase()
40094332d3Sopenharmony_ci{
41094332d3Sopenharmony_ci}
42094332d3Sopenharmony_ci
43094332d3Sopenharmony_civoid WifiClientTest::TearDownTestCase()
44094332d3Sopenharmony_ci{
45094332d3Sopenharmony_ci}
46094332d3Sopenharmony_ci
47094332d3Sopenharmony_civoid WifiClientTest::SetUp()
48094332d3Sopenharmony_ci{
49094332d3Sopenharmony_ci    WifiDriverClientInit();
50094332d3Sopenharmony_ci}
51094332d3Sopenharmony_ci
52094332d3Sopenharmony_civoid WifiClientTest::TearDown()
53094332d3Sopenharmony_ci{
54094332d3Sopenharmony_ci    WifiDriverClientDeinit();
55094332d3Sopenharmony_ci}
56094332d3Sopenharmony_ci
57094332d3Sopenharmony_cistatic int32_t Hid2dFunCb(const uint8_t *recvMsg, uint32_t recvMsgLen)
58094332d3Sopenharmony_ci{
59094332d3Sopenharmony_ci    (void)recvMsg;
60094332d3Sopenharmony_ci    (void)recvMsgLen;
61094332d3Sopenharmony_ci    return RET_CODE_SUCCESS;
62094332d3Sopenharmony_ci}
63094332d3Sopenharmony_ci
64094332d3Sopenharmony_ci/**
65094332d3Sopenharmony_ci * @tc.name: WifiClientSetResetDriver001
66094332d3Sopenharmony_ci * @tc.desc: Wifi client reset driver function test
67094332d3Sopenharmony_ci * @tc.type: FUNC
68094332d3Sopenharmony_ci * @tc.require:
69094332d3Sopenharmony_ci */
70094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientSetResetDriver001, TestSize.Level1)
71094332d3Sopenharmony_ci{
72094332d3Sopenharmony_ci    int32_t ret;
73094332d3Sopenharmony_ci    uint8_t chipId = 0;
74094332d3Sopenharmony_ci
75094332d3Sopenharmony_ci    ret = AcquireChipId(WLAN_IFNAME, &chipId);
76094332d3Sopenharmony_ci    ASSERT_TRUE(chipId < MAX_WLAN_DEVICE);
77094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
78094332d3Sopenharmony_ci
79094332d3Sopenharmony_ci    ret = SetResetDriver(chipId, WLAN_IFNAME);
80094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
81094332d3Sopenharmony_ci    sleep(RESET_TIME);
82094332d3Sopenharmony_ci}
83094332d3Sopenharmony_ci
84094332d3Sopenharmony_ci/**
85094332d3Sopenharmony_ci * @tc.name: WifiClientSetCountryCode001
86094332d3Sopenharmony_ci * @tc.desc: Wifi client set country code function test
87094332d3Sopenharmony_ci * @tc.type: FUNC
88094332d3Sopenharmony_ci * @tc.require: AR000FRMJC
89094332d3Sopenharmony_ci */
90094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientSetCountryCode001, TestSize.Level1)
91094332d3Sopenharmony_ci{
92094332d3Sopenharmony_ci    int32_t ret;
93094332d3Sopenharmony_ci    const char *code = "CN";
94094332d3Sopenharmony_ci    const char *codeDigital = "99";
95094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
96094332d3Sopenharmony_ci    uint32_t len = 2;
97094332d3Sopenharmony_ci
98094332d3Sopenharmony_ci    ret = WifiSetCountryCode(ifNameInvalid, code, len);
99094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
100094332d3Sopenharmony_ci    ret = WifiSetCountryCode(WLAN_IFNAME, code, len);
101094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
102094332d3Sopenharmony_ci    ret = WifiSetCountryCode(WLAN_IFNAME, codeDigital, len);
103094332d3Sopenharmony_ci    bool flag = (ret == HDF_SUCCESS || ret == HDF_ERR_NOT_SUPPORT);
104094332d3Sopenharmony_ci    ASSERT_TRUE(flag);
105094332d3Sopenharmony_ci}
106094332d3Sopenharmony_ci
107094332d3Sopenharmony_ci/**
108094332d3Sopenharmony_ci * @tc.name: WifiClientGetUsableNetworkInfo001
109094332d3Sopenharmony_ci * @tc.desc: Wifi client get usable networkInfo function test
110094332d3Sopenharmony_ci * @tc.type: FUNC
111094332d3Sopenharmony_ci * @tc.require: AR000FRMJC
112094332d3Sopenharmony_ci */
113094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientGetUsableNetworkInfo001, TestSize.Level1)
114094332d3Sopenharmony_ci{
115094332d3Sopenharmony_ci    int32_t ret;
116094332d3Sopenharmony_ci    struct NetworkInfoResult networkInfo;
117094332d3Sopenharmony_ci
118094332d3Sopenharmony_ci    ret = GetUsableNetworkInfo(&networkInfo);
119094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
120094332d3Sopenharmony_ci}
121094332d3Sopenharmony_ci
122094332d3Sopenharmony_ci/**
123094332d3Sopenharmony_ci * @tc.name: WifiClientIsSupportCombo001
124094332d3Sopenharmony_ci * @tc.desc: Wifi client is support combo function test
125094332d3Sopenharmony_ci * @tc.type: FUNC
126094332d3Sopenharmony_ci * @tc.require: AR000FRMJC
127094332d3Sopenharmony_ci */
128094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientIsSupportCombo001, TestSize.Level1)
129094332d3Sopenharmony_ci{
130094332d3Sopenharmony_ci    int32_t ret;
131094332d3Sopenharmony_ci    uint8_t isSupportCombo;
132094332d3Sopenharmony_ci
133094332d3Sopenharmony_ci    ret = IsSupportCombo(&isSupportCombo);
134094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
135094332d3Sopenharmony_ci}
136094332d3Sopenharmony_ci
137094332d3Sopenharmony_ci/**
138094332d3Sopenharmony_ci * @tc.name: WifiClientGetComboInfo001
139094332d3Sopenharmony_ci * @tc.desc: Wifi client get combo info function test
140094332d3Sopenharmony_ci * @tc.type: FUNC
141094332d3Sopenharmony_ci * @tc.require: AR000FRMJC
142094332d3Sopenharmony_ci */
143094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientGetComboInfo001, TestSize.Level1)
144094332d3Sopenharmony_ci{
145094332d3Sopenharmony_ci    int32_t ret;
146094332d3Sopenharmony_ci    uint64_t comboInfo[DEFAULT_COMBO_SIZE] = {};
147094332d3Sopenharmony_ci
148094332d3Sopenharmony_ci    ret = GetComboInfo(comboInfo, DEFAULT_COMBO_SIZE);
149094332d3Sopenharmony_ci    bool flag = (ret == RET_CODE_SUCCESS || ret == RET_CODE_NOT_SUPPORT);
150094332d3Sopenharmony_ci    ASSERT_TRUE(flag);
151094332d3Sopenharmony_ci}
152094332d3Sopenharmony_ci
153094332d3Sopenharmony_ci/**
154094332d3Sopenharmony_ci * @tc.name: WifiClientSetMacAddr001
155094332d3Sopenharmony_ci * @tc.desc: Wifi client set mac addr function test
156094332d3Sopenharmony_ci * @tc.type: FUNC
157094332d3Sopenharmony_ci * @tc.require: AR000FRMJC
158094332d3Sopenharmony_ci */
159094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientSetMacAddr001, TestSize.Level1)
160094332d3Sopenharmony_ci{
161094332d3Sopenharmony_ci    int32_t ret;
162094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
163094332d3Sopenharmony_ci    unsigned char mac[ETH_ADDR_LEN] = {0x12, 0x34, 0x56, 0x78, 0xab, 0xcd};
164094332d3Sopenharmony_ci    unsigned char errorMac[ETH_ADDR_LEN] = {0x11, 0x34, 0x56, 0x78, 0xab, 0xcd};
165094332d3Sopenharmony_ci
166094332d3Sopenharmony_ci    ret = SetMacAddr(WLAN_IFNAME, mac, ETH_ADDR_LEN);
167094332d3Sopenharmony_ci    bool flag = (ret == HDF_SUCCESS || ret == HDF_ERR_NOT_SUPPORT || ret == HDF_ERR_DEVICE_BUSY);
168094332d3Sopenharmony_ci    ASSERT_TRUE(flag);
169094332d3Sopenharmony_ci    ret = SetMacAddr(WLAN_IFNAME, errorMac, ETH_ADDR_LEN);
170094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
171094332d3Sopenharmony_ci    ret = SetMacAddr(ifNameInvalid, mac, ETH_ADDR_LEN);
172094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
173094332d3Sopenharmony_ci}
174094332d3Sopenharmony_ci
175094332d3Sopenharmony_ci/**
176094332d3Sopenharmony_ci * @tc.name: WifiClientGetDevMacAddr001
177094332d3Sopenharmony_ci * @tc.desc: Wifi client get mac addr function test
178094332d3Sopenharmony_ci * @tc.type: FUNC
179094332d3Sopenharmony_ci * @tc.require: AR000FRMJC
180094332d3Sopenharmony_ci */
181094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientGetDevMacAddr001, TestSize.Level1)
182094332d3Sopenharmony_ci{
183094332d3Sopenharmony_ci    int32_t ret;
184094332d3Sopenharmony_ci    unsigned char mac[ETH_ADDR_LEN] = {};
185094332d3Sopenharmony_ci    int32_t type = WIFI_IFTYPE_STATION;
186094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
187094332d3Sopenharmony_ci
188094332d3Sopenharmony_ci    ret = GetDevMacAddr(WLAN_IFNAME, type, mac, ETH_ADDR_LEN);
189094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_FAILURE, ret);
190094332d3Sopenharmony_ci    ret = GetDevMacAddr(ifNameInvalid, type, mac, ETH_ADDR_LEN);
191094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
192094332d3Sopenharmony_ci}
193094332d3Sopenharmony_ci
194094332d3Sopenharmony_ci/**
195094332d3Sopenharmony_ci * @tc.name: WifiClientGetDevMacAddr002
196094332d3Sopenharmony_ci * @tc.desc: Wifi client get mac addr function test
197094332d3Sopenharmony_ci * @tc.type: FUNC
198094332d3Sopenharmony_ci * @tc.require: AR000H603L
199094332d3Sopenharmony_ci */
200094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientGetDevMacAddr002, TestSize.Level1)
201094332d3Sopenharmony_ci{
202094332d3Sopenharmony_ci    int32_t ret;
203094332d3Sopenharmony_ci    unsigned char mac[ETH_ADDR_LEN] = {};
204094332d3Sopenharmony_ci    int32_t type = WIFI_IFTYPE_AP;
205094332d3Sopenharmony_ci
206094332d3Sopenharmony_ci    ret = GetDevMacAddr(WLAN_IFNAME, type, mac, ETH_ADDR_LEN);
207094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_FAILURE, ret);
208094332d3Sopenharmony_ci}
209094332d3Sopenharmony_ci
210094332d3Sopenharmony_ci/**
211094332d3Sopenharmony_ci * @tc.name: WifiClientGetValidFreqByBand001
212094332d3Sopenharmony_ci * @tc.desc: Wifi client get valid freq function test
213094332d3Sopenharmony_ci * @tc.type: FUNC
214094332d3Sopenharmony_ci * @tc.require: AR000FRMJC
215094332d3Sopenharmony_ci */
216094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientGetValidFreqByBand001, TestSize.Level1)
217094332d3Sopenharmony_ci{
218094332d3Sopenharmony_ci    int32_t ret;
219094332d3Sopenharmony_ci    int32_t band = IEEE80211_BAND_2GHZ;
220094332d3Sopenharmony_ci    int32_t bandNotSupport = IEEE80211_NUM_BANDS;
221094332d3Sopenharmony_ci    struct FreqInfoResult result;
222094332d3Sopenharmony_ci    uint32_t size = 14;
223094332d3Sopenharmony_ci    uint32_t i;
224094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
225094332d3Sopenharmony_ci
226094332d3Sopenharmony_ci    result.freqs = (uint32_t *)OsalMemCalloc(35 * sizeof(uint32_t));
227094332d3Sopenharmony_ci    if (result.freqs == NULL) {
228094332d3Sopenharmony_ci        printf("%s: OsalMemCalloc failed", __FUNCTION__);
229094332d3Sopenharmony_ci        return;
230094332d3Sopenharmony_ci    }
231094332d3Sopenharmony_ci
232094332d3Sopenharmony_ci    result.txPower = (uint32_t *)OsalMemCalloc(35 * sizeof(uint32_t));
233094332d3Sopenharmony_ci    if (result.txPower == NULL) {
234094332d3Sopenharmony_ci        printf("%s: OsalMemCalloc failed", __FUNCTION__);
235094332d3Sopenharmony_ci        OsalMemFree(result.freqs);
236094332d3Sopenharmony_ci        return;
237094332d3Sopenharmony_ci    }
238094332d3Sopenharmony_ci
239094332d3Sopenharmony_ci    ret = GetValidFreqByBand(WLAN_IFNAME, bandNotSupport, &result, size);
240094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
241094332d3Sopenharmony_ci    ret = GetValidFreqByBand(WLAN_IFNAME, band, nullptr, size);
242094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
243094332d3Sopenharmony_ci    ret = GetValidFreqByBand(ifNameInvalid, band, &result, size);
244094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
245094332d3Sopenharmony_ci    ret = GetValidFreqByBand(WLAN_IFNAME, band, &result, size);
246094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
247094332d3Sopenharmony_ci    if (ret == RET_CODE_SUCCESS) {
248094332d3Sopenharmony_ci        printf("%s: num = %u\n", __func__, result.nums);
249094332d3Sopenharmony_ci        for (i = 0; i < result.nums; i++) {
250094332d3Sopenharmony_ci            printf("%s: freq[%d] = %d\n", __func__, i, result.freqs[i]);
251094332d3Sopenharmony_ci        }
252094332d3Sopenharmony_ci    }
253094332d3Sopenharmony_ci
254094332d3Sopenharmony_ci    OsalMemFree(result.txPower);
255094332d3Sopenharmony_ci    OsalMemFree(result.freqs);
256094332d3Sopenharmony_ci}
257094332d3Sopenharmony_ci
258094332d3Sopenharmony_ci/**
259094332d3Sopenharmony_ci * @tc.name: WifiClientSetTxPower001
260094332d3Sopenharmony_ci * @tc.desc: Wifi client set tx power function test
261094332d3Sopenharmony_ci * @tc.type: FUNC
262094332d3Sopenharmony_ci * @tc.require: AR000FRMJC
263094332d3Sopenharmony_ci */
264094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientSetTxPower001, TestSize.Level1)
265094332d3Sopenharmony_ci{
266094332d3Sopenharmony_ci    int32_t ret;
267094332d3Sopenharmony_ci    int32_t power = 10;
268094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
269094332d3Sopenharmony_ci
270094332d3Sopenharmony_ci    ret = SetTxPower(ifNameInvalid, power);
271094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
272094332d3Sopenharmony_ci    ret = SetTxPower(WLAN_IFNAME, power);
273094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
274094332d3Sopenharmony_ci}
275094332d3Sopenharmony_ci
276094332d3Sopenharmony_ci/**
277094332d3Sopenharmony_ci * @tc.name: WifiClientGetAssociatedStas001
278094332d3Sopenharmony_ci * @tc.desc: Wifi client get associated status function test
279094332d3Sopenharmony_ci * @tc.type: FUNC
280094332d3Sopenharmony_ci * @tc.require: AR000H603L
281094332d3Sopenharmony_ci */
282094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientGetAssociatedStas001, TestSize.Level1)
283094332d3Sopenharmony_ci{
284094332d3Sopenharmony_ci    int32_t ret;
285094332d3Sopenharmony_ci    struct AssocStaInfoResult result;
286094332d3Sopenharmony_ci
287094332d3Sopenharmony_ci    ret = GetAssociatedStas(WLAN_IFNAME, &result);
288094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
289094332d3Sopenharmony_ci}
290094332d3Sopenharmony_ci
291094332d3Sopenharmony_ci/**
292094332d3Sopenharmony_ci * @tc.name: WifiClientSetScanMacAddr001
293094332d3Sopenharmony_ci * @tc.desc: Wifi client set scan MAC address function test
294094332d3Sopenharmony_ci * @tc.type: FUNC
295094332d3Sopenharmony_ci * @tc.require: AR000H603L
296094332d3Sopenharmony_ci */
297094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientSetScanMacAddr001, TestSize.Level1)
298094332d3Sopenharmony_ci{
299094332d3Sopenharmony_ci    int32_t ret;
300094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
301094332d3Sopenharmony_ci    unsigned char scanMac[ETH_ADDR_LEN] = {0x12, 0x34, 0x56, 0x78, 0xab, 0xcd};
302094332d3Sopenharmony_ci
303094332d3Sopenharmony_ci    ret = SetScanMacAddr(ifNameInvalid, scanMac, ETH_ADDR_LEN);
304094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
305094332d3Sopenharmony_ci    ret = SetScanMacAddr(WLAN_IFNAME, scanMac, ETH_ADDR_LEN);
306094332d3Sopenharmony_ci    bool flag = (ret == RET_CODE_SUCCESS || ret == RET_CODE_NOT_SUPPORT);
307094332d3Sopenharmony_ci    ASSERT_TRUE(flag);
308094332d3Sopenharmony_ci}
309094332d3Sopenharmony_ci
310094332d3Sopenharmony_ci/**
311094332d3Sopenharmony_ci * @tc.name: WifiClientAcquireChipId001
312094332d3Sopenharmony_ci * @tc.desc: Wifi client get chipId function test
313094332d3Sopenharmony_ci * @tc.type: FUNC
314094332d3Sopenharmony_ci * @tc.require: AR000H603L
315094332d3Sopenharmony_ci */
316094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientAcquireChipId001, TestSize.Level1)
317094332d3Sopenharmony_ci{
318094332d3Sopenharmony_ci    int32_t ret;
319094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
320094332d3Sopenharmony_ci    uint8_t chipId = 0;
321094332d3Sopenharmony_ci
322094332d3Sopenharmony_ci    ret = AcquireChipId(nullptr, &chipId);
323094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
324094332d3Sopenharmony_ci    ret = AcquireChipId(WLAN_IFNAME, nullptr);
325094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
326094332d3Sopenharmony_ci    ret = AcquireChipId(ifNameInvalid, &chipId);
327094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
328094332d3Sopenharmony_ci    ret = AcquireChipId(WLAN_IFNAME, &chipId);
329094332d3Sopenharmony_ci    ASSERT_TRUE(chipId < MAX_WLAN_DEVICE);
330094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
331094332d3Sopenharmony_ci}
332094332d3Sopenharmony_ci
333094332d3Sopenharmony_ci/**
334094332d3Sopenharmony_ci * @tc.name: WifiClientGetIfNamesByChipId001
335094332d3Sopenharmony_ci * @tc.desc: Wifi client get ifName by chipId function test
336094332d3Sopenharmony_ci * @tc.type: FUNC
337094332d3Sopenharmony_ci * @tc.require: AR000H603L
338094332d3Sopenharmony_ci */
339094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientGetIfNamesByChipId001, TestSize.Level1)
340094332d3Sopenharmony_ci{
341094332d3Sopenharmony_ci    int32_t ret;
342094332d3Sopenharmony_ci    uint8_t chipId = 0;
343094332d3Sopenharmony_ci    uint8_t chipIdInvalid = 100;
344094332d3Sopenharmony_ci    char *ifNames = nullptr;
345094332d3Sopenharmony_ci    uint32_t num = 0;
346094332d3Sopenharmony_ci
347094332d3Sopenharmony_ci    ret = AcquireChipId(WLAN_IFNAME, &chipId);
348094332d3Sopenharmony_ci    ASSERT_TRUE(chipId < MAX_WLAN_DEVICE);
349094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
350094332d3Sopenharmony_ci    ret = GetIfNamesByChipId(chipIdInvalid, &ifNames, &num);
351094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
352094332d3Sopenharmony_ci    ret = GetIfNamesByChipId(chipId, &ifNames, &num);
353094332d3Sopenharmony_ci    EXPECT_NE(ifNames, nullptr);
354094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
355094332d3Sopenharmony_ci    ret = GetIfNamesByChipId(chipId, &ifNames, nullptr);
356094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
357094332d3Sopenharmony_ci    ret = GetIfNamesByChipId(chipId, nullptr, &num);
358094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
359094332d3Sopenharmony_ci    free(ifNames);
360094332d3Sopenharmony_ci}
361094332d3Sopenharmony_ci
362094332d3Sopenharmony_ci/**
363094332d3Sopenharmony_ci * @tc.name: WifiClientGetNetDeviceInfo001
364094332d3Sopenharmony_ci * @tc.desc: Wifi client get netDevice information function test
365094332d3Sopenharmony_ci * @tc.type: FUNC
366094332d3Sopenharmony_ci * @tc.require: AR000H603L
367094332d3Sopenharmony_ci */
368094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientGetNetDeviceInfo001, TestSize.Level1)
369094332d3Sopenharmony_ci{
370094332d3Sopenharmony_ci    int32_t ret;
371094332d3Sopenharmony_ci    struct NetDeviceInfoResult netDeviceInfoResult;
372094332d3Sopenharmony_ci
373094332d3Sopenharmony_ci    ret = GetNetDeviceInfo(&netDeviceInfoResult);
374094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
375094332d3Sopenharmony_ci}
376094332d3Sopenharmony_ci
377094332d3Sopenharmony_ci/**
378094332d3Sopenharmony_ci * @tc.name: WifiClientGetCurrentPowerMode001
379094332d3Sopenharmony_ci * @tc.desc: Wifi client get current power mode function test
380094332d3Sopenharmony_ci * @tc.type: FUNC
381094332d3Sopenharmony_ci * @tc.require: AR000H603L
382094332d3Sopenharmony_ci */
383094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientGetCurrentPowerMode001, TestSize.Level1)
384094332d3Sopenharmony_ci{
385094332d3Sopenharmony_ci    int32_t ret;
386094332d3Sopenharmony_ci    uint8_t mode = 0;
387094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
388094332d3Sopenharmony_ci
389094332d3Sopenharmony_ci    ret = GetCurrentPowerMode(ifNameInvalid, &mode);
390094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
391094332d3Sopenharmony_ci    ret = GetCurrentPowerMode(WLAN_IFNAME, &mode);
392094332d3Sopenharmony_ci    bool flag = (ret == RET_CODE_SUCCESS || ret == RET_CODE_NOT_SUPPORT);
393094332d3Sopenharmony_ci    ASSERT_TRUE(flag);
394094332d3Sopenharmony_ci}
395094332d3Sopenharmony_ci
396094332d3Sopenharmony_ci/**
397094332d3Sopenharmony_ci * @tc.name: WifiClientSetPowerMode001
398094332d3Sopenharmony_ci * @tc.desc: Wifi client set power mode function test
399094332d3Sopenharmony_ci * @tc.type: FUNC
400094332d3Sopenharmony_ci * @tc.require: AR000H603L
401094332d3Sopenharmony_ci */
402094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientSetPowerMode001, TestSize.Level1)
403094332d3Sopenharmony_ci{
404094332d3Sopenharmony_ci    int32_t ret;
405094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
406094332d3Sopenharmony_ci
407094332d3Sopenharmony_ci    ret = SetPowerMode(ifNameInvalid, WIFI_POWER_MODE_SLEEPING);
408094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
409094332d3Sopenharmony_ci    ret = SetPowerMode(WLAN_IFNAME, WIFI_POWER_MODE_SLEEPING);
410094332d3Sopenharmony_ci    bool flag = (ret == RET_CODE_SUCCESS || ret == RET_CODE_NOT_SUPPORT);
411094332d3Sopenharmony_ci    ASSERT_TRUE(flag);
412094332d3Sopenharmony_ci}
413094332d3Sopenharmony_ci
414094332d3Sopenharmony_ci/**
415094332d3Sopenharmony_ci * @tc.name: WifiClientSetPowerMode002
416094332d3Sopenharmony_ci * @tc.desc: Wifi client set power mode function test
417094332d3Sopenharmony_ci * @tc.type: FUNC
418094332d3Sopenharmony_ci * @tc.require: AR000H603L
419094332d3Sopenharmony_ci */
420094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientSetPowerMode002, TestSize.Level1)
421094332d3Sopenharmony_ci{
422094332d3Sopenharmony_ci    int32_t ret;
423094332d3Sopenharmony_ci
424094332d3Sopenharmony_ci    ret = SetPowerMode(WLAN_IFNAME, WIFI_POWER_MODE_GENERAL);
425094332d3Sopenharmony_ci    bool flag = (ret == RET_CODE_SUCCESS || ret == RET_CODE_NOT_SUPPORT);
426094332d3Sopenharmony_ci    ASSERT_TRUE(flag);
427094332d3Sopenharmony_ci}
428094332d3Sopenharmony_ci
429094332d3Sopenharmony_ci/**
430094332d3Sopenharmony_ci * @tc.name: WifiClientSetPowerMode003
431094332d3Sopenharmony_ci * @tc.desc: Wifi client set power mode function test
432094332d3Sopenharmony_ci * @tc.type: FUNC
433094332d3Sopenharmony_ci * @tc.require: AR000H603L
434094332d3Sopenharmony_ci */
435094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientSetPowerMode003, TestSize.Level1)
436094332d3Sopenharmony_ci{
437094332d3Sopenharmony_ci    int32_t ret;
438094332d3Sopenharmony_ci
439094332d3Sopenharmony_ci    ret = SetPowerMode(WLAN_IFNAME, WIFI_POWER_MODE_THROUGH_WALL);
440094332d3Sopenharmony_ci    bool flag = (ret == RET_CODE_SUCCESS || ret == RET_CODE_NOT_SUPPORT);
441094332d3Sopenharmony_ci    ASSERT_TRUE(flag);
442094332d3Sopenharmony_ci}
443094332d3Sopenharmony_ci
444094332d3Sopenharmony_ci/**
445094332d3Sopenharmony_ci * @tc.name: WifiClientSetPowerMode004
446094332d3Sopenharmony_ci * @tc.desc: Wifi client set power mode function test
447094332d3Sopenharmony_ci * @tc.type: FUNC
448094332d3Sopenharmony_ci * @tc.require: AR000H603L
449094332d3Sopenharmony_ci */
450094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiClientSetPowerMode004, TestSize.Level1)
451094332d3Sopenharmony_ci{
452094332d3Sopenharmony_ci    int32_t ret;
453094332d3Sopenharmony_ci
454094332d3Sopenharmony_ci    ret = SetPowerMode(WLAN_IFNAME, WIFI_POWER_MODE_NUM);
455094332d3Sopenharmony_ci    EXPECT_NE(RET_CODE_SUCCESS, ret);
456094332d3Sopenharmony_ci}
457094332d3Sopenharmony_ci
458094332d3Sopenharmony_ci/**
459094332d3Sopenharmony_ci * @tc.name: WifiRegisterHid2dCallback001
460094332d3Sopenharmony_ci * @tc.desc: Wifi register hid2d callback function test
461094332d3Sopenharmony_ci * @tc.type: FUNC
462094332d3Sopenharmony_ci * @tc.require:
463094332d3Sopenharmony_ci */
464094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiRegisterHid2dCallback001, TestSize.Level1)
465094332d3Sopenharmony_ci{
466094332d3Sopenharmony_ci    int32_t ret;
467094332d3Sopenharmony_ci
468094332d3Sopenharmony_ci    ret = WifiRegisterHid2dCallback(nullptr, WLAN_IFNAME);
469094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
470094332d3Sopenharmony_ci    ret = WifiRegisterHid2dCallback(Hid2dFunCb, nullptr);
471094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
472094332d3Sopenharmony_ci    ret = WifiRegisterHid2dCallback(Hid2dFunCb, WLAN_IFNAME);
473094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_SUCCESS, ret);
474094332d3Sopenharmony_ci    WifiUnregisterHid2dCallback(nullptr, WLAN_IFNAME);
475094332d3Sopenharmony_ci    WifiUnregisterHid2dCallback(Hid2dFunCb, nullptr);
476094332d3Sopenharmony_ci}
477094332d3Sopenharmony_ci
478094332d3Sopenharmony_ci/**
479094332d3Sopenharmony_ci * @tc.name: WifiGetSignalPollInfo001
480094332d3Sopenharmony_ci * @tc.desc: Wifi get signal poll info function test
481094332d3Sopenharmony_ci * @tc.type: FUNC
482094332d3Sopenharmony_ci * @tc.require:
483094332d3Sopenharmony_ci */
484094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiGetSignalPollInfo001, TestSize.Level1)
485094332d3Sopenharmony_ci{
486094332d3Sopenharmony_ci    int32_t ret;
487094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
488094332d3Sopenharmony_ci    struct SignalResult signalResult;
489094332d3Sopenharmony_ci    (void)memset_s(&signalResult, sizeof(signalResult), 0, sizeof(signalResult));
490094332d3Sopenharmony_ci
491094332d3Sopenharmony_ci    ret = WifiGetSignalPollInfo(nullptr, &signalResult);
492094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
493094332d3Sopenharmony_ci    ret = WifiGetSignalPollInfo(ifNameInvalid, nullptr);
494094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
495094332d3Sopenharmony_ci    ret = WifiGetSignalPollInfo(ifNameInvalid, &signalResult);
496094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
497094332d3Sopenharmony_ci}
498094332d3Sopenharmony_ci
499094332d3Sopenharmony_cistatic int32_t WifiEventCb(uint32_t event, void *respData, const char *ifName)
500094332d3Sopenharmony_ci{
501094332d3Sopenharmony_ci    (void)event;
502094332d3Sopenharmony_ci    (void)respData;
503094332d3Sopenharmony_ci    (void)ifName;
504094332d3Sopenharmony_ci    return RET_CODE_SUCCESS;
505094332d3Sopenharmony_ci}
506094332d3Sopenharmony_ci
507094332d3Sopenharmony_ci/**
508094332d3Sopenharmony_ci * @tc.name: WifiRegisterEventCallback001
509094332d3Sopenharmony_ci * @tc.desc: Wifi register event callback function test
510094332d3Sopenharmony_ci * @tc.type: FUNC
511094332d3Sopenharmony_ci * @tc.require:
512094332d3Sopenharmony_ci */
513094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiRegisterEventCallback001, TestSize.Level1)
514094332d3Sopenharmony_ci{
515094332d3Sopenharmony_ci    int32_t ret;
516094332d3Sopenharmony_ci
517094332d3Sopenharmony_ci    ret = WifiRegisterEventCallback(nullptr, WIFI_KERNEL_TO_HAL_CLIENT, WLAN_IFNAME);
518094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
519094332d3Sopenharmony_ci    ret = WifiRegisterEventCallback(WifiEventCb, WIFI_KERNEL_TO_HAL_CLIENT, nullptr);
520094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
521094332d3Sopenharmony_ci    WifiUnregisterEventCallback(nullptr, WIFI_KERNEL_TO_HAL_CLIENT, WLAN_IFNAME);
522094332d3Sopenharmony_ci    WifiUnregisterEventCallback(WifiEventCb, WIFI_KERNEL_TO_HAL_CLIENT, nullptr);
523094332d3Sopenharmony_ci}
524094332d3Sopenharmony_ci
525094332d3Sopenharmony_ci/**
526094332d3Sopenharmony_ci * @tc.name: WifiRegisterActionFrameReceiver001
527094332d3Sopenharmony_ci * @tc.desc: Wifi register action frame function test
528094332d3Sopenharmony_ci * @tc.type: FUNC
529094332d3Sopenharmony_ci * @tc.require:
530094332d3Sopenharmony_ci */
531094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiRegisterActionFrameReceiver001, TestSize.Level1)
532094332d3Sopenharmony_ci{
533094332d3Sopenharmony_ci    int32_t ret;
534094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
535094332d3Sopenharmony_ci    uint8_t mastch = 0;
536094332d3Sopenharmony_ci    uint32_t matchLen = RESET_TIME;
537094332d3Sopenharmony_ci
538094332d3Sopenharmony_ci    ret = WifiRegisterActionFrameReceiver(nullptr, &mastch, matchLen);
539094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
540094332d3Sopenharmony_ci    ret = WifiRegisterActionFrameReceiver(ifNameInvalid, 0, matchLen);
541094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
542094332d3Sopenharmony_ci    ret = WifiRegisterActionFrameReceiver(ifNameInvalid, &mastch, 0);
543094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
544094332d3Sopenharmony_ci    ret = WifiRegisterActionFrameReceiver(ifNameInvalid, &mastch, matchLen);
545094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
546094332d3Sopenharmony_ci}
547094332d3Sopenharmony_ci
548094332d3Sopenharmony_ci/**
549094332d3Sopenharmony_ci * @tc.name: WifiSendActionFrame001
550094332d3Sopenharmony_ci * @tc.desc: Wifi send action frame function test
551094332d3Sopenharmony_ci * @tc.type: FUNC
552094332d3Sopenharmony_ci * @tc.require:
553094332d3Sopenharmony_ci */
554094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiSendActionFrame001, TestSize.Level1)
555094332d3Sopenharmony_ci{
556094332d3Sopenharmony_ci    int32_t ret;
557094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
558094332d3Sopenharmony_ci    uint8_t frameData = 0;
559094332d3Sopenharmony_ci    uint32_t freq = RESET_TIME;
560094332d3Sopenharmony_ci    uint32_t frameDataLen = RESET_TIME;
561094332d3Sopenharmony_ci
562094332d3Sopenharmony_ci    ret = WifiSendActionFrame(nullptr, freq, &frameData, frameDataLen);
563094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
564094332d3Sopenharmony_ci    ret = WifiSendActionFrame(ifNameInvalid, 0, &frameData, frameDataLen);
565094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
566094332d3Sopenharmony_ci    ret = WifiSendActionFrame(ifNameInvalid, freq, &frameData, frameDataLen);
567094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
568094332d3Sopenharmony_ci    ret = WifiSendActionFrame(ifNameInvalid, freq, &frameData, 0);
569094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
570094332d3Sopenharmony_ci    ret = WifiSendActionFrame(ifNameInvalid, freq, &frameData, frameDataLen);
571094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
572094332d3Sopenharmony_ci}
573094332d3Sopenharmony_ci
574094332d3Sopenharmony_ci/**
575094332d3Sopenharmony_ci * @tc.name: ClientGetApBandwidth001
576094332d3Sopenharmony_ci * @tc.desc: client get ap bandwidth function test
577094332d3Sopenharmony_ci * @tc.type: FUNC
578094332d3Sopenharmony_ci * @tc.require:
579094332d3Sopenharmony_ci */
580094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, ClientGetApBandwidth001, TestSize.Level1)
581094332d3Sopenharmony_ci{
582094332d3Sopenharmony_ci    int32_t ret;
583094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
584094332d3Sopenharmony_ci    uint8_t bandwidth = 0;
585094332d3Sopenharmony_ci
586094332d3Sopenharmony_ci    ret = ClientGetApBandwidth(nullptr, &bandwidth);
587094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
588094332d3Sopenharmony_ci    ret = ClientGetApBandwidth(ifNameInvalid, nullptr);
589094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
590094332d3Sopenharmony_ci    ret = ClientGetApBandwidth(ifNameInvalid, &bandwidth);
591094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
592094332d3Sopenharmony_ci}
593094332d3Sopenharmony_ci
594094332d3Sopenharmony_ci/**
595094332d3Sopenharmony_ci * @tc.name: SetProjectionScreenParam001
596094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
597094332d3Sopenharmony_ci * @tc.type: FUNC
598094332d3Sopenharmony_ci * @tc.require:
599094332d3Sopenharmony_ci */
600094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, SetProjectionScreenParam001, TestSize.Level1)
601094332d3Sopenharmony_ci{
602094332d3Sopenharmony_ci    int32_t ret;
603094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
604094332d3Sopenharmony_ci    ProjectionScreenParam *param = nullptr;
605094332d3Sopenharmony_ci    param->cmdId = CMD_ID_RX_REMAIN_ON_CHANNEL;
606094332d3Sopenharmony_ci    param->buf[0] = 0;
607094332d3Sopenharmony_ci    param->bufLen = 40;
608094332d3Sopenharmony_ci    ret = SetProjectionScreenParam(ifNameInvalid, param);
609094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
610094332d3Sopenharmony_ci}
611094332d3Sopenharmony_ci
612094332d3Sopenharmony_ci/**
613094332d3Sopenharmony_ci * @tc.name: SetProjectionScreenParam001
614094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
615094332d3Sopenharmony_ci * @tc.type: FUNC
616094332d3Sopenharmony_ci * @tc.require:
617094332d3Sopenharmony_ci */
618094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, SetProjectionScreenParam002, TestSize.Level1)
619094332d3Sopenharmony_ci{
620094332d3Sopenharmony_ci    int32_t ret;
621094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
622094332d3Sopenharmony_ci    ProjectionScreenParam *param = nullptr;
623094332d3Sopenharmony_ci    param->cmdId = CMD_ID_RX_REMAIN_ON_CHANNEL;
624094332d3Sopenharmony_ci    param->buf[0] = 0;
625094332d3Sopenharmony_ci    param->bufLen = 1;
626094332d3Sopenharmony_ci    ret = SetProjectionScreenParam(ifNameInvalid, param);
627094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
628094332d3Sopenharmony_ci}
629094332d3Sopenharmony_ci/**
630094332d3Sopenharmony_ci * @tc.name: WifiEapolPacketSend001
631094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
632094332d3Sopenharmony_ci * @tc.type: FUNC
633094332d3Sopenharmony_ci * @tc.require:
634094332d3Sopenharmony_ci */
635094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiEapolPacketSend001, TestSize.Level1)
636094332d3Sopenharmony_ci{
637094332d3Sopenharmony_ci    int32_t ret;
638094332d3Sopenharmony_ci    int32_t length = 0;
639094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
640094332d3Sopenharmony_ci    uint8_t srcAddr = 0;
641094332d3Sopenharmony_ci    uint8_t dstAddr = 0;
642094332d3Sopenharmony_ci    uint8_t buf = 0;
643094332d3Sopenharmony_ci    ret = WifiEapolPacketSend(NULL, &srcAddr, &dstAddr, &buf, length);
644094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
645094332d3Sopenharmony_ci    WifiEapolPacketSend(ifNameInvalid, &srcAddr, &dstAddr, &buf, length);
646094332d3Sopenharmony_ci}
647094332d3Sopenharmony_ci/**
648094332d3Sopenharmony_ci * @tc.name: WifiEapolPacketReceive002
649094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
650094332d3Sopenharmony_ci * @tc.type: FUNC
651094332d3Sopenharmony_ci * @tc.require:
652094332d3Sopenharmony_ci */
653094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiEapolPacketReceive002, TestSize.Level1)
654094332d3Sopenharmony_ci{
655094332d3Sopenharmony_ci    int32_t ret;
656094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
657094332d3Sopenharmony_ci    WifiRxEapol *rxEapol = NULL;
658094332d3Sopenharmony_ci    ret = WifiEapolPacketReceive(NULL, rxEapol);
659094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
660094332d3Sopenharmony_ci    ret = WifiEapolPacketReceive(ifNameInvalid, rxEapol);
661094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
662094332d3Sopenharmony_ci}
663094332d3Sopenharmony_ci/**
664094332d3Sopenharmony_ci * @tc.name: WifiEapolEnable003
665094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
666094332d3Sopenharmony_ci * @tc.type: FUNC
667094332d3Sopenharmony_ci * @tc.require:
668094332d3Sopenharmony_ci */
669094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiEapolEnable003, TestSize.Level1)
670094332d3Sopenharmony_ci{
671094332d3Sopenharmony_ci    int32_t ret;
672094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
673094332d3Sopenharmony_ci    ret = WifiEapolEnable(NULL);
674094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
675094332d3Sopenharmony_ci    WifiEapolEnable(ifNameInvalid);
676094332d3Sopenharmony_ci}
677094332d3Sopenharmony_ci/**
678094332d3Sopenharmony_ci * @tc.name: WifiEapolDisable004
679094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
680094332d3Sopenharmony_ci * @tc.type: FUNC
681094332d3Sopenharmony_ci * @tc.require:
682094332d3Sopenharmony_ci */
683094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiEapolDisable004, TestSize.Level1)
684094332d3Sopenharmony_ci{
685094332d3Sopenharmony_ci    int32_t ret;
686094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
687094332d3Sopenharmony_ci    ret = WifiEapolDisable(NULL);
688094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
689094332d3Sopenharmony_ci    WifiEapolDisable(ifNameInvalid);
690094332d3Sopenharmony_ci}
691094332d3Sopenharmony_ci/**
692094332d3Sopenharmony_ci * @tc.name: WifiCmdSetAp005
693094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
694094332d3Sopenharmony_ci * @tc.type: FUNC
695094332d3Sopenharmony_ci * @tc.require:
696094332d3Sopenharmony_ci */
697094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdSetAp005, TestSize.Level1)
698094332d3Sopenharmony_ci{
699094332d3Sopenharmony_ci    int32_t ret;
700094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
701094332d3Sopenharmony_ci    WifiApSetting *apsettings = NULL;
702094332d3Sopenharmony_ci    ret = WifiCmdSetAp(NULL, apsettings);
703094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
704094332d3Sopenharmony_ci    ret = WifiCmdSetAp(ifNameInvalid, apsettings);
705094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
706094332d3Sopenharmony_ci}
707094332d3Sopenharmony_ci/**
708094332d3Sopenharmony_ci * @tc.name: WifiCmdChangeBeacon006
709094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
710094332d3Sopenharmony_ci * @tc.type: FUNC
711094332d3Sopenharmony_ci * @tc.require:
712094332d3Sopenharmony_ci */
713094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdChangeBeacon006, TestSize.Level1)
714094332d3Sopenharmony_ci{
715094332d3Sopenharmony_ci    int32_t ret;
716094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
717094332d3Sopenharmony_ci    WifiApSetting *apsettings = NULL;
718094332d3Sopenharmony_ci    ret = WifiCmdChangeBeacon(NULL, apsettings);
719094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
720094332d3Sopenharmony_ci    ret = WifiCmdChangeBeacon(ifNameInvalid, apsettings);
721094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
722094332d3Sopenharmony_ci}
723094332d3Sopenharmony_ci/**
724094332d3Sopenharmony_ci * @tc.name: WifiCmdSendMlme007
725094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
726094332d3Sopenharmony_ci * @tc.type: FUNC
727094332d3Sopenharmony_ci * @tc.require:
728094332d3Sopenharmony_ci */
729094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdSendMlme007, TestSize.Level1)
730094332d3Sopenharmony_ci{
731094332d3Sopenharmony_ci    int32_t ret;
732094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
733094332d3Sopenharmony_ci    WifiMlmeData *mlme = NULL;
734094332d3Sopenharmony_ci    ret = WifiCmdSendMlme(NULL, mlme);
735094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
736094332d3Sopenharmony_ci    ret = WifiCmdSendMlme(ifNameInvalid, mlme);
737094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
738094332d3Sopenharmony_ci}
739094332d3Sopenharmony_ci/**
740094332d3Sopenharmony_ci * @tc.name: WifiCmdDelKey008
741094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
742094332d3Sopenharmony_ci * @tc.type: FUNC
743094332d3Sopenharmony_ci * @tc.require:
744094332d3Sopenharmony_ci */
745094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdDelKey008, TestSize.Level1)
746094332d3Sopenharmony_ci{
747094332d3Sopenharmony_ci    int32_t ret;
748094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
749094332d3Sopenharmony_ci    WifiKeyExt *keyExt = NULL;
750094332d3Sopenharmony_ci    ret = WifiCmdDelKey(NULL, keyExt);
751094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
752094332d3Sopenharmony_ci    ret = WifiCmdDelKey(ifNameInvalid, keyExt);
753094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
754094332d3Sopenharmony_ci}
755094332d3Sopenharmony_ci/**
756094332d3Sopenharmony_ci * @tc.name: WifiCmdNewKey009
757094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
758094332d3Sopenharmony_ci * @tc.type: FUNC
759094332d3Sopenharmony_ci * @tc.require:
760094332d3Sopenharmony_ci */
761094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdNewKey009, TestSize.Level1)
762094332d3Sopenharmony_ci{
763094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
764094332d3Sopenharmony_ci    WifiKeyExt keyExt;
765094332d3Sopenharmony_ci    WifiCmdNewKey(ifNameInvalid, &keyExt);
766094332d3Sopenharmony_ci}
767094332d3Sopenharmony_ci/**
768094332d3Sopenharmony_ci * @tc.name: WifiCmdSetKey0010
769094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
770094332d3Sopenharmony_ci * @tc.type: FUNC
771094332d3Sopenharmony_ci * @tc.require:
772094332d3Sopenharmony_ci */
773094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdSetKey0010, TestSize.Level1)
774094332d3Sopenharmony_ci{
775094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
776094332d3Sopenharmony_ci    WifiKeyExt keyExt;
777094332d3Sopenharmony_ci    WifiCmdSetKey(ifNameInvalid, &keyExt);
778094332d3Sopenharmony_ci}
779094332d3Sopenharmony_ci/**
780094332d3Sopenharmony_ci * @tc.name: WifiCmdGetOwnMac0011
781094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
782094332d3Sopenharmony_ci * @tc.type: FUNC
783094332d3Sopenharmony_ci * @tc.require:
784094332d3Sopenharmony_ci */
785094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdGetOwnMac0011, TestSize.Level1)
786094332d3Sopenharmony_ci{
787094332d3Sopenharmony_ci    int32_t ret;
788094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
789094332d3Sopenharmony_ci    uint32_t len = 0;
790094332d3Sopenharmony_ci    ret = WifiCmdGetOwnMac(NULL, NULL, len);
791094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
792094332d3Sopenharmony_ci    ret = WifiCmdGetOwnMac(ifNameInvalid, NULL, len);
793094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
794094332d3Sopenharmony_ci    WifiCmdGetOwnMac(ifNameInvalid, NULL, len);
795094332d3Sopenharmony_ci}
796094332d3Sopenharmony_ci/**
797094332d3Sopenharmony_ci * @tc.name: WifiCmdSetMode0012
798094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
799094332d3Sopenharmony_ci * @tc.type: FUNC
800094332d3Sopenharmony_ci * @tc.require:
801094332d3Sopenharmony_ci */
802094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdSetMode0012, TestSize.Level1)
803094332d3Sopenharmony_ci{
804094332d3Sopenharmony_ci    int32_t ret;
805094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
806094332d3Sopenharmony_ci    WifiSetMode *setMode = NULL;
807094332d3Sopenharmony_ci    ret = WifiCmdSetMode(NULL, setMode);
808094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
809094332d3Sopenharmony_ci    ret = WifiCmdSetMode(ifNameInvalid, setMode);
810094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
811094332d3Sopenharmony_ci}
812094332d3Sopenharmony_ci/**
813094332d3Sopenharmony_ci * @tc.name: WifiCmdGetHwFeature0013
814094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
815094332d3Sopenharmony_ci * @tc.type: FUNC
816094332d3Sopenharmony_ci * @tc.require:
817094332d3Sopenharmony_ci */
818094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdGetHwFeature0013, TestSize.Level1)
819094332d3Sopenharmony_ci{
820094332d3Sopenharmony_ci    int32_t ret;
821094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
822094332d3Sopenharmony_ci    WifiHwFeatureData hwFeatureData;
823094332d3Sopenharmony_ci    ret = WifiCmdGetHwFeature(NULL, &hwFeatureData);
824094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
825094332d3Sopenharmony_ci    WifiCmdGetHwFeature(ifNameInvalid, &hwFeatureData);
826094332d3Sopenharmony_ci}
827094332d3Sopenharmony_ci/**
828094332d3Sopenharmony_ci * @tc.name: WifiCmdDisconnet0014
829094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
830094332d3Sopenharmony_ci * @tc.type: FUNC
831094332d3Sopenharmony_ci * @tc.require:
832094332d3Sopenharmony_ci */
833094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdDisconnet0014, TestSize.Level1)
834094332d3Sopenharmony_ci{
835094332d3Sopenharmony_ci    int32_t ret;
836094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
837094332d3Sopenharmony_ci    int32_t reasonCode = 0;
838094332d3Sopenharmony_ci    ret = WifiCmdDisconnet(NULL, reasonCode);
839094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
840094332d3Sopenharmony_ci    WifiCmdDisconnet(ifNameInvalid, reasonCode);
841094332d3Sopenharmony_ci}
842094332d3Sopenharmony_ci/**
843094332d3Sopenharmony_ci * @tc.name: WifiCmdAssoc0016
844094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
845094332d3Sopenharmony_ci * @tc.type: FUNC
846094332d3Sopenharmony_ci * @tc.require:
847094332d3Sopenharmony_ci */
848094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdAssoc0016, TestSize.Level1)
849094332d3Sopenharmony_ci{
850094332d3Sopenharmony_ci    int32_t ret;
851094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
852094332d3Sopenharmony_ci    WifiAssociateParams assocParams;
853094332d3Sopenharmony_ci    ret = WifiCmdAssoc(NULL, &assocParams);
854094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
855094332d3Sopenharmony_ci    WifiCmdAssoc(ifNameInvalid, &assocParams);
856094332d3Sopenharmony_ci}
857094332d3Sopenharmony_ci/**
858094332d3Sopenharmony_ci * @tc.name: WifiCmdSetNetdev0017
859094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
860094332d3Sopenharmony_ci * @tc.type: FUNC
861094332d3Sopenharmony_ci * @tc.require:
862094332d3Sopenharmony_ci */
863094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdSetNetdev0017, TestSize.Level1)
864094332d3Sopenharmony_ci{
865094332d3Sopenharmony_ci    int32_t ret;
866094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
867094332d3Sopenharmony_ci    WifiSetNewDev info;
868094332d3Sopenharmony_ci    ret = WifiCmdSetNetdev(NULL, &info);
869094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
870094332d3Sopenharmony_ci    WifiCmdSetNetdev(ifNameInvalid, &info);
871094332d3Sopenharmony_ci}
872094332d3Sopenharmony_ci/**
873094332d3Sopenharmony_ci * @tc.name: WifiCmdStaRemove0018
874094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
875094332d3Sopenharmony_ci * @tc.type: FUNC
876094332d3Sopenharmony_ci * @tc.require:
877094332d3Sopenharmony_ci */
878094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdStaRemove0018, TestSize.Level1)
879094332d3Sopenharmony_ci{
880094332d3Sopenharmony_ci    int32_t ret;
881094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
882094332d3Sopenharmony_ci    uint8_t *addr = NULL;
883094332d3Sopenharmony_ci    uint32_t addrLen = 0;
884094332d3Sopenharmony_ci    ret = WifiCmdStaRemove(NULL, addr, addrLen);
885094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
886094332d3Sopenharmony_ci    WifiCmdStaRemove(ifNameInvalid, addr, addrLen);
887094332d3Sopenharmony_ci}
888094332d3Sopenharmony_ci/**
889094332d3Sopenharmony_ci * @tc.name: WifiCmdSendAction0019
890094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
891094332d3Sopenharmony_ci * @tc.type: FUNC
892094332d3Sopenharmony_ci * @tc.require:
893094332d3Sopenharmony_ci */
894094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdSendAction0019, TestSize.Level1)
895094332d3Sopenharmony_ci{
896094332d3Sopenharmony_ci    int32_t ret;
897094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
898094332d3Sopenharmony_ci    WifiActionData actionData;
899094332d3Sopenharmony_ci    ret = WifiCmdSendAction(NULL, &actionData);
900094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
901094332d3Sopenharmony_ci    WifiCmdSendAction(ifNameInvalid, &actionData);
902094332d3Sopenharmony_ci}
903094332d3Sopenharmony_ci/**
904094332d3Sopenharmony_ci * @tc.name: WifiCmdSetClient0020
905094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
906094332d3Sopenharmony_ci * @tc.type: FUNC
907094332d3Sopenharmony_ci * @tc.require:
908094332d3Sopenharmony_ci */
909094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdSetClient0020, TestSize.Level1)
910094332d3Sopenharmony_ci{
911094332d3Sopenharmony_ci    uint32_t clientNum = 0;
912094332d3Sopenharmony_ci    WifiCmdSetClient(clientNum);
913094332d3Sopenharmony_ci}
914094332d3Sopenharmony_ci/**
915094332d3Sopenharmony_ci * @tc.name: WifiCmdProbeReqReport0021
916094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
917094332d3Sopenharmony_ci * @tc.type: FUNC
918094332d3Sopenharmony_ci * @tc.require:
919094332d3Sopenharmony_ci */
920094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdProbeReqReport0021, TestSize.Level1)
921094332d3Sopenharmony_ci{
922094332d3Sopenharmony_ci    int32_t ret;
923094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
924094332d3Sopenharmony_ci    int32_t *report = NULL;
925094332d3Sopenharmony_ci    ret = WifiCmdProbeReqReport(NULL, report);
926094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
927094332d3Sopenharmony_ci    WifiCmdProbeReqReport(ifNameInvalid, report);
928094332d3Sopenharmony_ci}
929094332d3Sopenharmony_ci/**
930094332d3Sopenharmony_ci * @tc.name: WifiCmdRemainOnChannel0022
931094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
932094332d3Sopenharmony_ci * @tc.type: FUNC
933094332d3Sopenharmony_ci * @tc.require:
934094332d3Sopenharmony_ci */
935094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdRemainOnChannel0022, TestSize.Level1)
936094332d3Sopenharmony_ci{
937094332d3Sopenharmony_ci    int32_t ret;
938094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
939094332d3Sopenharmony_ci    WifiOnChannel onChannel;
940094332d3Sopenharmony_ci    ret = WifiCmdRemainOnChannel(NULL, &onChannel);
941094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
942094332d3Sopenharmony_ci    WifiCmdRemainOnChannel(ifNameInvalid, &onChannel);
943094332d3Sopenharmony_ci}
944094332d3Sopenharmony_ci/**
945094332d3Sopenharmony_ci * @tc.name: WifiCmdCancelRemainOnChannel0023
946094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
947094332d3Sopenharmony_ci * @tc.type: FUNC
948094332d3Sopenharmony_ci * @tc.require:
949094332d3Sopenharmony_ci */
950094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdCancelRemainOnChannel0023, TestSize.Level1)
951094332d3Sopenharmony_ci{
952094332d3Sopenharmony_ci    int32_t ret;
953094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
954094332d3Sopenharmony_ci    ret = WifiCmdCancelRemainOnChannel(NULL);
955094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
956094332d3Sopenharmony_ci    WifiCmdCancelRemainOnChannel(ifNameInvalid);
957094332d3Sopenharmony_ci}
958094332d3Sopenharmony_ci/**
959094332d3Sopenharmony_ci * @tc.name: WifiCmdAddIf024
960094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
961094332d3Sopenharmony_ci * @tc.type: FUNC
962094332d3Sopenharmony_ci * @tc.require:
963094332d3Sopenharmony_ci */
964094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdAddIf024, TestSize.Level1)
965094332d3Sopenharmony_ci{
966094332d3Sopenharmony_ci    int32_t ret;
967094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
968094332d3Sopenharmony_ci    WifiIfAdd ifAdd;
969094332d3Sopenharmony_ci    ret = WifiCmdAddIf(NULL, &ifAdd);
970094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
971094332d3Sopenharmony_ci    WifiCmdAddIf(ifNameInvalid, &ifAdd);
972094332d3Sopenharmony_ci}
973094332d3Sopenharmony_ci/**
974094332d3Sopenharmony_ci * @tc.name: WifiCmdRemoveIf025
975094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
976094332d3Sopenharmony_ci * @tc.type: FUNC
977094332d3Sopenharmony_ci * @tc.require:
978094332d3Sopenharmony_ci */
979094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdRemoveIf025, TestSize.Level1)
980094332d3Sopenharmony_ci{
981094332d3Sopenharmony_ci    int32_t ret;
982094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
983094332d3Sopenharmony_ci    WifiIfRemove ifRemove;
984094332d3Sopenharmony_ci    ret = WifiCmdRemoveIf(NULL, &ifRemove);
985094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
986094332d3Sopenharmony_ci    WifiCmdRemoveIf(ifNameInvalid, &ifRemove);
987094332d3Sopenharmony_ci}
988094332d3Sopenharmony_ci/**
989094332d3Sopenharmony_ci * @tc.name: WifiCmdSetApWpsP2pIe026
990094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
991094332d3Sopenharmony_ci * @tc.type: FUNC
992094332d3Sopenharmony_ci * @tc.require:
993094332d3Sopenharmony_ci */
994094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdSetApWpsP2pIe026, TestSize.Level1)
995094332d3Sopenharmony_ci{
996094332d3Sopenharmony_ci    int32_t ret;
997094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
998094332d3Sopenharmony_ci    WifiAppIe appIe;
999094332d3Sopenharmony_ci    ret = WifiCmdSetApWpsP2pIe(NULL, &appIe);
1000094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
1001094332d3Sopenharmony_ci    WifiCmdSetApWpsP2pIe(ifNameInvalid, &appIe);
1002094332d3Sopenharmony_ci}
1003094332d3Sopenharmony_ci/**
1004094332d3Sopenharmony_ci * @tc.name: WifiCmdGetDrvFlags027
1005094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
1006094332d3Sopenharmony_ci * @tc.type: FUNC
1007094332d3Sopenharmony_ci * @tc.require:
1008094332d3Sopenharmony_ci */
1009094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiCmdGetDrvFlags027, TestSize.Level1)
1010094332d3Sopenharmony_ci{
1011094332d3Sopenharmony_ci    int32_t ret;
1012094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
1013094332d3Sopenharmony_ci    WifiGetDrvFlags params;
1014094332d3Sopenharmony_ci    ret = WifiCmdGetDrvFlags(NULL, &params);
1015094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_INVALID_PARAM, ret);
1016094332d3Sopenharmony_ci    WifiCmdGetDrvFlags(ifNameInvalid, &params);
1017094332d3Sopenharmony_ci}
1018094332d3Sopenharmony_ci/**
1019094332d3Sopenharmony_ci * @tc.name: WifiSetDpiMarkRule028
1020094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
1021094332d3Sopenharmony_ci * @tc.type: FUNC
1022094332d3Sopenharmony_ci * @tc.require:
1023094332d3Sopenharmony_ci */
1024094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiSetDpiMarkRule028, TestSize.Level1)
1025094332d3Sopenharmony_ci{
1026094332d3Sopenharmony_ci    int32_t srcAddr = 0;
1027094332d3Sopenharmony_ci    int32_t dstAddr = 0;
1028094332d3Sopenharmony_ci    int32_t buf = 0;
1029094332d3Sopenharmony_ci    WifiSetDpiMarkRule(srcAddr, dstAddr, buf);
1030094332d3Sopenharmony_ci}
1031094332d3Sopenharmony_ci/**
1032094332d3Sopenharmony_ci * @tc.name: WifiInstallWlanExtParam029
1033094332d3Sopenharmony_ci * @tc.desc: install wlan ext param
1034094332d3Sopenharmony_ci * @tc.type: FUNC
1035094332d3Sopenharmony_ci * @tc.require:
1036094332d3Sopenharmony_ci */
1037094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiInstallWlanExtParam029, TestSize.Level1)
1038094332d3Sopenharmony_ci{
1039094332d3Sopenharmony_ci    int32_t ret;
1040094332d3Sopenharmony_ci    const char *ifNameInvalid = "wlanTest";
1041094332d3Sopenharmony_ci    InstallWlanParam param;
1042094332d3Sopenharmony_ci    param.id = 0;
1043094332d3Sopenharmony_ci    param.suite = 0;
1044094332d3Sopenharmony_ci    param.len = 0;
1045094332d3Sopenharmony_ci    ret = WifiInstallWlanExtParam(ifNameInvalid, &param);
1046094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
1047094332d3Sopenharmony_ci}
1048094332d3Sopenharmony_ci/**
1049094332d3Sopenharmony_ci * @tc.name: WpaEventReport
1050094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
1051094332d3Sopenharmony_ci * @tc.type: FUNC
1052094332d3Sopenharmony_ci * @tc.require:
1053094332d3Sopenharmony_ci */
1054094332d3Sopenharmony_ci#ifdef OHOS_ARCH_LITE
1055094332d3Sopenharmony_cistatic int32_t WpaEventCb(uint32_t event, void *respData, const char *ifName)
1056094332d3Sopenharmony_ci{
1057094332d3Sopenharmony_ci    (void)event;
1058094332d3Sopenharmony_ci    (void)respData;
1059094332d3Sopenharmony_ci    (void)ifName;
1060094332d3Sopenharmony_ci    return RET_CODE_SUCCESS;
1061094332d3Sopenharmony_ci}
1062094332d3Sopenharmony_ci
1063094332d3Sopenharmony_ci /**
1064094332d3Sopenharmony_ci * @tc.name: WpaRegisterEventCallback01
1065094332d3Sopenharmony_ci * @tc.desc: wpa register event callback function test
1066094332d3Sopenharmony_ci * @tc.type: FUNC
1067094332d3Sopenharmony_ci * @tc.require:
1068094332d3Sopenharmony_ci */
1069094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WpaRegisterEventCallback01, TestSize.Level1)
1070094332d3Sopenharmony_ci{
1071094332d3Sopenharmony_ci    int32_t ret;
1072094332d3Sopenharmony_ci
1073094332d3Sopenharmony_ci    ret = WpaRegisterEventCallback(nullptr, WIFI_WPA_TO_HAL_CLIENT, WLAN_IFNAME);
1074094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
1075094332d3Sopenharmony_ci    ret = WpaRegisterEventCallback(WpaEventCb, WIFI_WPA_TO_HAL_CLIENT, nullptr);
1076094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
1077094332d3Sopenharmony_ci    WpaRegisterEventCallback(WpaEventCb, WIFI_WPA_TO_HAL_CLIENT, WLAN_IFNAME);
1078094332d3Sopenharmony_ci    WpaUnregisterEventCallback(WpaEventCb, WIFI_WPA_TO_HAL_CLIENT, WLAN_IFNAME);
1079094332d3Sopenharmony_ci    WpaUnregisterEventCallback(nullptr, WIFI_WPA_TO_HAL_CLIENT, WLAN_IFNAME);
1080094332d3Sopenharmony_ci    WpaUnregisterEventCallback(WpaEventCb, WIFI_WPA_TO_HAL_CLIENT, nullptr);
1081094332d3Sopenharmony_ci}
1082094332d3Sopenharmony_ci
1083094332d3Sopenharmony_ci/**
1084094332d3Sopenharmony_ci * @tc.name: WpaEventReport02
1085094332d3Sopenharmony_ci * @tc.desc: wpa cb interface test
1086094332d3Sopenharmony_ci * @tc.type: FUNC
1087094332d3Sopenharmony_ci * @tc.require:
1088094332d3Sopenharmony_ci */
1089094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WpaEventReport02, TestSize.Level1)
1090094332d3Sopenharmony_ci{
1091094332d3Sopenharmony_ci    struct WpaStateChangedParam wpaStateChangedParma = {0};
1092094332d3Sopenharmony_ci    WpaEventReport(WLAN_IFNAME, WPA_EVENT_STATE_CHANGED, (void *) &wpaStateChangedParma);
1093094332d3Sopenharmony_ci    WpaEventReport(WLAN_IFNAME, WPA_EVENT_STATE_CHANGED, nullptr);
1094094332d3Sopenharmony_ci    WpaEventReport(nullptr, WPA_EVENT_STATE_CHANGED, (void *) &wpaStateChangedParma);
1095094332d3Sopenharmony_ci}
1096094332d3Sopenharmony_ci
1097094332d3Sopenharmony_ci/**
1098094332d3Sopenharmony_ci * @tc.name: HostapdRegisterEventCallback03
1099094332d3Sopenharmony_ci * @tc.desc: hostapd register event callback function test
1100094332d3Sopenharmony_ci * @tc.type: FUNC
1101094332d3Sopenharmony_ci * @tc.require:
1102094332d3Sopenharmony_ci */
1103094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, HostapdRegisterEventCallback03, TestSize.Level1)
1104094332d3Sopenharmony_ci{
1105094332d3Sopenharmony_ci    int32_t ret;
1106094332d3Sopenharmony_ci
1107094332d3Sopenharmony_ci    ret = HostapdRegisterEventCallback(nullptr, WIFI_HOSTAPD_TO_HAL_CLIENT, WLAN_IFNAME);
1108094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
1109094332d3Sopenharmony_ci    ret = HostapdRegisterEventCallback(WpaEventCb, WIFI_HOSTAPD_TO_HAL_CLIENT, nullptr);
1110094332d3Sopenharmony_ci    EXPECT_EQ(RET_CODE_FAILURE, ret);
1111094332d3Sopenharmony_ci    HostapdRegisterEventCallback(WpaEventCb, WIFI_HOSTAPD_TO_HAL_CLIENT, WLAN_IFNAME);
1112094332d3Sopenharmony_ci    HostapdUnregisterEventCallback(WpaEventCb, WIFI_HOSTAPD_TO_HAL_CLIENT, WLAN_IFNAME);
1113094332d3Sopenharmony_ci    HostapdUnregisterEventCallback(nullptr, WIFI_HOSTAPD_TO_HAL_CLIENT, WLAN_IFNAME);
1114094332d3Sopenharmony_ci    HostapdUnregisterEventCallback(WpaEventCb, WIFI_HOSTAPD_TO_HAL_CLIENT, nullptr);
1115094332d3Sopenharmony_ci}
1116094332d3Sopenharmony_ci
1117094332d3Sopenharmony_ci/**
1118094332d3Sopenharmony_ci * @tc.name: HostapdEventReport04
1119094332d3Sopenharmony_ci * @tc.desc: hostapd cb interface test
1120094332d3Sopenharmony_ci * @tc.type: FUNC
1121094332d3Sopenharmony_ci * @tc.require:
1122094332d3Sopenharmony_ci */
1123094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, HostapdEventReport04, TestSize.Level1)
1124094332d3Sopenharmony_ci{
1125094332d3Sopenharmony_ci    struct HostapdApCbParm hostapdApCbParm = {};
1126094332d3Sopenharmony_ci    HostapdEventReport(WLAN_IFNAME, HOSTAPD_EVENT_AP_STATE, (void *) &hostapdApCbParm);
1127094332d3Sopenharmony_ci    HostapdEventReport(WLAN_IFNAME, HOSTAPD_EVENT_AP_STATE, nullptr);
1128094332d3Sopenharmony_ci    HostapdEventReport(nullptr, HOSTAPD_EVENT_AP_STATE, (void *) &hostapdApCbParm);
1129094332d3Sopenharmony_ci}
1130094332d3Sopenharmony_ci
1131094332d3Sopenharmony_ci/**
1132094332d3Sopenharmony_ci * @tc.name: WifiSetPowerSaveMode029
1133094332d3Sopenharmony_ci * @tc.desc: set rx remain On channel test
1134094332d3Sopenharmony_ci * @tc.type: FUNC
1135094332d3Sopenharmony_ci * @tc.require:
1136094332d3Sopenharmony_ci */
1137094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, WifiSetPowerSaveMode029, TestSize.Level1)
1138094332d3Sopenharmony_ci{
1139094332d3Sopenharmony_ci    int32_t frequency = 0;
1140094332d3Sopenharmony_ci    int32_t mode = 0;
1141094332d3Sopenharmony_ci    const char *ifName = "wlanTest";
1142094332d3Sopenharmony_ci    WifiSetPowerSaveMode(ifName, frequency, mode);
1143094332d3Sopenharmony_ci}
1144094332d3Sopenharmony_ci
1145094332d3Sopenharmony_ci/**
1146094332d3Sopenharmony_ci * @tc.name: ReleaseEventCallback01
1147094332d3Sopenharmony_ci * @tc.desc: Release Event Callback test
1148094332d3Sopenharmony_ci * @tc.type: FUNC
1149094332d3Sopenharmony_ci * @tc.require:
1150094332d3Sopenharmony_ci */
1151094332d3Sopenharmony_ciHWTEST_F(WifiClientTest, ReleaseEventCallback01, TestSize.Level1)
1152094332d3Sopenharmony_ci{
1153094332d3Sopenharmony_ci    ReleaseEventCallback();
1154094332d3Sopenharmony_ci}
1155094332d3Sopenharmony_ci}
1156094332d3Sopenharmony_ci}
1157094332d3Sopenharmony_ci#endif
1158094332d3Sopenharmony_ci};