summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2011-08-02 17:00:28 -0700
committerAndy McFadden <fadden@android.com>2011-08-04 13:57:05 -0700
commit361695206f7a25577ddc374f20868105cae531cd (patch)
tree952561e2cf0fc0670b67a4226be2c5531e8899c8 /tests
parent85c09a31bcc3a18e173428bf7b628cec2834bebc (diff)
downloadCalendarProvider-361695206f7a25577ddc374f20868105cae531cd.tar.gz
Test null projections
This adds a test that issues various queries with null projections to confirm that the database structure matches expectations. This also fixes the Reminders projection. Bug 4878015 Change-Id: I1acdd35699d0132eadec3b13abe8011449f764d5
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/providers/calendar/CalendarCts.java60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/src/com/android/providers/calendar/CalendarCts.java b/tests/src/com/android/providers/calendar/CalendarCts.java
index 0ff6950..e5770a6 100644
--- a/tests/src/com/android/providers/calendar/CalendarCts.java
+++ b/tests/src/com/android/providers/calendar/CalendarCts.java
@@ -480,6 +480,66 @@ public class CalendarCts extends InstrumentationTestCase {
removeAndVerifyCalendar(account, id);
}
+ /**
+ * Tests whether the default projections work. We don't need to have any data in
+ * the calendar, since it's testing the database schema.
+ */
+ @MediumTest
+ public void testDefaultProjections() {
+ String account = "dproj_account";
+ int seed = 0;
+
+ // Clean up just in case
+ CalendarHelper.deleteCalendarByAccount(mContentResolver, account);
+ long id = createAndVerifyCalendar(account, seed++, null);
+
+ Cursor c;
+ Uri uri;
+ // Calendars
+ c = mContentResolver.query(Calendars.CONTENT_URI, null, null, null, null);
+ c.close();
+ // Events
+ c = mContentResolver.query(Events.CONTENT_URI, null, null, null, null);
+ c.close();
+ // Instances
+ uri = Uri.withAppendedPath(Instances.CONTENT_URI, "0/1");
+ c = mContentResolver.query(uri, null, null, null, null);
+ c.close();
+ // Attendees
+ c = mContentResolver.query(Attendees.CONTENT_URI, null, null, null, null);
+ c.close();
+ // Reminders (only REMINDERS_ID currently uses default projection)
+ uri = ContentUris.withAppendedId(Reminders.CONTENT_URI, 0);
+ c = mContentResolver.query(uri, null, null, null, null);
+ c.close();
+ // CalendarAlerts
+ c = mContentResolver.query(CalendarContract.CalendarAlerts.CONTENT_URI,
+ null, null, null, null);
+ c.close();
+ // CalendarCache
+ c = mContentResolver.query(CalendarContract.CalendarCache.URI,
+ null, null, null, null);
+ c.close();
+ // CalendarEntity
+ c = mContentResolver.query(CalendarContract.CalendarEntity.CONTENT_URI,
+ null, null, null, null);
+ c.close();
+ // EventEntities
+ c = mContentResolver.query(CalendarContract.EventsEntity.CONTENT_URI,
+ null, null, null, null);
+ c.close();
+ // EventDays
+ uri = Uri.withAppendedPath(CalendarContract.EventDays.CONTENT_URI, "1/2");
+ c = mContentResolver.query(uri, null, null, null, null);
+ c.close();
+ // ExtendedProperties
+ c = mContentResolver.query(CalendarContract.ExtendedProperties.CONTENT_URI,
+ null, null, null, null);
+ c.close();
+
+ removeAndVerifyCalendar(account, id);
+ }
+
@MediumTest
public void testCalendarUpdateAsApp() {
String account = "cu1_account";