From e0815c973a05dfe7194c551810a6969d3d5560f1 Mon Sep 17 00:00:00 2001 From: Hai Shalom Date: Tue, 20 Aug 2019 15:57:19 -0700 Subject: [Passpoint] Add support for OSEN Add framework support for OSEN, Single ESS OSU. Bug: 139435781 Test: atest OsuNetworkConnectionTest Change-Id: I7cdbae5b5535ba08382d7551534e7c1ed2e61f54 --- .../wifi/hotspot2/OsuNetworkConnectionTest.java | 44 +++++++++++++++++----- 1 file changed, 34 insertions(+), 10 deletions(-) (limited to 'tests') diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/OsuNetworkConnectionTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/OsuNetworkConnectionTest.java index d45bbd586..8f3daa243 100644 --- a/tests/wifitests/src/com/android/server/wifi/hotspot2/OsuNetworkConnectionTest.java +++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/OsuNetworkConnectionTest.java @@ -39,6 +39,7 @@ import android.net.NetworkRequest; import android.net.NetworkUtils; import android.net.RouteInfo; import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiEnterpriseConfig; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.net.wifi.WifiSsid; @@ -169,16 +170,6 @@ public class OsuNetworkConnectionTest extends WifiBaseTest { assertEquals(false, mNetworkConnection.connect(TEST_SSID, TEST_NAI, TEST_PROVIDER_NAME)); } - /** - * Verifies that connect() API returns false when OSU AP is a part of an OSEN - */ - @Test - public void verifyOSENUnsupported() { - mNetworkConnection.init(mHandler); - assertEquals(false, - mNetworkConnection.connect(TEST_SSID, TEST_NAI_OSEN, TEST_PROVIDER_NAME)); - } - /** * Verifies that connect() API returns false when WifiManager's addNetwork() * returns an invalid network ID @@ -328,4 +319,37 @@ public class OsuNetworkConnectionTest extends WifiBaseTest { assertFalse(networkRequestCaptor.getValue().hasCapability(NET_CAPABILITY_TRUSTED)); } + + /** + * Verifies that {@link WifiConfiguration} has been created properly for OSEN OSU network. + * It is supposed to create a network as ephemeral network with OSEN protocol and key management + * and suppress no internet access notification. + */ + @Test + public void verifyWifiConfigurationForOsenOsuNetwork() { + mNetworkConnection.init(mHandler); + + assertEquals(true, mNetworkConnection.connect(TEST_SSID, TEST_NAI_OSEN, + TEST_PROVIDER_NAME)); + + ArgumentCaptor wifiConfigurationCaptor = ArgumentCaptor.forClass( + WifiConfiguration.class); + verify(mWifiManager, times(1)).addNetwork(wifiConfigurationCaptor.capture()); + WifiConfiguration wifiConfiguration = wifiConfigurationCaptor.getValue(); + assertTrue(wifiConfiguration.isNoInternetAccessExpected()); + assertTrue(wifiConfiguration.isEphemeral()); + assertTrue(wifiConfiguration.osu); + assertTrue(wifiConfiguration.allowedProtocols.get(WifiConfiguration.Protocol.OSEN)); + assertTrue(wifiConfiguration.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.OSEN)); + assertEquals(wifiConfiguration.enterpriseConfig.getEapMethod(), + WifiEnterpriseConfig.Eap.UNAUTH_TLS); + assertEquals(wifiConfiguration.enterpriseConfig.getCaPath(), + WfaKeyStore.DEFAULT_WFA_CERT_DIR); + ArgumentCaptor networkRequestCaptor = ArgumentCaptor.forClass( + NetworkRequest.class); + verify(mConnectivityManager, times(1)).requestNetwork(networkRequestCaptor.capture(), + any(ConnectivityManager.NetworkCallback.class), any(Handler.class), anyInt()); + assertFalse(networkRequestCaptor.getValue().hasCapability(NET_CAPABILITY_TRUSTED)); + + } } -- cgit v1.2.3