Skip to content

Commit 0798b98

Browse files
Fix flakiness in MessagingAnalyticsRoboTest.java (#4259)
Properly reset SharedPreferences test state in between each test.
1 parent 854cba5 commit 0798b98

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

firebase-messaging/src/test/java/com/google/firebase/messaging/MessagingAnalyticsRoboTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@ public void setUp() {
105105

106106
// Create and Initialize Firelog service components
107107
context = ApplicationProvider.getApplicationContext();
108+
109+
// Reset sharedpreferences for bigquery delivery metrics export before every test.
110+
resetPreferencesField(DELIVERY_METRICS_EXPORT_TO_BIG_QUERY_PREF);
108111
}
109112

110113
/** If the developer didn't include Analytics and Firelog, we should not crash. */
@@ -331,6 +334,13 @@ public void testShouldExportDeliveryMetricsToBigQuery_falseManifestTrueSetter()
331334
assertPreferencesFieldWithValue(DELIVERY_METRICS_EXPORT_TO_BIG_QUERY_PREF, true);
332335
}
333336

337+
private void resetPreferencesField(String field) {
338+
SharedPreferences preferences =
339+
context.getSharedPreferences(FCM_PREFERENCES, Context.MODE_PRIVATE);
340+
341+
preferences.edit().remove(field).apply();
342+
}
343+
334344
private void assertPreferencesFieldWithValue(String field, Boolean expectedValue) {
335345
SharedPreferences preferences =
336346
context.getSharedPreferences(FCM_PREFERENCES, Context.MODE_PRIVATE);

0 commit comments

Comments
 (0)