summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-02-19 22:31:44 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-02-19 22:31:44 +0000
commite87ba414a90decb5d34e23f234afdc820ded8042 (patch)
tree86b382d676f334d528f047d4996ff7f0f10bf4f5 /tests
parent4c1a0dd86a871d12e1fb5294b3bc002b13b10358 (diff)
parent3ec3e900e8f0eaf7c816672dac9e59c14b208cd1 (diff)
Merge "[Passpoint] Fix provider removal for factory reset and multiple providers with same FQDN"
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java4
-rw-r--r--tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java133
2 files changed, 95 insertions, 42 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
index 35f377b19..edd1a5ee8 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
@@ -4019,8 +4019,8 @@ public class WifiServiceImplTest extends WifiBaseTest {
verify(mWifiConfigManager).removeNetwork(
network.networkId, Binder.getCallingUid(), TEST_PACKAGE_NAME);
- verify(mPasspointManager).removeProvider(anyInt(), anyBoolean(), isNull(),
- eq(config.getUniqueId()));
+ verify(mPasspointManager).removeProvider(anyInt(), anyBoolean(), eq(config.getUniqueId()),
+ isNull());
verify(mWifiConfigManager).clearDeletedEphemeralNetworks();
verify(mClientModeImpl).clearNetworkRequestUserApprovedAccessPoints();
verify(mWifiNetworkSuggestionsManager).clear();
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 ea1ef1782..98dbcb97a 100644
--- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java
@@ -141,6 +141,8 @@ public class PasspointManagerTest extends WifiBaseTest {
private static final String TEST_FRIENDLY_NAME = "friendly name";
private static final String TEST_FRIENDLY_NAME2 = "second friendly name";
private static final String TEST_REALM = "realm.test.com";
+ private static final String TEST_REALM2 = "realm.test2.com";
+ private static final String TEST_REALM3 = "realm.test3.com";
private static final String TEST_IMSI = "123456*";
private static final String FULL_IMSI = "123456789123456";
private static final int TEST_CARRIER_ID = 10;
@@ -316,6 +318,17 @@ public class PasspointManagerTest extends WifiBaseTest {
*/
private PasspointConfiguration createTestConfigWithUserCredential(String fqdn,
String friendlyName) {
+ return createTestConfigWithUserCredentialAndRealm(fqdn, friendlyName, TEST_REALM);
+ }
+
+ /**
+ * Helper function for creating a test configuration with user credential
+ * and a unique realm.
+ *
+ * @return {@link PasspointConfiguration}
+ */
+ private PasspointConfiguration createTestConfigWithUserCredentialAndRealm(String fqdn,
+ String friendlyName, String realm) {
PasspointConfiguration config = new PasspointConfiguration();
HomeSp homeSp = new HomeSp();
homeSp.setFqdn(fqdn);
@@ -327,7 +340,7 @@ public class PasspointManagerTest extends WifiBaseTest {
friendlyNames.put("jp", friendlyName + 2);
config.setServiceFriendlyNames(friendlyNames);
Credential credential = new Credential();
- credential.setRealm(TEST_REALM);
+ credential.setRealm(realm != null ? realm : TEST_REALM);
credential.setCaCertificate(FakeKeys.CA_CERT0);
Credential.UserCredential userCredential = new Credential.UserCredential();
userCredential.setUsername("username");
@@ -362,12 +375,12 @@ public class PasspointManagerTest extends WifiBaseTest {
}
private PasspointProvider addTestProvider(String fqdn, String friendlyName,
- String packageName, boolean isSuggestion) {
+ String packageName, boolean isSuggestion, String realm) {
WifiConfiguration wifiConfig = WifiConfigurationTestUtil.generateWifiConfig(-1, TEST_UID,
"\"PasspointTestSSID\"", true, true,
fqdn, friendlyName, SECURITY_EAP);
- return addTestProvider(fqdn, friendlyName, packageName, wifiConfig, isSuggestion);
+ return addTestProvider(fqdn, friendlyName, packageName, wifiConfig, isSuggestion, realm);
}
/**
@@ -377,8 +390,9 @@ public class PasspointManagerTest extends WifiBaseTest {
* @return {@link PasspointProvider}
*/
private PasspointProvider addTestProvider(String fqdn, String friendlyName,
- String packageName, WifiConfiguration wifiConfig, boolean isSuggestion) {
- PasspointConfiguration config = createTestConfigWithUserCredential(fqdn, friendlyName);
+ String packageName, WifiConfiguration wifiConfig, boolean isSuggestion, String realm) {
+ PasspointConfiguration config =
+ createTestConfigWithUserCredentialAndRealm(fqdn, friendlyName, realm);
wifiConfig.setPasspointUniqueId(config.getUniqueId());
PasspointProvider provider = createMockProvider(config, wifiConfig, isSuggestion);
when(mObjectFactory.makePasspointProvider(eq(config), eq(mWifiKeyStore),
@@ -999,7 +1013,7 @@ public class PasspointManagerTest extends WifiBaseTest {
com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession().mockStatic(
InformationElementUtil.class).startMocking();
try {
- addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
when(mAnqpCache.getEntry(TEST_ANQP_KEY)).thenReturn(null);
InformationElementUtil.Vsa vsa = new InformationElementUtil.Vsa();
@@ -1028,7 +1042,7 @@ public class PasspointManagerTest extends WifiBaseTest {
@Test
public void matchProviderAsHomeProvider() throws Exception {
PasspointProvider provider =
- addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
ANQPData entry = new ANQPData(mClock, null);
when(mAnqpCache.getEntry(TEST_ANQP_KEY)).thenReturn(entry);
@@ -1049,7 +1063,7 @@ public class PasspointManagerTest extends WifiBaseTest {
@Test
public void matchProviderAsRoamingProvider() throws Exception {
PasspointProvider provider =
- addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
ANQPData entry = new ANQPData(mClock, null);
when(mAnqpCache.getEntry(TEST_ANQP_KEY)).thenReturn(entry);
@@ -1070,9 +1084,9 @@ public class PasspointManagerTest extends WifiBaseTest {
public void matchScanResultWithMultipleProviderAsHomeAndRoaming() {
// Only add roaming providers.
PasspointProvider roamingProvider1 =
- addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
PasspointProvider roamingProvider2 =
- addTestProvider(TEST_FQDN2, TEST_FRIENDLY_NAME2, TEST_PACKAGE1, false);
+ addTestProvider(TEST_FQDN2, TEST_FRIENDLY_NAME2, TEST_PACKAGE1, false, null);
ANQPData entry = new ANQPData(mClock, null);
when(mAnqpCache.getEntry(TEST_ANQP_KEY)).thenReturn(entry);
when(roamingProvider1.match(anyMap(), any(RoamingConsortium.class)))
@@ -1088,9 +1102,9 @@ public class PasspointManagerTest extends WifiBaseTest {
}
// Add home providers.
PasspointProvider homeProvider1 =
- addTestProvider(TEST_FQDN + "home", TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
- PasspointProvider homeProvider2 =
- addTestProvider(TEST_FQDN2 + "home", TEST_FRIENDLY_NAME2, TEST_PACKAGE1, false);
+ addTestProvider(TEST_FQDN + "home", TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
+ PasspointProvider homeProvider2 = addTestProvider(TEST_FQDN2 + "home", TEST_FRIENDLY_NAME2,
+ TEST_PACKAGE1, false, null);
when(homeProvider1.match(anyMap(), any(RoamingConsortium.class)))
.thenReturn(PasspointMatch.HomeProvider);
when(homeProvider2.match(anyMap(), any(RoamingConsortium.class)))
@@ -1111,7 +1125,7 @@ public class PasspointManagerTest extends WifiBaseTest {
@Test
public void matchProviderWithNoMatch() throws Exception {
PasspointProvider provider =
- addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
ANQPData entry = new ANQPData(mClock, null);
when(mAnqpCache.getEntry(TEST_ANQP_KEY)).thenReturn(entry);
@@ -1170,7 +1184,7 @@ public class PasspointManagerTest extends WifiBaseTest {
InformationElementUtil.class).startMocking();
try {
PasspointProvider provider = addTestProvider(TEST_FQDN + 0, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
when(provider.tryUpdateCarrierId()).thenReturn(true);
reset(mWifiConfigManager);
@@ -1204,15 +1218,15 @@ public class PasspointManagerTest extends WifiBaseTest {
InformationElementUtil.class).startMocking();
try {
PasspointProvider providerHome = addTestProvider(TEST_FQDN + 0, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
providerHome.getWifiConfig().isHomeProviderNetwork = true;
PasspointProvider providerRoaming = addTestProvider(TEST_FQDN + 1, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
WifiConfiguration wifiConfiguration = WifiConfigurationTestUtil.generateWifiConfig(-1,
TEST_UID, "\"PasspointTestSSID\"", true, true,
TEST_FQDN + 2, TEST_FRIENDLY_NAME, SECURITY_EAP);
PasspointProvider providerNone = addTestProvider(TEST_FQDN + 2, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, wifiConfiguration, false);
+ TEST_PACKAGE, wifiConfiguration, false, null);
ANQPData entry = new ANQPData(mClock, null);
InformationElementUtil.Vsa vsa = new InformationElementUtil.Vsa();
vsa.anqpDomainID = TEST_ANQP_DOMAIN_ID2;
@@ -1255,18 +1269,18 @@ public class PasspointManagerTest extends WifiBaseTest {
@Test
public void getWifiConfigsForPasspointProfiles() {
PasspointProvider provider1 = addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
PasspointProvider provider2 = addTestProvider(TEST_FQDN + 1, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
PasspointProvider provider3 = addTestProvider(TEST_FQDN + 2, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
assertEquals(3, mManager.getWifiConfigsForPasspointProfiles(
Arrays.asList(provider1.getConfig().getUniqueId(),
provider2.getConfig().getUniqueId(), provider3.getConfig().getUniqueId(),
TEST_FQDN + "_353ab8c93", TEST_FQDN + "_83765319aca")).size());
PasspointProvider provider4 = addTestProvider(TEST_FQDN + 3, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, true);
+ TEST_PACKAGE, true, null);
when(mWifiNetworkSuggestionsManager
.isPasspointSuggestionSharedWithUser(provider4.getWifiConfig())).thenReturn(false);
assertEquals(3, mManager.getWifiConfigsForPasspointProfiles(
@@ -1274,7 +1288,7 @@ public class PasspointManagerTest extends WifiBaseTest {
provider2.getConfig().getUniqueId(), provider3.getConfig().getUniqueId(),
provider4.getConfig().getUniqueId(), TEST_FQDN + "_83765319aca")).size());
PasspointProvider provider5 = addTestProvider(TEST_FQDN + 4, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, true);
+ TEST_PACKAGE, true, null);
when(mWifiNetworkSuggestionsManager
.isPasspointSuggestionSharedWithUser(provider5.getWifiConfig())).thenReturn(true);
assertEquals(4, mManager.getWifiConfigsForPasspointProfiles(
@@ -1478,9 +1492,9 @@ public class PasspointManagerTest extends WifiBaseTest {
@Test
public void getMatchingPasspointConfigsForOsuProvidersWithMatch() {
PasspointProvider provider1 =
- addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
PasspointProvider provider2 =
- addTestProvider(TEST_FQDN2, TEST_FRIENDLY_NAME2, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN2, TEST_FRIENDLY_NAME2, TEST_PACKAGE, false, null);
List<OsuProvider> osuProviders = new ArrayList<>();
Map<String, String> friendlyNames = new HashMap<>();
@@ -1507,8 +1521,8 @@ public class PasspointManagerTest extends WifiBaseTest {
*/
@Test
public void getMatchingPasspointConfigsForOsuProvidersWitNoMatch() {
- addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
- addTestProvider(TEST_FQDN2, TEST_FRIENDLY_NAME2, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
+ addTestProvider(TEST_FQDN2, TEST_FRIENDLY_NAME2, TEST_PACKAGE, false, null);
List<OsuProvider> osuProviders = new ArrayList<>();
@@ -1809,7 +1823,7 @@ public class PasspointManagerTest extends WifiBaseTest {
@Test
public void providerNetworkConnectedFirstTime() throws Exception {
PasspointProvider provider =
- addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
when(provider.getHasEverConnected()).thenReturn(false);
mManager.onPasspointNetworkConnected(provider.getConfig().getUniqueId());
verify(provider).setHasEverConnected(eq(true));
@@ -1825,7 +1839,7 @@ public class PasspointManagerTest extends WifiBaseTest {
@Test
public void providerNetworkConnectedNotFirstTime() throws Exception {
PasspointProvider provider =
- addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
when(provider.getHasEverConnected()).thenReturn(true);
mManager.onPasspointNetworkConnected(TEST_FQDN);
verify(provider, never()).setHasEverConnected(anyBoolean());
@@ -1840,7 +1854,7 @@ public class PasspointManagerTest extends WifiBaseTest {
@Test
public void updateMetrics() {
PasspointProvider provider =
- addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
ArgumentCaptor<Map<String, PasspointProvider>> argCaptor = ArgumentCaptor.forClass(
Map.class);
// Provider have not provided a successful network connection.
@@ -1888,7 +1902,7 @@ public class PasspointManagerTest extends WifiBaseTest {
currentConfiguration.FQDN = TEST_FQDN;
when(mClientModeImpl.getCurrentWifiConfiguration()).thenReturn(currentConfiguration);
PasspointProvider passpointProvider =
- addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false);
+ addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME, TEST_PACKAGE, false, null);
currentConfiguration.setPasspointUniqueId(passpointProvider.getConfig().getUniqueId());
verify(mAppOpsManager).startWatchingMode(eq(OPSTR_CHANGE_WIFI_STATE), eq(TEST_PACKAGE),
mAppOpChangedListenerCaptor.capture());
@@ -2211,17 +2225,17 @@ public class PasspointManagerTest extends WifiBaseTest {
InformationElementUtil.class).startMocking();
try {
PasspointProvider providerHome = addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
providerHome.getConfig().setSubscriptionExpirationTimeInMillis(
System.currentTimeMillis() + 100000);
providerHome.getWifiConfig().isHomeProviderNetwork = true;
PasspointProvider providerRoaming = addTestProvider(TEST_FQDN2, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
WifiConfiguration wifiConfiguration = WifiConfigurationTestUtil.generateWifiConfig(-1,
TEST_UID, "\"PasspointTestSSID\"", true, true,
TEST_FQDN + 2, TEST_FRIENDLY_NAME, SECURITY_EAP);
PasspointProvider providerNone = addTestProvider(TEST_FQDN + 2, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, wifiConfiguration, false);
+ TEST_PACKAGE, wifiConfiguration, false, null);
ANQPData entry = new ANQPData(mClock, null);
InformationElementUtil.Vsa vsa = new InformationElementUtil.Vsa();
vsa.anqpDomainID = TEST_ANQP_DOMAIN_ID;
@@ -2261,17 +2275,17 @@ public class PasspointManagerTest extends WifiBaseTest {
InformationElementUtil.class).startMocking();
try {
PasspointProvider providerHome = addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
providerHome.getConfig().setSubscriptionExpirationTimeInMillis(
System.currentTimeMillis() - 10000);
providerHome.getWifiConfig().isHomeProviderNetwork = true;
PasspointProvider providerRoaming = addTestProvider(TEST_FQDN2, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
WifiConfiguration wifiConfiguration = WifiConfigurationTestUtil.generateWifiConfig(-1,
TEST_UID, "\"PasspointTestSSID\"", true, true,
TEST_FQDN + 2, TEST_FRIENDLY_NAME, SECURITY_EAP);
PasspointProvider providerNone = addTestProvider(TEST_FQDN + 2, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, wifiConfiguration, false);
+ TEST_PACKAGE, wifiConfiguration, false, null);
ANQPData entry = new ANQPData(mClock, null);
InformationElementUtil.Vsa vsa = new InformationElementUtil.Vsa();
vsa.anqpDomainID = TEST_ANQP_DOMAIN_ID;
@@ -2311,19 +2325,19 @@ public class PasspointManagerTest extends WifiBaseTest {
InformationElementUtil.class).startMocking();
try {
PasspointProvider providerHome = addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
providerHome.getConfig().setSubscriptionExpirationTimeInMillis(
System.currentTimeMillis() - 10000);
providerHome.getWifiConfig().isHomeProviderNetwork = true;
PasspointProvider providerRoaming = addTestProvider(TEST_FQDN2, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, false);
+ TEST_PACKAGE, false, null);
providerRoaming.getConfig().setSubscriptionExpirationTimeInMillis(
System.currentTimeMillis() + 100000);
WifiConfiguration wifiConfiguration = WifiConfigurationTestUtil.generateWifiConfig(-1,
TEST_UID, "\"PasspointTestSSID\"", true, true,
TEST_FQDN + 2, TEST_FRIENDLY_NAME, SECURITY_EAP);
PasspointProvider providerNone = addTestProvider(TEST_FQDN + 2, TEST_FRIENDLY_NAME,
- TEST_PACKAGE, wifiConfiguration, false);
+ TEST_PACKAGE, wifiConfiguration, false, null);
ANQPData entry = new ANQPData(mClock, null);
InformationElementUtil.Vsa vsa = new InformationElementUtil.Vsa();
vsa.anqpDomainID = TEST_ANQP_DOMAIN_ID;
@@ -2467,4 +2481,43 @@ public class PasspointManagerTest extends WifiBaseTest {
verify(mAnqpRequestManager, never()).requestANQPElements(any(long.class),
any(ANQPNetworkKey.class), any(boolean.class), any(NetworkDetail.HSRelease.class));
}
+
+ /**
+ * Verify that removing of multiple providers with the same FQDN is done correctly.
+ */
+ @Test
+ public void removeAllProvidersWithSameFqdn() {
+ PasspointProvider provider1 = addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME,
+ TEST_PACKAGE, false, TEST_REALM);
+ PasspointProvider provider2 = addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME,
+ TEST_PACKAGE, false, TEST_REALM2);
+ PasspointProvider provider3 = addTestProvider(TEST_FQDN, TEST_FRIENDLY_NAME,
+ TEST_PACKAGE, false, TEST_REALM3);
+
+ List<PasspointProvider> providers = mUserDataSource.getProviders();
+ assertEquals(3, providers.size());
+ verify(mWifiMetrics, times(3)).incrementNumPasspointProviderInstallation();
+ verify(mWifiMetrics, times(3)).incrementNumPasspointProviderInstallSuccess();
+
+ // Remove the provider as the creator app.
+ assertTrue(mManager.removeProvider(TEST_CREATOR_UID, false, null, TEST_FQDN));
+
+ verify(provider1).uninstallCertsAndKeys();
+ verify(mWifiConfigManager, times(1)).removePasspointConfiguredNetwork(
+ provider1.getWifiConfig().getKey());
+ verify(provider2).uninstallCertsAndKeys();
+ verify(mWifiConfigManager, times(1)).removePasspointConfiguredNetwork(
+ provider2.getWifiConfig().getKey());
+ verify(provider3).uninstallCertsAndKeys();
+ verify(mWifiConfigManager, times(1)).removePasspointConfiguredNetwork(
+ provider3.getWifiConfig().getKey());
+
+ verify(mWifiMetrics, times(3)).incrementNumPasspointProviderUninstallation();
+ verify(mWifiMetrics, times(3)).incrementNumPasspointProviderUninstallSuccess();
+ verify(mAppOpsManager).stopWatchingMode(any(AppOpsManager.OnOpChangedListener.class));
+ assertTrue(mManager.getProviderConfigs(TEST_CREATOR_UID, false).isEmpty());
+
+ // Verify content in the data source.
+ assertTrue(mUserDataSource.getProviders().isEmpty());
+ }
}