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 5db348fd7d..c2bc51cd0e 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java @@ -1474,6 +1474,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; 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(); + } } 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. *