diff options
author | Oscar Shu <xshu@google.com> | 2020-01-16 23:52:26 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-01-16 23:52:26 +0000 |
commit | 23f3ee642ad075ea8011d70ae7b7d037440a5e3e (patch) | |
tree | 549009e32fd6187ebf10c92cc8431603b3fe0ea3 /tests | |
parent | d35a263d8523f0bb2d79056f480192d076fca2d3 (diff) | |
parent | 3d5eaa2465fa9de9341f3cddfae42702acb4be01 (diff) |
Merge "Enable passpoint mac randomization control"
Diffstat (limited to 'tests')
4 files changed, 68 insertions, 11 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java index c5b9e9420..dfb07dce2 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java @@ -4757,6 +4757,34 @@ public class WifiServiceImplTest extends WifiBaseTest { } /** + * Test that setMacRandomizationSettingPasspointEnabled is protected by NETWORK_SETTINGS + * permission. + */ + @Test + public void testSetMacRandomizationSettingPasspointEnabledFailureNoNetworkSettingsPermission() + throws Exception { + doThrow(new SecurityException()).when(mContext) + .enforceCallingOrSelfPermission(eq(android.Manifest.permission.NETWORK_SETTINGS), + eq("WifiService")); + try { + mWifiServiceImpl.setMacRandomizationSettingPasspointEnabled("TEST_FQDN", true); + fail("Expected SecurityException"); + } catch (SecurityException e) { + // Test succeeded + } + } + + /** + * Test that setMacRandomizationSettingPasspointEnabled makes the appropriate calls. + */ + @Test + public void testSetMacRandomizationSettingPasspointEnabled() throws Exception { + mWifiServiceImpl.setMacRandomizationSettingPasspointEnabled("TEST_FQDN", true); + mLooper.dispatchAll(); + verify(mPasspointManager).enableMacRandomization("TEST_FQDN", true); + } + + /** * Test handle boot completed sequence. */ @Test diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointConfigUserStoreDataTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointConfigUserStoreDataTest.java index be7dcac86..3c2dba394 100644 --- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointConfigUserStoreDataTest.java +++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointConfigUserStoreDataTest.java @@ -260,6 +260,7 @@ public class PasspointConfigUserStoreDataTest extends WifiBaseTest { TEST_CLIENT_PRIVATE_KEY_AND_CERT_ALIAS, TEST_REMEDIATION_CA_CERTIFICATE_ALIAS, TEST_HAS_EVER_CONNECTED, TEST_SHARED); provider2.setAutoJoinEnabled(false); + provider2.setMacRandomizationEnabled(false); providerList.add(provider1); providerList.add(provider2); diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java index d8fcdede4..b47ebd1de 100644 --- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java @@ -631,14 +631,10 @@ public class PasspointManagerTest extends WifiBaseTest { List<PasspointProvider> providers = mUserDataSource.getProviders(); assertEquals(1, providers.size()); assertEquals(config, providers.get(0).getConfig()); - assertTrue(mManager.enableAutojoin(providers.get(0).getConfig().getHomeSp().getFqdn(), - false)); - verify(providers.get(0)).setAutoJoinEnabled(false); - assertTrue(mManager.enableAutojoin(providers.get(0).getConfig().getHomeSp().getFqdn(), - true)); - verify(providers.get(0)).setAutoJoinEnabled(true); - assertFalse(mManager.enableAutojoin(providers.get(0).getConfig().getHomeSp().getFqdn() - + "-XXXX", true)); + + // Verify calling |enableAutoJoin| and |enableMacRandomization| + verifyEnableAutojoin(providers.get(0)); + verifyEnableMacRandomization(providers.get(0)); // Provider index start with 0, should be 1 after adding a provider. assertEquals(1, mSharedDataSource.getProviderIndex()); @@ -648,7 +644,11 @@ public class PasspointManagerTest extends WifiBaseTest { verify(provider).uninstallCertsAndKeys(); verify(mWifiConfigManager).removePasspointConfiguredNetwork( provider.getWifiConfig().getKey()); - verify(mWifiConfigManager, times(3)).saveToStore(true); + /** + * 1 from |removeProvider| + 2 from |setAutoJoinEnabled| + 2 from + * |enableMacRandomization| = 5 calls to |saveToStore| + */ + verify(mWifiConfigManager, times(5)).saveToStore(true); verify(mWifiMetrics).incrementNumPasspointProviderUninstallation(); verify(mWifiMetrics).incrementNumPasspointProviderUninstallSuccess(); verify(mAppOpsManager).stopWatchingMode(any(AppOpsManager.OnOpChangedListener.class)); @@ -661,6 +661,34 @@ public class PasspointManagerTest extends WifiBaseTest { } /** + * Verify enable/disable autojoin on a provider. + * @param provider a mock provider that is already added into the PasspointManager + */ + private void verifyEnableAutojoin(PasspointProvider provider) { + assertTrue(mManager.enableAutojoin(provider.getConfig().getHomeSp().getFqdn(), false)); + verify(provider).setAutoJoinEnabled(false); + assertTrue(mManager.enableAutojoin(provider.getConfig().getHomeSp().getFqdn(), true)); + verify(provider).setAutoJoinEnabled(true); + assertFalse(mManager.enableAutojoin(provider.getConfig().getHomeSp().getFqdn() + + "-XXXX", true)); + } + + /** + * Verify enable/disable mac randomization on a provider. + * @param provider a mock provider that is already added into the PasspointManager + */ + private void verifyEnableMacRandomization(PasspointProvider provider) { + assertTrue(mManager.enableMacRandomization(provider.getConfig().getHomeSp().getFqdn(), + false)); + verify(provider).setMacRandomizationEnabled(false); + assertTrue(mManager.enableMacRandomization(provider.getConfig().getHomeSp().getFqdn(), + true)); + verify(provider).setMacRandomizationEnabled(true); + assertFalse(mManager.enableMacRandomization(provider.getConfig().getHomeSp().getFqdn() + + "-XXXX", false)); + } + + /** * Verify that adding a user saved provider with a valid configuration and SIM credential will * succeed. * diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkNominateHelperTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkNominateHelperTest.java index 4b2fde90a..057d90044 100644 --- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkNominateHelperTest.java +++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkNominateHelperTest.java @@ -80,8 +80,8 @@ public class PasspointNetworkNominateHelperTest { private static final String TEST_FQDN2 = "test2.com"; private static final int TEST_UID = 5555; private static final String TEST_PACKAGE = "test.package.com"; - private static final WifiConfiguration TEST_CONFIG1 = generateWifiConfig(TEST_FQDN1);; - private static final WifiConfiguration TEST_CONFIG2 = generateWifiConfig(TEST_FQDN2);; + private static final WifiConfiguration TEST_CONFIG1 = generateWifiConfig(TEST_FQDN1); + private static final WifiConfiguration TEST_CONFIG2 = generateWifiConfig(TEST_FQDN2); private static PasspointProvider sTestProvider1; private static PasspointProvider sTestProvider2; |