summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorOscar Shu <xshu@google.com>2020-01-16 23:52:26 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-01-16 23:52:26 +0000
commit23f3ee642ad075ea8011d70ae7b7d037440a5e3e (patch)
tree549009e32fd6187ebf10c92cc8431603b3fe0ea3 /tests
parentd35a263d8523f0bb2d79056f480192d076fca2d3 (diff)
parent3d5eaa2465fa9de9341f3cddfae42702acb4be01 (diff)
Merge "Enable passpoint mac randomization control"
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java28
-rw-r--r--tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointConfigUserStoreDataTest.java1
-rw-r--r--tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java46
-rw-r--r--tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkNominateHelperTest.java4
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;