diff options
author | Roshan Pius <rpius@google.com> | 2019-06-26 11:07:21 -0700 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2019-06-27 17:35:52 +0000 |
commit | df6df476c9632bbda18a81e058d5cbccf2b35618 (patch) | |
tree | 999b4504754443459c9a16e8b3166c25ac1433d7 /tests | |
parent | 6c4828d0046b43d7f827bf326cbc555578ba7317 (diff) |
WifiNetworkSuggestionsManager: Persist enterprise credentials
Enterprise credentials for suggestions were not being persisted to disk.
This would prevent the device from auto-connecting to networks suggested
by apps (via the new network suggestion API surface) after a reboot.
Bug: 136088495
Test: atest com.android.server.wifi
Test: ACTS test: NetworkSuggestionTest
Test: Verified scenario mentioned in the bug (carrier wifi app suggested
EAP networks not connecting).
Change-Id: Ife2cff3daf84a5986cb2b63207eccf1b6faee5ae
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/NetworkSuggestionStoreDataTest.java | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/NetworkSuggestionStoreDataTest.java b/tests/wifitests/src/com/android/server/wifi/NetworkSuggestionStoreDataTest.java index eeaf5cd00..5c1dcb459 100644 --- a/tests/wifitests/src/com/android/server/wifi/NetworkSuggestionStoreDataTest.java +++ b/tests/wifitests/src/com/android/server/wifi/NetworkSuggestionStoreDataTest.java @@ -19,6 +19,7 @@ package com.android.server.wifi; import static org.junit.Assert.*; import static org.mockito.Mockito.*; +import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiNetworkSuggestion; import android.util.Xml; @@ -150,15 +151,30 @@ public class NetworkSuggestionStoreDataTest { Map<String, PerAppInfo> networkSuggestionsMap = new HashMap<>(); PerAppInfo appInfo = new PerAppInfo(TEST_PACKAGE_NAME_1); - WifiNetworkSuggestion networkSuggestion = new WifiNetworkSuggestion( - WifiConfigurationTestUtil.createOpenNetwork(), false, false, TEST_UID_1, + + WifiConfiguration configuration = WifiConfigurationTestUtil.createEapNetwork(); + configuration.enterpriseConfig = + WifiConfigurationTestUtil.createPEAPWifiEnterpriseConfigWithGTCPhase2(); + WifiNetworkSuggestion networkSuggestion = + new WifiNetworkSuggestion(configuration, false, false, TEST_UID_1, TEST_PACKAGE_NAME_1); appInfo.hasUserApproved = false; appInfo.extNetworkSuggestions.add( ExtendedWifiNetworkSuggestion.fromWns(networkSuggestion, appInfo)); networkSuggestionsMap.put(TEST_PACKAGE_NAME_1, appInfo); - assertSerializeDeserialize(networkSuggestionsMap); + Map<String, PerAppInfo> deserializedPerAppInfoMap = + assertSerializeDeserialize(networkSuggestionsMap); + ExtendedWifiNetworkSuggestion deserializedSuggestion = + deserializedPerAppInfoMap.get(TEST_PACKAGE_NAME_1).extNetworkSuggestions.stream() + .findAny() + .orElse(null); + + WifiConfigurationTestUtil.assertConfigurationEqual( + configuration, deserializedSuggestion.wns.wifiConfiguration); + WifiConfigurationTestUtil.assertWifiEnterpriseConfigEqualForConfigStore( + configuration.enterpriseConfig, + deserializedSuggestion.wns.wifiConfiguration.enterpriseConfig); } /** @@ -237,7 +253,7 @@ public class NetworkSuggestionStoreDataTest { deserializeData(TEST_CORRUPT_DATA_INVALID_SSID.getBytes()); } - private void assertSerializeDeserialize( + private Map<String, PerAppInfo> assertSerializeDeserialize( Map<String, PerAppInfo> networkSuggestionsMap) throws Exception { // Setup the data to serialize. when(mDataSource.toSerialize()).thenReturn(networkSuggestionsMap); @@ -250,5 +266,6 @@ public class NetworkSuggestionStoreDataTest { ArgumentCaptor.forClass(HashMap.class); verify(mDataSource).fromDeserialized(deserializedNetworkSuggestionsMap.capture()); assertEquals(networkSuggestionsMap, deserializedNetworkSuggestionsMap.getValue()); + return deserializedNetworkSuggestionsMap.getValue(); } } |