1522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius/* 2522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * Copyright (C) 2016 The Android Open Source Project 3522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * 4522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * Licensed under the Apache License, Version 2.0 (the "License"); 5522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * you may not use this file except in compliance with the License. 6522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * You may obtain a copy of the License at 7522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * 8522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * http://www.apache.org/licenses/LICENSE-2.0 9522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * 10522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * Unless required by applicable law or agreed to in writing, software 11522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * distributed under the License is distributed on an "AS IS" BASIS, 12522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * See the License for the specific language governing permissions and 14522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * limitations under the License. 15522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius */ 16522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius 17522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius#include <android-base/logging.h> 18522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius 196b8720110bf2d40ac1364c364a85c31b358889f1Yuexi Ma#include <VtsHalHidlTargetTestBase.h> 20522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius 21036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius#include <android/hardware/wifi/supplicant/1.0/ISupplicantStaNetwork.h> 22036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 23036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius#include <android/hardware/wifi/supplicant/1.0/ISupplicantStaNetwork.h> 24036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 25e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang#include "supplicant_hidl_call_util.h" 26522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius#include "supplicant_hidl_test_utils.h" 27522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius 28036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piususing ::android::sp; 29036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piususing ::android::hardware::hidl_array; 30036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piususing ::android::hardware::hidl_string; 31036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piususing ::android::hardware::hidl_vec; 32036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piususing ::android::hardware::Return; 33036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piususing ::android::hardware::Void; 34e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wangusing ::android::hardware::wifi::supplicant::V1_0::IfaceType; 35036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piususing ::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIface; 36036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piususing ::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork; 37036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piususing ::android::hardware::wifi::supplicant::V1_0:: 38036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetworkCallback; 39036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piususing ::android::hardware::wifi::supplicant::V1_0::SupplicantStatus; 40036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piususing ::android::hardware::wifi::supplicant::V1_0::SupplicantStatusCode; 41036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 42036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusnamespace { 43036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr char kTestSsidStr[] = "TestSsid1234"; 44aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wangconstexpr char kTestPskPassphrase[] = "TestPsk123"; 45036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr char kTestIdStr[] = "TestIdstr"; 46036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr char kTestEapPasswdStr[] = "TestEapPasswd1234"; 47036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr char kTestEapCert[] = "keystore://CERT"; 48036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr char kTestEapPrivateKeyId[] = "key_id"; 49036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr char kTestEapMatch[] = "match"; 50036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr char kTestEapEngineID[] = "engine_id"; 51036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint8_t kTestBssid[] = {0x56, 0x67, 0x67, 0xf4, 0x56, 0x92}; 52036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint8_t kTestWepKey[] = {0x56, 0x67, 0x67, 0xf4, 0x56}; 53036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint8_t kTestKc[] = {0x56, 0x67, 0x67, 0xf4, 0x76, 0x87, 0x98, 0x12}; 54036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint8_t kTestSres[] = {0x56, 0x67, 0x67, 0xf4}; 55036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint8_t kTestRes[] = {0x56, 0x67, 0x67, 0xf4, 0x67}; 56036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint8_t kTestIk[] = {[0 ... 15] = 0x65}; 57036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint8_t kTestCk[] = {[0 ... 15] = 0x45}; 58036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint8_t kTestIdentity[] = {0x45, 0x67, 0x98, 0x67, 0x56}; 59aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wangconstexpr uint8_t kTestPsk[] = {[0 ... 31] = 0x12}; 60aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wangconstexpr uint8_t kTestAutParam[] = {[0 ... 13] = 0xe1}; 61036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint32_t kTestWepTxKeyIdx = 2; 62aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wangconstexpr uint32_t kTestUpdateIdentifier = 21; 63036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint32_t kTestKeyMgmt = (ISupplicantStaNetwork::KeyMgmtMask::WPA_PSK | 64036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::KeyMgmtMask::WPA_EAP); 65036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint32_t kTestProto = (ISupplicantStaNetwork::ProtoMask::OSEN | 66036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::ProtoMask::RSN); 67036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint32_t kTestAuthAlg = (ISupplicantStaNetwork::AuthAlgMask::OPEN | 68036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::AuthAlgMask::SHARED); 69036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint32_t kTestGroupCipher = 70036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius (ISupplicantStaNetwork::GroupCipherMask::CCMP | 71036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::GroupCipherMask::WEP104); 72036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusconstexpr uint32_t kTestPairwiseCipher = 73036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius (ISupplicantStaNetwork::PairwiseCipherMask::CCMP | 74036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::PairwiseCipherMask::TKIP); 75036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} // namespace 76036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 77036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusclass SupplicantStaNetworkHidlTest : public ::testing::VtsHalHidlTargetTestBase { 78036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius public: 79036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius virtual void SetUp() override { 80036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius startSupplicantAndWaitForHidlService(); 81036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_TRUE(turnOnExcessiveLogging()); 82036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_ = createSupplicantStaNetwork(); 83036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ASSERT_NE(sta_network_.get(), nullptr); 84036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 85036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ssid_.assign(kTestSsidStr, kTestSsidStr + strlen(kTestSsidStr)); 86036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius } 87036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 88036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius virtual void TearDown() override { stopSupplicant(); } 89036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 90036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius protected: 91036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius void removeNetwork() { 92036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sp<ISupplicantStaIface> sta_iface = getSupplicantStaIface(); 93036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ASSERT_NE(nullptr, sta_iface.get()); 94036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius uint32_t net_id; 95036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getId([&](const SupplicantStatus& status, int network_id) { 96036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ASSERT_EQ(SupplicantStatusCode::SUCCESS, status.code); 97036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius net_id = network_id; 98036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 99036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_iface->removeNetwork(net_id, [](const SupplicantStatus& status) { 100036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ASSERT_EQ(SupplicantStatusCode::SUCCESS, status.code); 101036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 102036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius } 103036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 104036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius // ISupplicantStaNetwork object used for all tests in this fixture. 105036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sp<ISupplicantStaNetwork> sta_network_; 106036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius // SSID to use for various tests. 107036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius std::vector<uint8_t> ssid_; 108036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius}; 109036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 110036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Piusclass NetworkCallback : public ISupplicantStaNetworkCallback { 111036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius Return<void> onNetworkEapSimGsmAuthRequest( 112036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const ISupplicantStaNetworkCallback::NetworkRequestEapSimGsmAuthParams& 113036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius /* params */) override { 114036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius return Void(); 115036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius } 116036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius Return<void> onNetworkEapSimUmtsAuthRequest( 117036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const ISupplicantStaNetworkCallback::NetworkRequestEapSimUmtsAuthParams& 118036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius /* params */) override { 119036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius return Void(); 120036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius } 121036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius Return<void> onNetworkEapIdentityRequest() override { return Void(); } 122036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius}; 123036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 124522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius/* 125522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * Create: 126522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * Ensures that an instance of the ISupplicantStaNetwork proxy object is 127522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius * successfully created. 128522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius */ 129522e62d54b635461f552ef245c748a26a4e39b19Roshan PiusTEST(SupplicantStaNetworkHidlTestNoFixture, Create) { 130522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius startSupplicantAndWaitForHidlService(); 131522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius EXPECT_NE(nullptr, createSupplicantStaNetwork().get()); 132522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius stopSupplicant(); 133522e62d54b635461f552ef245c748a26a4e39b19Roshan Pius} 134036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 135036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 136036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * RegisterCallback 137036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 138036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, RegisterCallback) { 139036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->registerCallback( 140036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius new NetworkCallback(), [](const SupplicantStatus& status) { 141036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 142036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 143036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 144036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 145e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang/* 146e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang * GetInterfaceName 147e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang */ 148e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan WangTEST_F(SupplicantStaNetworkHidlTest, GetInterfaceName) { 149e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang const auto& status_and_interface_name = 150e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang HIDL_INVOKE(sta_network_, getInterfaceName); 151e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, 152e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang status_and_interface_name.first.code); 153e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang EXPECT_FALSE(std::string(status_and_interface_name.second).empty()); 154e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang} 155e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang 156e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang/* 157e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang * GetType 158e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang */ 159e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan WangTEST_F(SupplicantStaNetworkHidlTest, GetType) { 160e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang const auto& status_and_interface_type = HIDL_INVOKE(sta_network_, getType); 161e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, 162e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang status_and_interface_type.first.code); 163e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang EXPECT_EQ(status_and_interface_type.second, IfaceType::STA); 164e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang} 165e97b2be0daffe82c2a9fc4c4d60fb16135b40cc8Ningyuan Wang 166036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* Tests out the various setter/getter methods. */ 167036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 168036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetSsid 169036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 170036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetSsid) { 171036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setSsid(ssid_, [](const SupplicantStatus& status) { 172036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 173036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 174036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getSsid( 175036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, const hidl_vec<uint8_t>& get_ssid) { 176036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 177036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(ssid_, std::vector<uint8_t>(get_ssid)); 178036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 179036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 180036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 181036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 182036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetBssid 183036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 184036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetBssid) { 185036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius std::array<uint8_t, 6> set_bssid; 186036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius memcpy(set_bssid.data(), kTestBssid, set_bssid.size()); 187036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setBssid(set_bssid, [](const SupplicantStatus& status) { 188036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 189036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 190036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getBssid([&](const SupplicantStatus& status, 191036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const hidl_array<uint8_t, 6>& get_bssid_hidl) { 192036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 193036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius std::array<uint8_t, 6> get_bssid; 194036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius memcpy(get_bssid.data(), get_bssid_hidl.data(), get_bssid.size()); 195036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(set_bssid, get_bssid); 196036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 197036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 198036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 199036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 200036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetKeyMgmt 201036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 202036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetKeyMgmt) { 203036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setKeyMgmt(kTestKeyMgmt, [](const SupplicantStatus& status) { 204036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 205036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 206036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getKeyMgmt( 207036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, uint32_t key_mgmt) { 208036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 209036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(key_mgmt, kTestKeyMgmt); 210036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 211036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 212036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 213036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 214036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetProto 215036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 216036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetProto) { 217036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setProto(kTestProto, [](const SupplicantStatus& status) { 218036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 219036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 220036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getProto([&](const SupplicantStatus& status, uint32_t proto) { 221036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 222036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(proto, kTestProto); 223036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 224036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 225036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 226036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 227036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetKeyAuthAlg 228036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 229036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetAuthAlg) { 230036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setAuthAlg(kTestAuthAlg, [](const SupplicantStatus& status) { 231036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 232036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 233036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getAuthAlg( 234036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, uint32_t auth_alg) { 235036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 236036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(auth_alg, kTestAuthAlg); 237036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 238036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 239036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 240036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 241036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetGroupCipher 242036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 243036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetGroupCipher) { 244036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setGroupCipher( 245036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestGroupCipher, [](const SupplicantStatus& status) { 246036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 247036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 248036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getGroupCipher( 249036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, uint32_t group_cipher) { 250036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 251036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(group_cipher, kTestGroupCipher); 252036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 253036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 254036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 255036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 256036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetPairwiseCipher 257036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 258036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetPairwiseCipher) { 259036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setPairwiseCipher( 260036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestPairwiseCipher, [](const SupplicantStatus& status) { 261036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 262036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 263036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getPairwiseCipher( 264036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, uint32_t pairwise_cipher) { 265036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 266036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(pairwise_cipher, kTestPairwiseCipher); 267036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 268036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 269036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 270036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 271036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetPskPassphrase 272036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 273036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetPskPassphrase) { 274036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setPskPassphrase( 275aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang kTestPskPassphrase, [](const SupplicantStatus& status) { 276036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 277036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 278036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getPskPassphrase( 279036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, const hidl_string& psk) { 280036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 281aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(kTestPskPassphrase, std::string(psk.c_str())); 282036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 283036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 284036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 285036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 286aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang * SetGetPsk 287aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang */ 288aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan WangTEST_F(SupplicantStaNetworkHidlTest, SetGetPsk) { 289aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, 290aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, setPsk, kTestPsk).code); 291aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang const auto& status_and_psk = HIDL_INVOKE(sta_network_, getPsk); 292aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, status_and_psk.first.code); 293aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang hidl_array<uint8_t, 32> expected_psk(kTestPsk); 294aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(expected_psk, status_and_psk.second); 295aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang} 296aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang 297aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang/* 298036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetWepKeys 299036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 300036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetWepTxKeyIdx) { 301036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setWepTxKeyIdx( 302036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestWepTxKeyIdx, [](const SupplicantStatus& status) { 303036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 304036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 305036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getWepTxKeyIdx( 306036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, uint32_t key_idx) { 307036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 308036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(kTestWepTxKeyIdx, key_idx); 309036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 310036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 311036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 312036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 313036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetWepKeys 314036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 315036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetWepKeys) { 316036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius for (uint32_t i = 0; 317036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius i < static_cast<uint32_t>( 318036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::ParamSizeLimits::WEP_KEYS_MAX_NUM); 319036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius i++) { 320036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius std::vector<uint8_t> set_wep_key(std::begin(kTestWepKey), 321036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius std::end(kTestWepKey)); 322036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setWepKey( 323036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius i, set_wep_key, [](const SupplicantStatus& status) { 324036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 325036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 326036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getWepKey(i, [&](const SupplicantStatus& status, 327036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const hidl_vec<uint8_t>& get_wep_key) { 328036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 329036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(set_wep_key, std::vector<uint8_t>(get_wep_key)); 330036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 331036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius } 332036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 333036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 334036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 335036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetScanSsid 336036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 337036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetScanSsid) { 338036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setScanSsid( 339036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius true, [](const SupplicantStatus& status) { 340036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 341036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 342036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getScanSsid( 343036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, bool scan_ssid) { 344036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 345036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(true, scan_ssid); 346036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 347036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 348036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 349036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 350036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetRequirePmf 351036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 352036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetRequirePmf) { 353036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setRequirePmf( 354036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius true, [](const SupplicantStatus& status) { 355036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 356036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 357036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getRequirePmf( 358036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, bool require_pmf) { 359036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 360036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(true, require_pmf); 361036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 362036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 363036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 364036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 365036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetIdStr 366036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 367036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetIdStr) { 368036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setIdStr( 369036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestIdStr, [](const SupplicantStatus& status) { 370036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 371036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 372036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getIdStr( 373036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, const hidl_string& id_str) { 374036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 375036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(kTestIdStr, std::string(id_str.c_str())); 376036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 377036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 378036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 379036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 380036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 381036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapMethod 382036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 383036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapMethod) { 384036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::EapMethod set_eap_method = 385036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::EapMethod::PEAP; 386036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapMethod( 387036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius set_eap_method, [](const SupplicantStatus& status) { 388036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 389036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 390036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapMethod( 391036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, 392036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::EapMethod eap_method) { 393036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 394036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(set_eap_method, eap_method); 395036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 396036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 397036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 398036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 399036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapPhase2Method 400036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 401036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapPhase2Method) { 402271f16e6f71bede2b426fb9fe1810f81e87f49b6Ningyuan Wang ISupplicantStaNetwork::EapMethod set_eap_method = 403271f16e6f71bede2b426fb9fe1810f81e87f49b6Ningyuan Wang ISupplicantStaNetwork::EapMethod::PEAP; 404271f16e6f71bede2b426fb9fe1810f81e87f49b6Ningyuan Wang sta_network_->setEapMethod( 405271f16e6f71bede2b426fb9fe1810f81e87f49b6Ningyuan Wang set_eap_method, [](const SupplicantStatus& status) { 406271f16e6f71bede2b426fb9fe1810f81e87f49b6Ningyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 407271f16e6f71bede2b426fb9fe1810f81e87f49b6Ningyuan Wang }); 408036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::EapPhase2Method set_eap_phase2_method = 409036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::EapPhase2Method::NONE; 410036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapPhase2Method( 411036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius set_eap_phase2_method, [](const SupplicantStatus& status) { 412036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 413036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 414036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapPhase2Method( 415036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, 416036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::EapPhase2Method eap_phase2_method) { 417036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 418036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(set_eap_phase2_method, eap_phase2_method); 419036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 420036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 421036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 422036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 423036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapIdentity 424036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 425036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapIdentity) { 426036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius std::vector<uint8_t> set_identity(kTestIdentity, kTestIdentity + sizeof(kTestIdentity)); 427036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapIdentity( 428036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius set_identity, [](const SupplicantStatus& status) { 429036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 430036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 431036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapIdentity( 432036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, const std::vector<uint8_t>& identity) { 433036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 434036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(set_identity, identity); 435036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 436036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 437036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 438036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 439036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapAnonymousIdentity 440036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 441036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapAnonymousIdentity) { 442036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius std::vector<uint8_t> set_identity(kTestIdentity, kTestIdentity + sizeof(kTestIdentity)); 443036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapAnonymousIdentity( 444036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius set_identity, [](const SupplicantStatus& status) { 445036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 446036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 447036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapAnonymousIdentity( 448036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [&](const SupplicantStatus& status, const std::vector<uint8_t>& identity) { 449036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 450036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(set_identity, identity); 451036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 452036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 453036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 454036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 455036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapPassword 456036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 457036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapPassword) { 458036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius std::vector<uint8_t> set_eap_passwd( 459036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestEapPasswdStr, kTestEapPasswdStr + strlen(kTestEapPasswdStr)); 460036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapPassword( 461036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius set_eap_passwd, [](const SupplicantStatus& status) { 462036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 463036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 464036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapPassword([&](const SupplicantStatus& status, 465036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const hidl_vec<uint8_t>& eap_passwd) { 466036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 467036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(set_eap_passwd, std::vector<uint8_t>(eap_passwd)); 468036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 469036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 470036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 471036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 472036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapCACert 473036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 474036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapCACert) { 475036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapCACert( 476036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestEapCert, [](const SupplicantStatus& status) { 477036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 478036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 479036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapCACert([&](const SupplicantStatus& status, 480036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const hidl_string& eap_cert) { 481036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 482036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(kTestEapCert, std::string(eap_cert.c_str())); 483036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 484036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 485036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 486036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 487036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapCAPath 488036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 489036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapCAPath) { 490036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapCAPath( 491036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestEapCert, [](const SupplicantStatus& status) { 492036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 493036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 494036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapCAPath([&](const SupplicantStatus& status, 495036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const hidl_string& eap_cert) { 496036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 497036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(kTestEapCert, std::string(eap_cert.c_str())); 498036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 499036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 500036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 501036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 502036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapClientCert 503036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 504036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapClientCert) { 505036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapClientCert( 506036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestEapCert, [](const SupplicantStatus& status) { 507036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 508036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 509036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapClientCert([&](const SupplicantStatus& status, 510036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const hidl_string& eap_cert) { 511036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 512036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(kTestEapCert, std::string(eap_cert.c_str())); 513036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 514036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 515036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 516036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 517036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapPrivateKeyId 518036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 519036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapPrivateKeyId) { 520036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapPrivateKeyId( 521036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestEapPrivateKeyId, [](const SupplicantStatus& status) { 522036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 523036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 524036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapPrivateKeyId([&](const SupplicantStatus& status, 525036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const hidl_string& key_id) { 526036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 527036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(kTestEapPrivateKeyId, std::string(key_id.c_str())); 528036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 529036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 530036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 531036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 532036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapAltSubjectMatch 533036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 534036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapAltSubjectMatch) { 535036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapAltSubjectMatch( 536036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestEapMatch, [](const SupplicantStatus& status) { 537036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 538036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 539036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapAltSubjectMatch([&](const SupplicantStatus& status, 540036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const hidl_string& match) { 541036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 542036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(kTestEapMatch, std::string(match.c_str())); 543036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 544036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 545036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 546036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 547aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang * SetGetEapSubjectMatch 548aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang */ 549aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan WangTEST_F(SupplicantStaNetworkHidlTest, SetGetEapSubjectMatch) { 550aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ( 551aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang SupplicantStatusCode::SUCCESS, 552aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, setEapSubjectMatch, kTestEapMatch).code); 553aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang const auto& status_and_subject_match = 554aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, getEapSubjectMatch); 555aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, 556aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang status_and_subject_match.first.code); 557aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(kTestEapMatch, 558aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang std::string(status_and_subject_match.second.c_str())); 559aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang} 560aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang 561aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang/* 562036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapDomainSuffixMatch 563036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 564036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapDomainSuffixMatch) { 565036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapDomainSuffixMatch( 566036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestEapMatch, [](const SupplicantStatus& status) { 567036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 568036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 569036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapDomainSuffixMatch([&](const SupplicantStatus& status, 570036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const hidl_string& match) { 571036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 572036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(kTestEapMatch, std::string(match.c_str())); 573036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 574036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 575036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 576036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 577036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapEngine 578036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 579036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapEngine) { 580036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapEngine( 581036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius true, [](const SupplicantStatus& status) { 582036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 583036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 584036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapEngine([&](const SupplicantStatus& status, 585036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius bool enable) { 586036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 587036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(true, enable); 588036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 589036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 590036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 591036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 592036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SetGetEapEngineID 593036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 594036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SetGetEapEngineID) { 595036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setEapEngineID( 596036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestEapEngineID, [](const SupplicantStatus& status) { 597036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 598036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 599036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->getEapEngineID([&](const SupplicantStatus& status, 600036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius const hidl_string& id) { 601036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 602036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(kTestEapEngineID, std::string(id.c_str())); 603036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 604036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 605036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 606036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 607036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * Enable 608036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 609036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, Enable) { 610036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius // wpa_supplicant doesn't perform any connection initiation 611036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius // unless atleast the Ssid and Ket mgmt params are set. 612036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setSsid(ssid_, [](const SupplicantStatus& status) { 613036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 614036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 615036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setKeyMgmt(kTestKeyMgmt, [](const SupplicantStatus& status) { 616036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 617036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 618036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 619036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->enable(false, [](const SupplicantStatus& status) { 620036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 621036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 622036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->enable(true, [](const SupplicantStatus& status) { 623036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 624036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 625036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 626036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius // Now remove the network and ensure that the calls fail. 627036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius removeNetwork(); 628036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->enable(true, [](const SupplicantStatus& status) { 629036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::FAILURE_NETWORK_INVALID, status.code); 630036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 631036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 632036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 633036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 634036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * Disable 635036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 636036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, Disable) { 637036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius // wpa_supplicant doesn't perform any connection initiation 638036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius // unless atleast the Ssid and Ket mgmt params are set. 639036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setSsid(ssid_, [](const SupplicantStatus& status) { 640036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 641036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 642036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setKeyMgmt(kTestKeyMgmt, [](const SupplicantStatus& status) { 643036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 644036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 645036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 646036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->disable([](const SupplicantStatus& status) { 647036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 648036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 649036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius // Now remove the network and ensure that the calls fail. 650036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius removeNetwork(); 651036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->disable([](const SupplicantStatus& status) { 652036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::FAILURE_NETWORK_INVALID, status.code); 653036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 654036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 655036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 656036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 657036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * Select. 658036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 659036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, Select) { 660036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius // wpa_supplicant doesn't perform any connection initiation 661036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius // unless atleast the Ssid and Ket mgmt params are set. 662036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setSsid(ssid_, [](const SupplicantStatus& status) { 663036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 664036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 665036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->setKeyMgmt(kTestKeyMgmt, [](const SupplicantStatus& status) { 666036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 667036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 668036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 669036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->select([](const SupplicantStatus& status) { 670036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 671036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 672036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius // Now remove the network and ensure that the calls fail. 673036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius removeNetwork(); 674036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->select([](const SupplicantStatus& status) { 675036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::FAILURE_NETWORK_INVALID, status.code); 676036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 677036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 678036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 679036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 680036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SendNetworkEapSimGsmAuthResponse 681036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 682036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SendNetworkEapSimGsmAuthResponse) { 683036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius std::vector<ISupplicantStaNetwork::NetworkResponseEapSimGsmAuthParams> 684036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius params; 685036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::NetworkResponseEapSimGsmAuthParams param; 686036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius memcpy(param.kc.data(), kTestKc, param.kc.size()); 687036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius memcpy(param.sres.data(), kTestSres, param.sres.size()); 688036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius params.push_back(param); 689036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->sendNetworkEapSimGsmAuthResponse( 690036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius params, [](const SupplicantStatus& status) { 691036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 692036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 693036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 694036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 695036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 696aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang * SendNetworkEapSimGsmAuthFailure 697aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang */ 698aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan WangTEST_F(SupplicantStaNetworkHidlTest, SendNetworkEapSimGsmAuthFailure) { 699aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, 700aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, sendNetworkEapSimGsmAuthFailure).code); 701aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang} 702aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang 703aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang/* 704036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SendNetworkEapSimUmtsAuthResponse 705036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 706036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SendNetworkEapSimUmtsAuthResponse) { 707036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius ISupplicantStaNetwork::NetworkResponseEapSimUmtsAuthParams params; 708036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius params.res = std::vector<uint8_t>(kTestRes, kTestRes + sizeof(kTestRes)); 709036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius memcpy(params.ik.data(), kTestIk, params.ik.size()); 710036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius memcpy(params.ck.data(), kTestCk, params.ck.size()); 711036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->sendNetworkEapSimUmtsAuthResponse( 712036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius params, [](const SupplicantStatus& status) { 713036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 714036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 715036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 716036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius 717036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius/* 718aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang * SendNetworkEapSimUmtsAuthFailure 719aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang */ 720aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan WangTEST_F(SupplicantStaNetworkHidlTest, SendNetworkEapSimUmtsAuthFailure) { 721aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, 722aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, sendNetworkEapSimUmtsAuthFailure).code); 723aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang} 724aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang 725aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang/* 726aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang * SendNetworkEapSimUmtsAutsResponse 727aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang */ 728aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan WangTEST_F(SupplicantStaNetworkHidlTest, SendNetworkEapSimUmtsAutsResponse) { 729aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, 730aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, sendNetworkEapSimUmtsAutsResponse, 731aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang kTestAutParam) 732aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang .code); 733aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang} 734aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang 735aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang/* 736036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius * SendNetworkEapIdentityResponse 737036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius */ 738036da68261170345c53c32ed8f59a30d42f1ceb8Roshan PiusTEST_F(SupplicantStaNetworkHidlTest, SendNetworkEapIdentityResponse) { 739036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius sta_network_->sendNetworkEapIdentityResponse( 740036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius std::vector<uint8_t>(kTestIdentity, 741036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius kTestIdentity + sizeof(kTestIdentity)), 742036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius [](const SupplicantStatus& status) { 743036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); 744036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius }); 745036da68261170345c53c32ed8f59a30d42f1ceb8Roshan Pius} 746aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang 747aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang/* 748aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang * SetUpdateIdentifier 749aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang */ 750aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan WangTEST_F(SupplicantStaNetworkHidlTest, SetUpdateIdentifier) { 751aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ( 752aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang SupplicantStatusCode::SUCCESS, 753aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, setUpdateIdentifier, kTestUpdateIdentifier) 754aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang .code); 755aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang} 756aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang 757aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang/* 758aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang * SetProactiveKeyCaching 759aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang */ 760aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan WangTEST_F(SupplicantStaNetworkHidlTest, SetProactiveKeyCaching) { 761aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, 762aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, setProactiveKeyCaching, true).code); 763aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, 764aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, setProactiveKeyCaching, false).code); 765aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang} 766aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang 767aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang/* 768aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang * GetWpsNfcConfigurationToken 769aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang */ 770aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan WangTEST_F(SupplicantStaNetworkHidlTest, GetWpsNfcConfigurationToken) { 771aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang ASSERT_EQ(SupplicantStatusCode::SUCCESS, 772aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, setSsid, ssid_).code); 773aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang ASSERT_EQ(SupplicantStatusCode::SUCCESS, 774aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, setKeyMgmt, kTestKeyMgmt).code); 775aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang ASSERT_EQ( 776aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang SupplicantStatusCode::SUCCESS, 777aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, setPskPassphrase, kTestPskPassphrase).code); 778aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang const auto& status_and_token = 779aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang HIDL_INVOKE(sta_network_, getWpsNfcConfigurationToken); 780aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_EQ(SupplicantStatusCode::SUCCESS, status_and_token.first.code); 781aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang EXPECT_FALSE(0 == status_and_token.second.size()); 782aa9b37d26b3579bd4602684e67e8559d15cb4bedNingyuan Wang} 783