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_p2p_iface.h" 19 20 using namespace testing::ext; 21 using namespace OHOS::HDI::Wlan::Chip::V2_0; 22 23 namespace WifiP2pIfaceTest { 24 const std::string P2P_IFNAME = "P2P0"; 25 const std::string TEST_MAC = "000000"; 26 27 class WifiP2pIfaceTest : public testing::Test { 28 public: SetUpTestCase()29 static void SetUpTestCase() {} TearDownTestCase()30 static void TearDownTestCase() {} SetUp()31 void SetUp() 32 { 33 std::weak_ptr<IfaceTool> ifaceTool = std::make_shared<IfaceTool>(); 34 WifiHalFn fn; 35 std::weak_ptr<WifiVendorHal> vendorHal = std::make_shared<WifiVendorHal>(ifaceTool, fn, true); 36 p2pIface = new (std::nothrow) WifiP2pIface(P2P_IFNAME, vendorHal, 37 std::make_shared<IfaceUtil>(ifaceTool)); 38 } TearDown()39 void TearDown() 40 { 41 HDF_LOGE("iface teardown"); 42 } 43 44 public: 45 sptr<WifiP2pIface> p2pIface; 46 }; 47 48 /** 49 * @tc.name: WifiP2pIfaceTest 50 * @tc.desc: WifiP2pIface 51 * @tc.type: FUNC 52 * @tc.require: 53 */ 54 HWTEST_F(WifiP2pIfaceTest, WifiP2pIfaceTest, TestSize.Level1) 55 { 56 HDF_LOGI("WifiP2pIfaceTest started"); 57 p2pIface->Invalidate(); 58 EXPECT_FALSE(p2pIface->IsValid()); 59 EXPECT_TRUE(p2pIface->GetName() == P2P_IFNAME); 60 IfaceType type = IfaceType::STA; 61 EXPECT_TRUE(p2pIface->GetIfaceType(type) == HDF_SUCCESS); 62 EXPECT_TRUE(type == IfaceType::P2P); 63 std::string name; 64 EXPECT_TRUE(p2pIface->GetIfaceName(name) == HDF_SUCCESS); 65 EXPECT_TRUE(name == P2P_IFNAME); 66 std::vector<uint32_t> frequencies; 67 if (p2pIface->vendorHal_.lock() != nullptr) { 68 EXPECT_TRUE(p2pIface->GetSupportFreqs(1, frequencies) == HDF_SUCCESS); 69 } 70 } 71 72 HWTEST_F(WifiP2pIfaceTest, SetMacAddressTest, TestSize.Level1) 73 { 74 HDF_LOGI("SetMacAddressTest started"); 75 EXPECT_TRUE(p2pIface->SetMacAddress(TEST_MAC) == HDF_ERR_NOT_SUPPORT); 76 } 77 78 HWTEST_F(WifiP2pIfaceTest, SetCountryCodeTest, TestSize.Level1) 79 { 80 HDF_LOGI("SetCountryCodeTest started"); 81 EXPECT_TRUE(p2pIface->SetCountryCode("CN") == HDF_ERR_NOT_SUPPORT); 82 } 83 84 HWTEST_F(WifiP2pIfaceTest, GetPowerModeTest, TestSize.Level1) 85 { 86 HDF_LOGI("GetPowerModeTest started"); 87 int32_t mode; 88 EXPECT_TRUE(p2pIface->GetPowerMode(mode) == HDF_ERR_NOT_SUPPORT); 89 } 90 91 HWTEST_F(WifiP2pIfaceTest, SetPowerModeTest, TestSize.Level1) 92 { 93 HDF_LOGI("SetPowerModeTest started"); 94 EXPECT_TRUE(p2pIface->SetPowerMode(0) == HDF_ERR_NOT_SUPPORT); 95 } 96 97 HWTEST_F(WifiP2pIfaceTest, GetIfaceCapTest, TestSize.Level1) 98 { 99 HDF_LOGI("GetIfaceCapTest started"); 100 uint32_t cap; 101 EXPECT_TRUE(p2pIface->GetIfaceCap(cap) == HDF_SUCCESS); 102 } 103 104 HWTEST_F(WifiP2pIfaceTest, StartScanTest, TestSize.Level1) 105 { 106 HDF_LOGI("StartScanTest started"); 107 ScanParams scanParam; 108 scanParam.bssid = TEST_MAC; 109 EXPECT_TRUE(p2pIface->StartScan(scanParam) == HDF_ERR_NOT_SUPPORT); 110 } 111 112 HWTEST_F(WifiP2pIfaceTest, GetScanInfosTest, TestSize.Level1) 113 { 114 HDF_LOGI("GetScanInfosTest started"); 115 std::vector<ScanResultsInfo> scanResult; 116 EXPECT_TRUE(p2pIface->GetScanInfos(scanResult) == HDF_ERR_NOT_SUPPORT); 117 } 118 119 HWTEST_F(WifiP2pIfaceTest, StartPnoScanTest, TestSize.Level1) 120 { 121 HDF_LOGI("StartPnoScanTest started"); 122 PnoScanParams pnoParam; 123 pnoParam.min2gRssi = 1; 124 EXPECT_TRUE(p2pIface->StartPnoScan(pnoParam) == HDF_ERR_NOT_SUPPORT); 125 } 126 127 HWTEST_F(WifiP2pIfaceTest, StopPnoScanTest, TestSize.Level1) 128 { 129 HDF_LOGI("StopPnoScanTest started"); 130 EXPECT_TRUE(p2pIface->StopPnoScan() == HDF_ERR_NOT_SUPPORT); 131 } 132 133 HWTEST_F(WifiP2pIfaceTest, GetSignalPollInfoTest, TestSize.Level1) 134 { 135 HDF_LOGI("GetSignalPollInfoTest started"); 136 SignalPollResult info; 137 EXPECT_TRUE(p2pIface->GetSignalPollInfo(info) == HDF_ERR_NOT_SUPPORT); 138 } 139 140 HWTEST_F(WifiP2pIfaceTest, SetDpiMarkRuleTest, TestSize.Level1) 141 { 142 HDF_LOGI("SetDpiMarkRuleTest started"); 143 EXPECT_TRUE(p2pIface->SetDpiMarkRule(0, 0, 0) == HDF_ERR_NOT_SUPPORT); 144 } 145 146 HWTEST_F(WifiP2pIfaceTest, EnablePowerModeTest, TestSize.Level1) 147 { 148 HDF_LOGI("EnablePowerModeTest started"); 149 EXPECT_TRUE(p2pIface->EnablePowerMode(0) == HDF_ERR_NOT_SUPPORT); 150 } 151 }