RestoreDbTaskTest.java revision e8f7d5a67ef71b1c6488f52145482a8876c1b708
1package com.android.launcher3.provider; 2 3import android.content.ContentValues; 4import android.database.Cursor; 5import android.database.sqlite.SQLiteDatabase; 6import android.test.AndroidTestCase; 7import android.test.suitebuilder.annotation.MediumTest; 8 9import com.android.launcher3.LauncherProvider.DatabaseHelper; 10import com.android.launcher3.LauncherSettings.Favorites; 11 12/** 13 * Tests for {@link RestoreDbTask} 14 */ 15@MediumTest 16public class RestoreDbTaskTest extends AndroidTestCase { 17 18 public void testGetProfileId() throws Exception { 19 SQLiteDatabase db = new MyDatabaseHelper(23).getWritableDatabase(); 20 assertEquals(23, new RestoreDbTask().getDefaultProfileId(db)); 21 } 22 23 public void testMigrateProfileId() throws Exception { 24 SQLiteDatabase db = new MyDatabaseHelper(42).getWritableDatabase(); 25 // Add some dummy data 26 for (int i = 0; i < 5; i++) { 27 ContentValues values = new ContentValues(); 28 values.put(Favorites._ID, i); 29 values.put(Favorites.TITLE, "item " + i); 30 db.insert(Favorites.TABLE_NAME, null, values); 31 } 32 // Verify item add 33 assertEquals(5, getCount(db, "select * from favorites where profileId = 42")); 34 35 new RestoreDbTask().migrateProfileId(db, 33); 36 37 // verify data migrated 38 assertEquals(0, getCount(db, "select * from favorites where profileId = 42")); 39 assertEquals(5, getCount(db, "select * from favorites where profileId = 33")); 40 41 // Verify default value changed 42 ContentValues values = new ContentValues(); 43 values.put(Favorites._ID, 100); 44 values.put(Favorites.TITLE, "item 100"); 45 db.insert(Favorites.TABLE_NAME, null, values); 46 assertEquals(6, getCount(db, "select * from favorites where profileId = 33")); 47 } 48 49 private int getCount(SQLiteDatabase db, String sql) { 50 Cursor c = db.rawQuery(sql, null); 51 try { 52 return c.getCount(); 53 } finally { 54 c.getCount(); 55 } 56 } 57 58 private class MyDatabaseHelper extends DatabaseHelper { 59 60 private final long mProfileId; 61 62 public MyDatabaseHelper(long profileId) { 63 super(getContext(), null, null); 64 mProfileId = profileId; 65 } 66 67 @Override 68 public long getDefaultUserSerial() { 69 return mProfileId; 70 } 71 72 protected void onEmptyDbCreated() { } 73 } 74} 75