diff options
author | Nate Jiang <qiangjiang@google.com> | 2019-12-19 17:42:56 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-12-19 17:42:56 +0000 |
commit | 8be9b51c4f4c76d87e9528d944020f3fb90b775e (patch) | |
tree | b8a542d1a2fb816cd0ba8692215678bdd9e9c479 /tests | |
parent | 919df467f922b8e05bfd710aae48d415b2c76132 (diff) | |
parent | 5b8b3bbfa9f06a5f4aa336e07782f7d5811bc069 (diff) |
Merge "Fix parseNetworkSuggestionsMap put a null object into the map"
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/NetworkSuggestionStoreDataTest.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/NetworkSuggestionStoreDataTest.java b/tests/wifitests/src/com/android/server/wifi/NetworkSuggestionStoreDataTest.java index 1fb68faaf..ae4080405 100644 --- a/tests/wifitests/src/com/android/server/wifi/NetworkSuggestionStoreDataTest.java +++ b/tests/wifitests/src/com/android/server/wifi/NetworkSuggestionStoreDataTest.java @@ -214,6 +214,21 @@ public class NetworkSuggestionStoreDataTest extends WifiBaseTest { + "<int name=\"SuggestorUid\" value=\"14556\" />\n" + "</NetworkSuggestion>\n" + "</NetworkSuggestionPerApp>"; + private static final String TEST_POST_R_APP_WITH_EMPTY_SUGGESTION = + "<NetworkSuggestionPerApp>\n" + + "<string name=\"SuggestorPackageName\">%1$s</string>\n" + + "<string name=\"SuggestorFeatureId\">com.android.feature.1</string>\n" + + "<boolean name=\"SuggestorHasUserApproved\" value=\"false\" />\n" + + "<int name=\"SuggestorMaxSize\" value=\"100\" />\n" + + "<int name=\"SuggestorUid\" value=\"%2$d\" />\n" + + "</NetworkSuggestionPerApp>"; + private static final String TEST_PRE_R_APP_WITH_EMPTY_SUGGESTION = + "<NetworkSuggestionPerApp>\n" + + "<string name=\"SuggestorPackageName\">%1$s</string>\n" + + "<string name=\"SuggestorFeatureId\">com.android.feature.1</string>\n" + + "<boolean name=\"SuggestorHasUserApproved\" value=\"false\" />\n" + + "<int name=\"SuggestorMaxSize\" value=\"100\" />\n" + + "</NetworkSuggestionPerApp>"; private @Mock NetworkSuggestionStoreData.DataSource mDataSource; private NetworkSuggestionStoreData mNetworkSuggestionStoreData; @@ -387,6 +402,36 @@ public class NetworkSuggestionStoreDataTest extends WifiBaseTest { assertEquals(deserializedPerAppInfoMapPreRFormat, deserializedPerAppInfoMapPostRFormat); } + /** + * Deserialize no network suggestion from a single app using a predefined string stored in the + * old/new XML format. + */ + @Test + public void deserializeEmptySuggestion() throws Exception { + ArgumentCaptor<HashMap> deserializedNetworkSuggestionsMap = + ArgumentCaptor.forClass(HashMap.class); + + // Old format with empty suggestion + String preRFormatXml = String.format( + TEST_PRE_R_APP_WITH_EMPTY_SUGGESTION, TEST_PACKAGE_NAME_1, TEST_UID_1); + deserializeData(preRFormatXml.getBytes()); + + // New format with empty suggestion + String postRFormatXml = String.format( + TEST_POST_R_APP_WITH_EMPTY_SUGGESTION, TEST_PACKAGE_NAME_1, TEST_UID_1); + deserializeData(postRFormatXml.getBytes()); + + // Capture the deserialized data. + verify(mDataSource, times(2)).fromDeserialized(deserializedNetworkSuggestionsMap.capture()); + Map<String, PerAppInfo> deserializedPerAppInfoMapPreRFormat = + deserializedNetworkSuggestionsMap.getAllValues().get(0); + Map<String, PerAppInfo> deserializedPerAppInfoMapPostRFormat = + deserializedNetworkSuggestionsMap.getAllValues().get(1); + // Verify PerAppInfo is no + assertNotNull(deserializedPerAppInfoMapPreRFormat.get(TEST_PACKAGE_NAME_1)); + assertNotNull(deserializedPerAppInfoMapPostRFormat.get(TEST_PACKAGE_NAME_1)); + } + private Map<String, PerAppInfo> assertSerializeDeserialize( Map<String, PerAppInfo> networkSuggestionsMap) throws Exception { // Setup the data to serialize. |