From fa449f749d90bb08d3796b033f232086003bfb4f Mon Sep 17 00:00:00 2001 From: Tim Su Date: Fri, 16 Jul 2010 02:37:51 -0700 Subject: [PATCH] Turned off debug, fixed unit tests, fix for crash --- astrid/astrid.launch | 2 +- .../com/todoroo/andlib/sql/DBObject.java | 4 ++ .../service/Astrid2To3UpgradeHelper.java | 3 ++ .../com/todoroo/astrid/utility/Constants.java | 2 +- .../todoroo/astrid/dao/MetadataDaoTests.java | 9 ++-- .../todoroo/astrid/repeats/RepeatTests.java | 2 +- .../upgrade/Astrid2To3UpgradeTests.java | 48 +++++++++++++++++-- 7 files changed, 59 insertions(+), 11 deletions(-) diff --git a/astrid/astrid.launch b/astrid/astrid.launch index 72aa24a68..6b1f50845 100644 --- a/astrid/astrid.launch +++ b/astrid/astrid.launch @@ -4,7 +4,7 @@ - + diff --git a/astrid/common-src/com/todoroo/andlib/sql/DBObject.java b/astrid/common-src/com/todoroo/andlib/sql/DBObject.java index c01b20af7..6539df6a8 100644 --- a/astrid/common-src/com/todoroo/andlib/sql/DBObject.java +++ b/astrid/common-src/com/todoroo/andlib/sql/DBObject.java @@ -58,6 +58,10 @@ public abstract class DBObject> implements Cloneable { StringBuilder sb = new StringBuilder(expression); if (hasAlias()) { sb.append(SPACE).append(AS).append(SPACE).append(alias); + } else { + int pos = expression.indexOf('.'); + if(pos > 0) + sb.append(SPACE).append(AS).append(SPACE).append(expression.substring(pos + 1)); } return sb.toString(); } diff --git a/astrid/src/com/todoroo/astrid/service/Astrid2To3UpgradeHelper.java b/astrid/src/com/todoroo/astrid/service/Astrid2To3UpgradeHelper.java index b33a4f9c2..680e8246c 100644 --- a/astrid/src/com/todoroo/astrid/service/Astrid2To3UpgradeHelper.java +++ b/astrid/src/com/todoroo/astrid/service/Astrid2To3UpgradeHelper.java @@ -15,6 +15,7 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; +import android.text.TextUtils; import android.util.Log; import com.google.ical.values.Frequency; @@ -456,6 +457,8 @@ public class Astrid2To3UpgradeHelper { for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { long task = cursor.getLong(0); String id = cursor.getString(1); + if(TextUtils.isEmpty(id)) + continue; StringTokenizer strtok = new StringTokenizer(id, "|"); String taskId = strtok.nextToken(); diff --git a/astrid/src/com/todoroo/astrid/utility/Constants.java b/astrid/src/com/todoroo/astrid/utility/Constants.java index 3f4035cde..b76187437 100644 --- a/astrid/src/com/todoroo/astrid/utility/Constants.java +++ b/astrid/src/com/todoroo/astrid/utility/Constants.java @@ -28,7 +28,7 @@ public final class Constants { /** * Whether to turn on debugging logging and UI */ - public static final boolean DEBUG = true; + public static final boolean DEBUG = false; // --- notification id's diff --git a/tests/src/com/todoroo/astrid/dao/MetadataDaoTests.java b/tests/src/com/todoroo/astrid/dao/MetadataDaoTests.java index 00a9c37a1..da93bcf7c 100644 --- a/tests/src/com/todoroo/astrid/dao/MetadataDaoTests.java +++ b/tests/src/com/todoroo/astrid/dao/MetadataDaoTests.java @@ -7,7 +7,6 @@ import com.todoroo.andlib.sql.Query; import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.model.Metadata; import com.todoroo.astrid.model.Task; -import com.todoroo.astrid.service.MetadataService; import com.todoroo.astrid.test.DatabaseTestCase; public class MetadataDaoTests extends DatabaseTestCase { @@ -26,7 +25,7 @@ public class MetadataDaoTests extends DatabaseTestCase { */ public void testCrud() throws Exception { TodorooCursor cursor = metadataDao.query( - Query.select(MetadataService.idProperty())); + Query.select(Metadata.ID)); assertEquals(0, cursor.getCount()); cursor.close(); @@ -35,7 +34,7 @@ public class MetadataDaoTests extends DatabaseTestCase { metadata.setValue(Metadata.KEY, "happy"); assertTrue(metadataDao.persist(metadata)); cursor = metadataDao.query( - Query.select(MetadataService.idProperty())); + Query.select(Metadata.ID)); assertEquals(1, cursor.getCount()); cursor.close(); long happyId = metadata.getId(); @@ -47,7 +46,7 @@ public class MetadataDaoTests extends DatabaseTestCase { metadata = new Metadata(); metadata.setValue(Metadata.KEY, "sad"); assertTrue(metadataDao.persist(metadata)); - cursor = metadataDao.query(Query.select(MetadataService.idProperty())); + cursor = metadataDao.query(Query.select(Metadata.ID)); assertEquals(2, cursor.getCount()); cursor.close(); @@ -57,7 +56,7 @@ public class MetadataDaoTests extends DatabaseTestCase { metadata.setValue(Metadata.KEY, "melancholy"); assertTrue(metadataDao.persist(metadata)); cursor = metadataDao.query( - Query.select(MetadataService.idProperty())); + Query.select(Metadata.ID)); assertEquals(2, cursor.getCount()); cursor.close(); diff --git a/tests/src/com/todoroo/astrid/repeats/RepeatTests.java b/tests/src/com/todoroo/astrid/repeats/RepeatTests.java index 2e0dd6172..88890c276 100644 --- a/tests/src/com/todoroo/astrid/repeats/RepeatTests.java +++ b/tests/src/com/todoroo/astrid/repeats/RepeatTests.java @@ -228,7 +228,7 @@ public class RepeatTests extends DatabaseTestCase { Metadata metadata = new Metadata(); metadata.setValue(Metadata.KEY, "special"); - metadata.setValue(Metadata.VALUE, "sauce"); + metadata.setValue(Metadata.VALUE1, "sauce"); metadata.setValue(Metadata.TASK, task.getId()); metadataDao.persist(metadata); diff --git a/tests/src/com/todoroo/astrid/upgrade/Astrid2To3UpgradeTests.java b/tests/src/com/todoroo/astrid/upgrade/Astrid2To3UpgradeTests.java index dec77cbb2..6fe72ec65 100644 --- a/tests/src/com/todoroo/astrid/upgrade/Astrid2To3UpgradeTests.java +++ b/tests/src/com/todoroo/astrid/upgrade/Astrid2To3UpgradeTests.java @@ -10,17 +10,23 @@ import com.todoroo.andlib.service.TestDependencyInjector; import com.todoroo.andlib.sql.Query; import com.todoroo.astrid.alarms.Alarm; import com.todoroo.astrid.alarms.AlarmDatabase; +import com.todoroo.astrid.dao.MetadataDao; +import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.legacy.data.alerts.AlertController; import com.todoroo.astrid.legacy.data.enums.Importance; import com.todoroo.astrid.legacy.data.enums.RepeatInterval; +import com.todoroo.astrid.legacy.data.sync.SyncDataController; +import com.todoroo.astrid.legacy.data.sync.SyncMapping; import com.todoroo.astrid.legacy.data.tag.TagController; import com.todoroo.astrid.legacy.data.tag.TagIdentifier; import com.todoroo.astrid.legacy.data.task.AbstractTaskModel.RepeatInfo; import com.todoroo.astrid.legacy.data.task.TaskController; import com.todoroo.astrid.legacy.data.task.TaskIdentifier; import com.todoroo.astrid.legacy.data.task.TaskModelForEdit; +import com.todoroo.astrid.model.Metadata; import com.todoroo.astrid.model.Task; +import com.todoroo.astrid.rmilk.data.MilkTask; import com.todoroo.astrid.service.Astrid2To3UpgradeHelper; import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService.Tag; @@ -43,6 +49,9 @@ public class Astrid2To3UpgradeTests extends DatabaseTestCase { @Autowired TaskDao taskDao; + @Autowired + MetadataDao metadataDao; + @Override protected void setUp() throws Exception { super.setUp(); @@ -201,7 +210,7 @@ public class Astrid2To3UpgradeTests extends DatabaseTestCase { // verify that data exists in our new table database.openForReading(); - TagService tagService = new TagService(); + TagService tagService = TagService.getInstance(); Tag[] tags = tagService.getGroupedTags(TagService.GROUPED_TAGS_BY_ALPHA); assertEquals(2, tags.length); assertEquals("salty", tags[0].tag); @@ -255,7 +264,7 @@ public class Astrid2To3UpgradeTests extends DatabaseTestCase { // verify that data exists in our new table database.openForReading(); - TagService tagService = new TagService(); + TagService tagService = TagService.getInstance(); Tag[] tags = tagService.getGroupedTags(TagService.GROUPED_TAGS_BY_ALPHA); assertEquals(1, tags.length); assertEquals("attached", tags[0].tag); @@ -291,7 +300,7 @@ public class Astrid2To3UpgradeTests extends DatabaseTestCase { // assert created assertEquals(2, alertController.getTaskAlerts(christmas.getTaskIdentifier()).size()); - // upgradeia32-sun-java6-bin + // upgrade upgrade2To3(); // verify that data exists in our new table @@ -306,9 +315,42 @@ public class Astrid2To3UpgradeTests extends DatabaseTestCase { cursor.moveToNext(); alarm.readFromCursor(cursor); assertDatesEqual(x2, alarm.getValue(Alarm.TIME)); + } + + /** + * Test basic upgrading of the sync mapping table + */ + public void testSyncTableUpgrade() { + SyncDataController syncController = new SyncDataController(getContext()); + syncController.open(); + // create some ish + String remoteId = "123|456|789000"; + SyncMapping mapping = new SyncMapping(new TaskIdentifier(1), 1, remoteId); + syncController.saveSyncMapping(mapping); + syncController.addToUpdatedList(new TaskIdentifier(2)); + + // assert created + assertEquals(1, syncController.getSyncMappings(1)); + + // upgrade + upgrade2To3(); + + // verify that data exists in our new table + database.openForReading(); + + TodorooCursor cursor = metadataDao.query(Query.select( + Metadata.PROPERTIES).where(MetadataCriteria.withKey(MilkTask.METADATA_KEY))); + assertEquals(1, cursor.getCount()); + cursor.moveToFirst(); + Metadata metadata = new Metadata(cursor); + assertEquals(123, (long)metadata.getValue(MilkTask.TASK_ID)); + assertEquals(456, (long)metadata.getValue(MilkTask.TASK_SERIES_ID)); + assertEquals(789000, (long)metadata.getValue(MilkTask.LIST_ID)); + cursor.close(); } + }