summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNate Jiang <qiangjiang@google.com>2019-12-19 17:42:56 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-12-19 17:42:56 +0000
commit8be9b51c4f4c76d87e9528d944020f3fb90b775e (patch)
treeb8a542d1a2fb816cd0ba8692215678bdd9e9c479 /tests
parent919df467f922b8e05bfd710aae48d415b2c76132 (diff)
parent5b8b3bbfa9f06a5f4aa336e07782f7d5811bc069 (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.java45
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.