diff options
Diffstat (limited to 'tests/src/com/android/providers/contacts/ContactsDatabaseHelperTest.java')
-rw-r--r-- | tests/src/com/android/providers/contacts/ContactsDatabaseHelperTest.java | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/src/com/android/providers/contacts/ContactsDatabaseHelperTest.java b/tests/src/com/android/providers/contacts/ContactsDatabaseHelperTest.java index a9867c53..2e2e9242 100644 --- a/tests/src/com/android/providers/contacts/ContactsDatabaseHelperTest.java +++ b/tests/src/com/android/providers/contacts/ContactsDatabaseHelperTest.java @@ -18,6 +18,7 @@ package com.android.providers.contacts; import android.content.ContentValues; import android.database.ContentObserver; +import android.accounts.Account; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.net.Uri; @@ -508,4 +509,46 @@ public class ContactsDatabaseHelperTest extends BaseContactsProvider2Test { assertEquals(creationTime, dbHelper2.getDatabaseCreationTime()); } + + public void testGetAndSetDefaultAccount() { + Account account = mDbHelper.getDefaultAccount(); + assertNull(account); + + mDbHelper.setDefaultAccount("a", "b"); + account = mDbHelper.getDefaultAccount(); + assertEquals("a", account.name); + assertEquals("b", account.type); + + mDbHelper.setDefaultAccount("c", "d"); + account = mDbHelper.getDefaultAccount(); + assertEquals("c", account.name); + assertEquals("d", account.type); + + mDbHelper.setDefaultAccount(null, null); + account = mDbHelper.getDefaultAccount(); + assertNull(account); + + // Invalid account (not-null account name and null account type) throws exception. + try { + mDbHelper.setDefaultAccount("name", null); + fail("Setting default account to an invalid account should fail."); + } catch (IllegalArgumentException e) { + // expected. + } + account = mDbHelper.getDefaultAccount(); + assertNull(account); + + // Update default account to an existing account + mDbHelper.setDefaultAccount("a", "b"); + account = mDbHelper.getDefaultAccount(); + assertEquals("a", account.name); + assertEquals("b", account.type); + + try (Cursor cursor = mDbHelper.getReadableDatabase().query(Tables.ACCOUNTS, new String[]{ + ContactsDatabaseHelper.AccountsColumns.ACCOUNT_NAME, + ContactsDatabaseHelper.AccountsColumns.ACCOUNT_TYPE + }, null, null, null, null, null)) { + assertEquals(3, cursor.getCount()); + } + } } |