From fbe50c723af71beeebefcf4bcc79ad5d554c73db Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Mon, 16 Mar 2020 09:59:47 -0700 Subject: [PATCH 1/3] WifiNetworkSpecifierTest: Add tests for enterprise builder methods Bug: 150236894 Test: atest android.net.wifi.cts Change-Id: Ie902dfa2c0fb83505c0b570b77462fcdf4c4ecaf --- .../wifi/cts/WifiNetworkSpecifierTest.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSpecifierTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSpecifierTest.java index 96cf45ff1f..2065bb025c 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSpecifierTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSpecifierTest.java @@ -31,6 +31,7 @@ import android.net.NetworkCapabilities; import android.net.NetworkRequest; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiEnterpriseConfig; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.net.wifi.WifiManager.NetworkRequestMatchCallback; @@ -506,4 +507,44 @@ public class WifiNetworkSpecifierTest extends AndroidTestCase { .build(); testUserRejectionWithSpecifier(specifier); } + + /** + * Tests the builder for WPA2 enterprise networks. + * Note: Can't do end to end tests for such networks in CTS environment. + */ + public void testBuilderForWpa2Enterprise() { + if (!WifiFeature.isWifiSupported(getContext())) { + // skip the test if WiFi is not supported + return; + } + WifiNetworkSpecifier specifier1 = new WifiNetworkSpecifier.Builder() + .setSsid(WifiInfo.sanitizeSsid(mTestNetwork.SSID)) + .setWpa2EnterpriseConfig(new WifiEnterpriseConfig()) + .build(); + WifiNetworkSpecifier specifier2 = new WifiNetworkSpecifier.Builder() + .setSsid(WifiInfo.sanitizeSsid(mTestNetwork.SSID)) + .setWpa2EnterpriseConfig(new WifiEnterpriseConfig()) + .build(); + assertThat(specifier1.satisfiedBy(specifier2)).isTrue(); + } + + /** + * Tests the builder for WPA3 enterprise networks. + * Note: Can't do end to end tests for such networks in CTS environment. + */ + public void testBuilderForWpa3Enterprise() { + if (!WifiFeature.isWifiSupported(getContext())) { + // skip the test if WiFi is not supported + return; + } + WifiNetworkSpecifier specifier1 = new WifiNetworkSpecifier.Builder() + .setSsid(WifiInfo.sanitizeSsid(mTestNetwork.SSID)) + .setWpa3EnterpriseConfig(new WifiEnterpriseConfig()) + .build(); + WifiNetworkSpecifier specifier2 = new WifiNetworkSpecifier.Builder() + .setSsid(WifiInfo.sanitizeSsid(mTestNetwork.SSID)) + .setWpa3EnterpriseConfig(new WifiEnterpriseConfig()) + .build(); + assertThat(specifier1.satisfiedBy(specifier2)).isTrue(); + } } From 96f9efcb759894a454120436ecdcd7645bce10a4 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Mon, 16 Mar 2020 10:05:54 -0700 Subject: [PATCH 2/3] WifiNetworkSuggestionTest: Add test for WAPI builder method Bug: 150236894 Test: atest android.net.wifi.cts Change-Id: I294f309ec972c24dfe83d9c40fd33fb591398872 --- .../wifi/cts/WifiNetworkSuggestionTest.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSuggestionTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSuggestionTest.java index 994b6c907a..e73abb8b54 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSuggestionTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSuggestionTest.java @@ -17,6 +17,7 @@ package android.net.wifi.cts; import static android.net.wifi.WifiEnterpriseConfig.Eap.AKA; +import static android.net.wifi.WifiEnterpriseConfig.Eap.WAPI_CERT; import android.net.MacAddress; import android.net.wifi.WifiEnterpriseConfig; @@ -198,6 +199,28 @@ public class WifiNetworkSuggestionTest extends AndroidTestCase { assertNull(suggestion.getPasspointConfig()); } + /** + * Tests {@link android.net.wifi.WifiNetworkSuggestion.Builder} class. + */ + public void testBuilderWithWapiEnterprise() throws Exception { + if (!WifiFeature.isWifiSupported(getContext())) { + // skip the test if WiFi is not supported + return; + } + WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig(); + enterpriseConfig.setEapMethod(WAPI_CERT); + WifiNetworkSuggestion suggestion = + createBuilderWithCommonParams() + .setWapiEnterpriseConfig(enterpriseConfig) + .build(); + validateCommonParams(suggestion); + assertNull(suggestion.getPassphrase()); + assertNotNull(suggestion.getEnterpriseConfig()); + assertEquals(enterpriseConfig.getEapMethod(), + suggestion.getEnterpriseConfig().getEapMethod()); + assertNull(suggestion.getPasspointConfig()); + } + /** * Helper function for creating a {@link PasspointConfiguration} for testing. * From 90d49fbc579f2f769551d91bbae99a540d57a6c6 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Mon, 16 Mar 2020 11:08:14 -0700 Subject: [PATCH 3/3] WifiManagerTest: Add test for isTdls & isStaApConcurrency supported Bug: 150236894 Test: atest android.net.wifi.cts Change-Id: Id532a189b0d3e6848408e7a798acda13669ffb52 --- .../android/net/wifi/cts/WifiManagerTest.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java index 46d4e7f371..2368d1be0a 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java @@ -1472,6 +1472,45 @@ public class WifiManagerTest extends AndroidTestCase { mWifiManager.isPreferredNetworkOffloadSupported(); } + /** + * Tests {@link WifiManager#isTdlsSupported()} does not crash. + */ + public void testIsTdlsSupported() throws Exception { + if (!WifiFeature.isWifiSupported(getContext())) { + // skip the test if WiFi is not supported + return; + } + mWifiManager.isTdlsSupported(); + } + + /** + * Tests {@link WifiManager#isStaApConcurrencySupported(). + */ + public void testIsStaApConcurrencySupported() throws Exception { + if (!WifiFeature.isWifiSupported(getContext())) { + // skip the test if WiFi is not supported + return; + } + // check that softap mode is supported by the device + if (!mWifiManager.isPortableHotspotSupported()) { + return; + } + assertTrue(mWifiManager.isWifiEnabled()); + + boolean isStaApConcurrencySupported = mWifiManager.isStaApConcurrencySupported(); + // start local only hotspot. + TestLocalOnlyHotspotCallback callback = startLocalOnlyHotspot(); + if (isStaApConcurrencySupported) { + assertTrue(mWifiManager.isWifiEnabled()); + } else { + // no concurrency, wifi should be disabled. + assertFalse(mWifiManager.isWifiEnabled()); + } + stopLocalOnlyHotspot(callback, true); + + assertTrue(mWifiManager.isWifiEnabled()); + } + private static class TestTrafficStateCallback implements WifiManager.TrafficStateCallback { private final Object mLock; public boolean onStateChangedCalled = false;