From d40827d1bef331fada15359c105501ca65133d9d Mon Sep 17 00:00:00 2001 From: Hai Shalom Date: Mon, 16 Mar 2020 07:35:50 -0700 Subject: [PATCH] [CTS] Add test for WifiManager#addOrUpdatePasspointConfiguration Bug: 151613705 Test: atest WifiManagerTest Change-Id: I5f2537c501b065006d3a2f56cf671382e20cd737 --- .../android/net/wifi/cts/WifiManagerTest.java | 44 +++++++++++++++++++ 1 file changed, 44 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 2e3f18811b..5db348fd7d 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java @@ -49,6 +49,8 @@ import android.net.wifi.WifiManager.WifiLock; import android.net.wifi.WifiNetworkConnectionStatistics; import android.net.wifi.hotspot2.ConfigParser; import android.net.wifi.hotspot2.PasspointConfiguration; +import android.net.wifi.hotspot2.pps.Credential; +import android.net.wifi.hotspot2.pps.HomeSp; import android.os.Process; import android.os.SystemClock; import android.os.UserHandle; @@ -1940,4 +1942,46 @@ public class WifiManagerTest extends AndroidTestCase { assertTrue(is11axSupportedEnabled); } } + + private static PasspointConfiguration createPasspointConfiguration() { + PasspointConfiguration config = new PasspointConfiguration(); + HomeSp homeSp = new HomeSp(); + homeSp.setFqdn("test.com"); + homeSp.setFriendlyName("friendly name"); + homeSp.setRoamingConsortiumOis(new long[]{0x55, 0x66}); + config.setHomeSp(homeSp); + Credential.SimCredential simCred = new Credential.SimCredential(); + simCred.setImsi("123456*"); + simCred.setEapType(23 /* EAP_AKA */); + Credential cred = new Credential(); + cred.setRealm("realm"); + cred.setSimCredential(simCred); + config.setCredential(cred); + + return config; + } + + /** + * Tests {@link WifiManager#addOrUpdatePasspointConfiguration(PasspointConfiguration)} + * adds a Passpoint configuration correctly by getting it once it is added, and comparing it + * to the local copy of the configuration. + */ + public void testAddOrUpdatePasspointConfiguration() throws Exception { + if (!WifiFeature.isWifiSupported(getContext())) { + // skip the test if WiFi is not supported + return; + } + + // Create and install a Passpoint configuration + PasspointConfiguration passpointConfiguration = createPasspointConfiguration(); + mWifiManager.addOrUpdatePasspointConfiguration(passpointConfiguration); + + // Compare configurations + List configurations = mWifiManager.getPasspointConfigurations(); + assertNotNull(configurations); + assertEquals(passpointConfiguration, configurations.get(0)); + + // Clean up + mWifiManager.removePasspointConfiguration(passpointConfiguration.getHomeSp().getFqdn()); + } }