summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2017-09-27 12:59:59 -0700
committerRoshan Pius <rpius@google.com>2017-09-28 15:24:49 -0700
commitd72ccc6880a1a624926b97417047d42a5aa182ef (patch)
treefefec0f8d907a99669980c7a4906e00a08390002 /tests
parent7cede48303b0faabb3b6861a1ac7229f76fca006 (diff)
WifiConfigManager: Don't reset the userId on user stop
Couple of fixes in user stop handling: a) Only clear the network data belonging to the user that is stopped. b) Don't reset the user Id on stop. It will be done in the user switch handling. Bug: 65939780 Test: Unit tests Change-Id: Ia3ab033d893009cfd8019ee27d52a490a8040438
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java45
1 files changed, 44 insertions, 1 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java
index d14c8fc9f..57638a33d 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java
@@ -2367,7 +2367,7 @@ public class WifiConfigManagerTest {
}
/**
- * Verifies that the foreground user stop using {@link WifiConfigManager#handleUserStop(int)}
+ * Verifies that the user stop handling using {@link WifiConfigManager#handleUserStop(int)}
* and ensures that the store is written only when the foreground user is stopped.
*/
@Test
@@ -2390,6 +2390,49 @@ public class WifiConfigManagerTest {
}
/**
+ * Verifies that the user stop handling using {@link WifiConfigManager#handleUserStop(int)}
+ * and ensures that the shared data is not lost when the foreground user is stopped.
+ */
+ @Test
+ public void testHandleUserStopDoesNotClearSharedData() throws Exception {
+ int user1 = TEST_DEFAULT_USER;
+
+ //
+ // Setup the database for the user before initiating stop.
+ //
+ int appId = 674;
+ // Create 2 networks. 1 for user1, and 1 shared.
+ final WifiConfiguration user1Network = WifiConfigurationTestUtil.createPskNetwork();
+ user1Network.shared = false;
+ user1Network.creatorUid = UserHandle.getUid(user1, appId);
+ final WifiConfiguration sharedNetwork = WifiConfigurationTestUtil.createPskNetwork();
+
+ // Set up the store data that is loaded initially.
+ List<WifiConfiguration> sharedNetworks = new ArrayList<WifiConfiguration>() {
+ {
+ add(sharedNetwork);
+ }
+ };
+ List<WifiConfiguration> user1Networks = new ArrayList<WifiConfiguration>() {
+ {
+ add(user1Network);
+ }
+ };
+ setupStoreDataForRead(sharedNetworks, user1Networks, new HashSet<String>());
+ assertTrue(mWifiConfigManager.loadFromStore());
+ verify(mWifiConfigStore).read();
+
+ // Ensure that we have 2 networks in the database before the stop.
+ assertEquals(2, mWifiConfigManager.getConfiguredNetworks().size());
+
+ mWifiConfigManager.handleUserStop(user1);
+
+ // Ensure that we only have 1 shared network in the database after the stop.
+ assertEquals(1, mWifiConfigManager.getConfiguredNetworks().size());
+ assertEquals(sharedNetwork.SSID, mWifiConfigManager.getConfiguredNetworks().get(0).SSID);
+ }
+
+ /**
* Verifies the foreground user unlock via {@link WifiConfigManager#handleUserUnlock(int)}
* results in a store read after bootup.
*/