diff options
author | Roshan Pius <rpius@google.com> | 2016-06-08 10:55:56 -0700 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2016-06-08 14:31:01 -0700 |
commit | 2622233bd264f9bfbde164b6c62bd9d785da935b (patch) | |
tree | 8a6502492ac8192146dee1b60f59b83b3185978a /tests/wifitests/src/com/android/server/wifi/WifiBackupRestoreTest.java | |
parent | 06a2281303248446bacc87a00ab66ea1fdf0392d (diff) | |
download | android_frameworks_opt_net_wifi-2622233bd264f9bfbde164b6c62bd9d785da935b.tar.gz android_frameworks_opt_net_wifi-2622233bd264f9bfbde164b6c62bd9d785da935b.tar.bz2 android_frameworks_opt_net_wifi-2622233bd264f9bfbde164b6c62bd9d785da935b.zip |
WifiBackupRestore: Handle backups with no ipconfig data
Handle restore of old backups with no corresponding ipconfig data.
According to ctate@, this is a possibility on certain older devices.
Also, add unit-tests to validate the restore behavior.
BUG: 28967335
Change-Id: Id9d7be22132b3da560a7ec72aa5509392177bafe
TEST: Unit tests.
Diffstat (limited to 'tests/wifitests/src/com/android/server/wifi/WifiBackupRestoreTest.java')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiBackupRestoreTest.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiBackupRestoreTest.java b/tests/wifitests/src/com/android/server/wifi/WifiBackupRestoreTest.java index 1e4a30d50..0ca9eab15 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiBackupRestoreTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiBackupRestoreTest.java @@ -487,6 +487,46 @@ public class WifiBackupRestoreTest { } /** + * Verify that a single open network configuration is serialized & deserialized correctly from + * old backups with no ipconfig data. + */ + @Test + public void testSingleOpenNetworkSupplicantBackupRestoreWithNoIpConfigData() { + List<WifiConfiguration> configurations = new ArrayList<>(); + configurations.add(createOpenNetwork(0)); + + byte[] supplicantData = createWpaSupplicantConfBackupData(configurations); + List<WifiConfiguration> retrievedConfigurations = + mWifiBackupRestore.retrieveConfigurationsFromSupplicantBackupData( + supplicantData, null); + assertConfigurationsEqual(configurations, retrievedConfigurations); + } + + /** + * Verify that multiple networks with different credential types are serialized and + * deserialized correctly from old backups with no ipconfig data. + */ + @Test + public void testMultipleNetworksAllSupplicantBackupRestoreWithNoIpConfigData() { + List<WifiConfiguration> configurations = new ArrayList<>(); + + WifiConfiguration wepNetwork = createWepNetwork(0); + configurations.add(wepNetwork); + + WifiConfiguration pskNetwork = createPskNetwork(1); + configurations.add(pskNetwork); + + WifiConfiguration openNetwork = createOpenNetwork(2); + configurations.add(openNetwork); + + byte[] supplicantData = createWpaSupplicantConfBackupData(configurations); + List<WifiConfiguration> retrievedConfigurations = + mWifiBackupRestore.retrieveConfigurationsFromSupplicantBackupData( + supplicantData, null); + assertConfigurationsEqual(configurations, retrievedConfigurations); + } + + /** * Verify that any corrupted data provided by Backup/Restore is ignored correctly. */ @Test |