• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 #include <hdf_log.h>
18 #include "../../../chip/hdi_service/wifi_ap_iface.h"
19 #include "wifi_hal_fn.h"
20 
21 using namespace testing::ext;
22 using namespace OHOS::HDI::Wlan::Chip::V2_0;
23 
24 namespace WifiApIfaceTest {
25 const std::string AP_IFNAME = "wlan1";
26 const std::string TEST_MAC = "000000";
27 class WifiApIfaceTest : public testing::Test {
28 public:
SetUpTestCase()29     static void SetUpTestCase() {}
TearDownTestCase()30     static void TearDownTestCase() {}
SetUp()31     void SetUp()
32     {
33         std::vector<std::string> instances = {AP_IFNAME};
34         ifaceTool = std::make_shared<IfaceTool>();
35         ifaceUtil = std::make_shared<IfaceUtil>(ifaceTool);
36         WifiHalFn fn;
37         InitWifiHalFuncTable(&fn);
38         wifiVendorHalTest = std::make_shared<WifiVendorHal>(ifaceTool, fn, true);
39         apIface = new (std::nothrow) WifiApIface(AP_IFNAME, instances, wifiVendorHalTest, ifaceUtil);
40         if (apIface == nullptr) {
41             HDF_LOGE("iface is null");
42             return;
43         }
44     }
TearDown()45     void TearDown()
46     {
47         wifiVendorHalTest.reset();
48         ifaceTool.reset();
49         ifaceUtil.reset();
50     }
51 
52 public:
53     std::shared_ptr<WifiVendorHal> wifiVendorHalTest;
54     std::shared_ptr<IfaceTool> ifaceTool;
55     std::shared_ptr<IfaceUtil> ifaceUtil;
56     sptr<WifiApIface> apIface;
57 };
58 
59 /**
60  * @tc.name: wifiApIfaceTest
61  * @tc.desc: wifiApIface
62  * @tc.type: FUNC
63  * @tc.require:
64  */
65 HWTEST_F(WifiApIfaceTest, wifiApIfaceTest001, TestSize.Level1)
66 {
67     HDF_LOGI("wifiApIfaceTest001 started");
68     apIface->Invalidate();
69     EXPECT_FALSE(apIface->IsValid());
70     EXPECT_TRUE(apIface->GetName() == AP_IFNAME);
71     apIface->RemoveInstance(AP_IFNAME);
72     IfaceType type;
73     EXPECT_TRUE(apIface->GetIfaceType(type) == HDF_SUCCESS);
74     EXPECT_TRUE(type == IfaceType::AP);
75     std::string name;
76     EXPECT_TRUE(apIface->GetIfaceName(name) == HDF_SUCCESS);
77     EXPECT_TRUE(name == AP_IFNAME);
78 }
79 
80 /**
81  * @tc.name: GetIfaceCapTest
82  * @tc.desc: GetIfaceCap
83  * @tc.type: FUNC
84  * @tc.require:
85  */
86 HWTEST_F(WifiApIfaceTest, GetIfaceCapTest, TestSize.Level1)
87 {
88     HDF_LOGI("GetIfaceCapTest started");
89     uint32_t cap;
90     EXPECT_TRUE(apIface->GetIfaceCap(cap) == HDF_ERR_NOT_SUPPORT);
91 }
92 
93 HWTEST_F(WifiApIfaceTest, StartScanTest, TestSize.Level1)
94 {
95     HDF_LOGI("StartScanTest started");
96     ScanParams scanParam;
97     scanParam.bssid = TEST_MAC;
98     EXPECT_TRUE(apIface->StartScan(scanParam) == HDF_ERR_NOT_SUPPORT);
99 }
100 
101 HWTEST_F(WifiApIfaceTest, GetScanInfosTest, TestSize.Level1)
102 {
103     HDF_LOGI("GetScanInfosTest started");
104     std::vector<ScanResultsInfo> scanResult;
105     EXPECT_TRUE(apIface->GetScanInfos(scanResult) == HDF_ERR_NOT_SUPPORT);
106 }
107 
108 HWTEST_F(WifiApIfaceTest, StartPnoScanTest, TestSize.Level1)
109 {
110     HDF_LOGI("StartPnoScanTest started");
111     PnoScanParams pnoParam;
112     pnoParam.min2gRssi = 1;
113     EXPECT_TRUE(apIface->StartPnoScan(pnoParam) == HDF_ERR_NOT_SUPPORT);
114 }
115 
116 HWTEST_F(WifiApIfaceTest, StopPnoScanTest, TestSize.Level1)
117 {
118     HDF_LOGI("StopPnoScanTest started");
119     EXPECT_TRUE(apIface->StopPnoScan() == HDF_ERR_NOT_SUPPORT);
120 }
121 
122 HWTEST_F(WifiApIfaceTest, GetSignalPollInfoTest, TestSize.Level1)
123 {
124     HDF_LOGI("GetSignalPollInfoTest started");
125     SignalPollResult info;
126     EXPECT_TRUE(apIface->GetSignalPollInfo(info) == HDF_ERR_NOT_SUPPORT);
127 }
128 
129 HWTEST_F(WifiApIfaceTest, SetDpiMarkRuleTest, TestSize.Level1)
130 {
131     HDF_LOGI("SetDpiMarkRuleTest started");
132     EXPECT_TRUE(apIface->SetDpiMarkRule(0, 0, 0) == HDF_ERR_NOT_SUPPORT);
133 }
134 
135 HWTEST_F(WifiApIfaceTest, EnablePowerModeTest, TestSize.Level1)
136 {
137     HDF_LOGI("EnablePowerModeTest started");
138     EXPECT_TRUE(apIface->EnablePowerMode(0) == HDF_ERR_NOT_SUPPORT);
139 }
140 
141 HWTEST_F(WifiApIfaceTest, GetSupportFreqsTest, TestSize.Level1)
142 {
143     HDF_LOGI("GetSupportFreqsTest started");
144     std::vector<uint32_t> freqs;
145     EXPECT_TRUE(apIface->GetSupportFreqs(0, freqs) == HDF_SUCCESS);
146     EXPECT_TRUE(apIface->SetMacAddress(TEST_MAC) == HDF_SUCCESS);
147     EXPECT_TRUE(apIface->SetCountryCode("cn") == HDF_SUCCESS);
148     EXPECT_TRUE(apIface->SetPowerMode(0) == HDF_SUCCESS);
149     int32_t mode;
150     EXPECT_TRUE(apIface->GetPowerMode(mode) == HDF_SUCCESS);
151 }
152 
153 HWTEST_F(WifiApIfaceTest, RegisterChipIfaceCallBackTest, TestSize.Level1)
154 {
155     HDF_LOGI("RegisterChipIfaceCallBackTest started");
156     sptr<IChipIfaceCallback> ifaceCallback;
157     EXPECT_TRUE(apIface->RegisterChipIfaceCallBack(ifaceCallback) == HDF_ERR_NOT_SUPPORT);
158     EXPECT_TRUE(apIface->UnRegisterChipIfaceCallBack(ifaceCallback) == HDF_ERR_NOT_SUPPORT);
159 }
160 }