TelephonyBackupAgentTest: Clean up after ourselves.
Commit d99a1690d10badee0fc97e756902e98c2e3f0a79 in http://ag/12349208
introduced a @VisibleForTesting method in TelephonyBackupAgent that
swapped out mTelephonyBackupAgent's mSmsProviderQuery. This happened
to be safe because mTelephonyBackupAgent is re-instantiated in setUp(),
and this code was at the end of the test method. Still, it seems more
idiomatic and safer against future refactorings to restore the original
state at the end of the test. This CL does that.
Bug: 160801497
Test: atest TelephonyProviderTests:com.android.providers.telephony.TelephonyBackupAgentTest
Change-Id: I27d622773065e3e1ed8df46340a03ad79236085e
diff --git a/src/com/android/providers/telephony/TelephonyBackupAgent.java b/src/com/android/providers/telephony/TelephonyBackupAgent.java
index 320fb69..a26eb40 100644
--- a/src/com/android/providers/telephony/TelephonyBackupAgent.java
+++ b/src/com/android/providers/telephony/TelephonyBackupAgent.java
@@ -702,9 +702,17 @@
}
};
+ /**
+ * Sets a temporary {@code SmsProviderQuery} for testing; note that this method
+ * is not thread safe.
+ *
+ * @return the previous {@code SmsProviderQuery}
+ */
@VisibleForTesting
- public void setSmsProviderQuery(SmsProviderQuery smsProviderQuery) {
+ public SmsProviderQuery getAndSetSmsProviderQuery(SmsProviderQuery smsProviderQuery) {
+ SmsProviderQuery result = mSmsProviderQuery;
mSmsProviderQuery = smsProviderQuery;
+ return result;
}
private boolean doesMmsExist(Mms mms) {
diff --git a/tests/src/com/android/providers/telephony/TelephonyBackupAgentTest.java b/tests/src/com/android/providers/telephony/TelephonyBackupAgentTest.java
index 00bb15e..f8cc8a6 100644
--- a/tests/src/com/android/providers/telephony/TelephonyBackupAgentTest.java
+++ b/tests/src/com/android/providers/telephony/TelephonyBackupAgentTest.java
@@ -635,12 +635,16 @@
return false;
}
};
- mTelephonyBackupAgent.setSmsProviderQuery(smsProviderQuery);
-
- mTelephonyBackupAgent.putSmsMessagesToProvider(jsonReader);
- // the "- 1" is due to exception thrown for one of the messages
- assertEquals(mSmsRows.length - 1, smsProvider.getRowsAdded());
- assertEquals(mThreadProvider.mIsThreadArchived, mThreadProvider.mUpdateThreadsArchived);
+ TelephonyBackupAgent.SmsProviderQuery previousQuery =
+ mTelephonyBackupAgent.getAndSetSmsProviderQuery(smsProviderQuery);
+ try {
+ mTelephonyBackupAgent.putSmsMessagesToProvider(jsonReader);
+ // the "- 1" is due to exception thrown for one of the messages
+ assertEquals(mSmsRows.length - 1, smsProvider.getRowsAdded());
+ assertEquals(mThreadProvider.mIsThreadArchived, mThreadProvider.mUpdateThreadsArchived);
+ } finally {
+ mTelephonyBackupAgent.getAndSetSmsProviderQuery(previousQuery);
+ }
}
/**