diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java | 22 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java | 18 |
2 files changed, 40 insertions, 0 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java index dad88f3c0..ce1c6b2ee 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java @@ -292,6 +292,28 @@ public class WifiConfigManagerTest { } /** + * Verify that a randomized MAC address is generated even if the KeyStore operation fails. + */ + @Test + public void testRandomizedMacIsGeneratedEvenIfKeyStoreFails() { + when(WifiConfigurationUtil.calculatePersistentMacForConfiguration( + any(), any())).thenReturn(null); + + // Try adding a network. + WifiConfiguration openNetwork = WifiConfigurationTestUtil.createOpenNetwork(); + List<WifiConfiguration> networks = new ArrayList<>(); + networks.add(openNetwork); + verifyAddNetworkToWifiConfigManager(openNetwork); + List<WifiConfiguration> retrievedNetworks = + mWifiConfigManager.getConfiguredNetworksWithPasswords(); + + // Verify that despite KeyStore returning null, we are still getting a valid MAC address. + assertEquals(1, retrievedNetworks.size()); + assertNotEquals(WifiInfo.DEFAULT_MAC_ADDRESS, + retrievedNetworks.get(0).getRandomizedMacAddress().toString()); + } + + /** * Verifies the addition of a single network using * {@link WifiConfigManager#addOrUpdateNetwork(WifiConfiguration, int)} */ diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java index 7173dae5b..6687390c1 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java @@ -17,6 +17,7 @@ package com.android.server.wifi; import static org.junit.Assert.*; +import static org.mockito.Mockito.*; import android.content.pm.UserInfo; import android.net.IpConfiguration; @@ -34,6 +35,7 @@ import androidx.test.filters.SmallTest; import org.junit.Test; +import java.security.ProviderException; import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.Arrays; @@ -991,6 +993,22 @@ public class WifiConfigurationUtilTest { } } + /** + * Verify the java.security.ProviderException is caught. + */ + @Test + public void testCalculatePersistentMacCatchesException() { + Mac hashFunction = mock(Mac.class); + when(hashFunction.doFinal(any())).thenThrow(new ProviderException("error occurred")); + try { + WifiConfiguration config = WifiConfigurationTestUtil.createOpenNetwork(); + assertNull(WifiConfigurationUtil.calculatePersistentMacForConfiguration(config, + hashFunction)); + } catch (Exception e) { + fail("Exception not caught."); + } + } + private static class EnterpriseConfig { public String eap; public String phase2; |