summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYorke Lee <yorkelee@google.com>2014-07-21 14:50:21 -0700
committerYorke Lee <yorkelee@google.com>2014-07-25 09:53:07 -0700
commit96062013ec40d4b60dd162a6e4a7146690247a3e (patch)
tree869028ad2721bdccc0f937f5651729b8bae5f548 /tests
parent6f97316fdb78ab9eb1c670ad98447154c0bf482b (diff)
downloadpackages_providers_ContactsProvider-96062013ec40d4b60dd162a6e4a7146690247a3e.zip
packages_providers_ContactsProvider-96062013ec40d4b60dd162a6e4a7146690247a3e.tar.gz
packages_providers_ContactsProvider-96062013ec40d4b60dd162a6e4a7146690247a3e.tar.bz2
Update the value of PinnedPositions.UNPINNED to 0
Bug: 16403306 Change-Id: I86fcd1f2d1d145edf1ba3d4bd8ce21d14dcb94d0
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/providers/contacts/ContactsProvider2Test.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
index 31f8917..25e803e 100644
--- a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
+++ b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
@@ -28,6 +28,7 @@ import android.content.Entity;
import android.content.EntityIterator;
import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.os.AsyncTask;
import android.provider.ContactsContract;
@@ -85,6 +86,7 @@ import com.android.providers.contacts.testutil.DeletedContactUtil;
import com.android.providers.contacts.testutil.RawContactUtil;
import com.android.providers.contacts.testutil.TestUtil;
import com.android.providers.contacts.tests.R;
+
import com.google.android.collect.Lists;
import com.google.android.collect.Sets;
@@ -8176,6 +8178,56 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test {
);
}
+ /**
+ * Verifies that any existing pinned contacts have their pinned positions incremented by one
+ * after the upgrade step
+ */
+ public void testPinnedPositionsUpgradeTo906_PinnedContactsIncrementedByOne() {
+ final DatabaseAsserts.ContactIdPair i1 = DatabaseAsserts.assertAndCreateContact(mResolver);
+ final DatabaseAsserts.ContactIdPair i2 = DatabaseAsserts.assertAndCreateContact(mResolver);
+ final DatabaseAsserts.ContactIdPair i3 = DatabaseAsserts.assertAndCreateContact(mResolver);
+ final ArrayList<ContentProviderOperation> operations =
+ new ArrayList<ContentProviderOperation>();
+ operations.add(newPinningOperation(i1.mContactId, 0, true));
+ operations.add(newPinningOperation(i2.mContactId, 5, true));
+ operations.add(newPinningOperation(i3.mContactId, Integer.MAX_VALUE - 2, true));
+ CommonDatabaseUtils.applyBatch(mResolver, operations);
+
+ final ContactsDatabaseHelper helper =
+ ((ContactsDatabaseHelper) ((ContactsProvider2) getProvider()).getDatabaseHelper());
+ SQLiteDatabase db = helper.getWritableDatabase();
+ helper.upgradeToVersion906(db);
+ assertStoredValuesWithProjection(Contacts.CONTENT_URI,
+ cv(Contacts._ID, i1.mContactId, Contacts.PINNED, 1),
+ cv(Contacts._ID, i2.mContactId, Contacts.PINNED, 6),
+ cv(Contacts._ID, i3.mContactId, Contacts.PINNED, Integer.MAX_VALUE - 1)
+ );
+ }
+
+ /**
+ * Verifies that any unpinned contacts (or those with pinned position Integer.MAX_VALUE - 1)
+ * have their pinned positions correctly set to 0 after the upgrade step.
+ */
+ public void testPinnedPositionsUpgradeTo906_UnpinnedValueCorrectlyUpdated() {
+ final DatabaseAsserts.ContactIdPair i1 = DatabaseAsserts.assertAndCreateContact(mResolver);
+ final DatabaseAsserts.ContactIdPair i2 = DatabaseAsserts.assertAndCreateContact(mResolver);
+ final ArrayList<ContentProviderOperation> operations =
+ new ArrayList<ContentProviderOperation>();
+ operations.add(newPinningOperation(i1.mContactId, Integer.MAX_VALUE -1 , true));
+ operations.add(newPinningOperation(i2.mContactId, Integer.MAX_VALUE, true));
+ CommonDatabaseUtils.applyBatch(mResolver, operations);
+
+ final ContactsDatabaseHelper helper =
+ ((ContactsDatabaseHelper) ((ContactsProvider2) getProvider()).getDatabaseHelper());
+ SQLiteDatabase db = helper.getWritableDatabase();
+ helper.upgradeToVersion906(db);
+
+ assertStoredValuesWithProjection(Contacts.CONTENT_URI,
+ cv(Contacts._ID, i1.mContactId, Contacts.PINNED, 0),
+ cv(Contacts._ID, i2.mContactId, Contacts.PINNED, 0)
+ );
+ }
+
private ContentProviderOperation newPinningOperation(long id, int pinned, boolean star) {
final Uri uri = Uri.withAppendedPath(Contacts.CONTENT_URI, String.valueOf(id));
final ContentValues values = new ContentValues();