aboutsummaryrefslogtreecommitdiff
path: root/tests/src/com/android/providers/contacts/VoicemailProviderTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/providers/contacts/VoicemailProviderTest.java')
-rw-r--r--tests/src/com/android/providers/contacts/VoicemailProviderTest.java35
1 files changed, 32 insertions, 3 deletions
diff --git a/tests/src/com/android/providers/contacts/VoicemailProviderTest.java b/tests/src/com/android/providers/contacts/VoicemailProviderTest.java
index b4c9e049..72667314 100644
--- a/tests/src/com/android/providers/contacts/VoicemailProviderTest.java
+++ b/tests/src/com/android/providers/contacts/VoicemailProviderTest.java
@@ -20,8 +20,10 @@ import android.content.ContentUris;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
+import android.os.BatteryStats.Uid.Proc;
import android.os.ParcelFileDescriptor;
import android.os.Process;
+import android.provider.CallLog;
import android.provider.CallLog.Calls;
import android.provider.VoicemailContract;
import android.provider.VoicemailContract.Status;
@@ -65,6 +67,7 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
protected void setUp() throws Exception {
super.setUp();
setUpForOwnPermission();
+ addProvider(CallLogProviderTestable.class, CallLog.AUTHORITY);
}
/** Returns the appropriate /voicemail URI. */
@@ -80,6 +83,7 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
}
public void testInsert() throws Exception {
+ setTimeForTest(1000L);
Uri uri = mResolver.insert(voicemailUri(), getTestVoicemailValues());
// We create on purpose a new set of ContentValues here, because the code above modifies
// the copy it gets.
@@ -87,7 +91,7 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
assertSelection(uri, getTestVoicemailValues(), Voicemails._ID, ContentUris.parseId(uri));
assertEquals(1, countFilesInTestDirectory());
- assertLastModified(uri);
+ assertLastModified(uri, 1000);
}
public void testInsertReadMessageIsNotNew() throws Exception {
@@ -131,6 +135,7 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
}
public void testUpdate() {
+ setTimeForTest(1000L);
Uri uri = insertVoicemail();
ContentValues values = new ContentValues();
values.put(Voicemails.NUMBER, "1-800-263-7643");
@@ -145,7 +150,7 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
int count = mResolver.update(uri, values, null, null);
assertEquals(1, count);
assertStoredValues(uri, values);
- assertLastModified(uri);
+ assertLastModified(uri, 1000);
}
public void testUpdateOwnPackageVoicemail_NotDirty() {
@@ -182,6 +187,7 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
public void testDeleteOtherPackageVoicemail_SetsDirtyStatus() {
setUpForFullPermission();
+ setTimeForTest(1000L);
final Uri anotherVoicemail = insertVoicemailForSourcePackage("another-package");
assertEquals(1, getCount(voicemailUri(), null, null));
@@ -195,7 +201,7 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
assertEquals(1, getCount(anotherVoicemail, null, null));
assertStoredValues(anotherVoicemail, values);
- assertLastModified(anotherVoicemail);
+ assertLastModified(anotherVoicemail, 1000);
}
public void testDelete() {
@@ -206,6 +212,29 @@ public class VoicemailProviderTest extends BaseVoicemailProviderTest {
assertEquals(0, getCount(uri, null, null));
}
+ public void testUpdateAfterDelete_lastModifiedNotChanged() {
+ setUpForFullPermission();
+ setTimeForTest(1000L);
+ final Uri anotherVoicemail = insertVoicemailForSourcePackage("another-package");
+ assertEquals(1, getCount(voicemailUri(), null, null));
+
+ // Clear the mapping for our own UID so that this doesn't look like an internal transaction.
+ mPackageManager.removePackage(Process.myUid());
+ mResolver.delete(anotherVoicemail, null, null);
+ assertLastModified(anotherVoicemail, 1000);
+
+ mPackageManager.addPackage(Process.myUid(), mActor.packageName);
+ setTimeForTest(2000L);
+ mResolver.update(anotherVoicemail, new ContentValues(), null, null);
+ assertLastModified(anotherVoicemail, 1000);
+
+ setTimeForTest(3000L);
+ ContentValues values = new ContentValues();
+ values.put(Voicemails.DELETED, "0");
+ mResolver.update(anotherVoicemail, values, null, null);
+ assertLastModified(anotherVoicemail, 3000);
+ }
+
public void testGetType_ItemUri() throws Exception {
// Random item uri.
assertEquals(Voicemails.ITEM_TYPE,