aboutsummaryrefslogtreecommitdiff
path: root/tests/src/com/android
diff options
context:
space:
mode:
authorTingting Wang <tingtingw@google.com>2021-10-05 20:34:31 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-10-05 20:34:31 +0000
commit69b0c629789db9f097b139579ec30a9fa6cd1771 (patch)
tree22e85807902acd03391b60c1e60d3d2d0e5879a8 /tests/src/com/android
parent575c56ea67af8bc658cb5be22781e70419638696 (diff)
parent24b79b55c7599daac0ee00a10ba0020cb0f39a47 (diff)
downloadContactsProvider-69b0c629789db9f097b139579ec30a9fa6cd1771.tar.gz
Merge "Set/get default account to/from CP2 DB."
Diffstat (limited to 'tests/src/com/android')
-rw-r--r--tests/src/com/android/providers/contacts/ContactsDatabaseHelperTest.java25
-rw-r--r--tests/src/com/android/providers/contacts/ContactsProvider2Test.java61
2 files changed, 86 insertions, 0 deletions
diff --git a/tests/src/com/android/providers/contacts/ContactsDatabaseHelperTest.java b/tests/src/com/android/providers/contacts/ContactsDatabaseHelperTest.java
index 396bb151..143cc6c6 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;
@@ -533,4 +534,28 @@ 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 name does nothing.
+ mDbHelper.setDefaultAccount(")--", null);
+ account = mDbHelper.getDefaultAccount();
+ assertNull(account);
+ }
}
diff --git a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
index 0bcab462..dd582d0d 100644
--- a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
+++ b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
@@ -9124,6 +9124,67 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test {
);
}
+ public void testDefaultAccountSet_throwException() {
+ try {
+ mResolver.call(ContactsContract.AUTHORITY_URI, Settings.SET_DEFAULT_ACCOUNT_METHOD,
+ null, null);
+ fail();
+ } catch (SecurityException expected) {
+ }
+
+ mActor.addPermissions("android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS");
+ try {
+ Bundle bundle = new Bundle();
+ bundle.putString(Settings.ACCOUNT_NAME, "a"); // no account type specified
+ mResolver.call(ContactsContract.AUTHORITY_URI, Settings.SET_DEFAULT_ACCOUNT_METHOD,
+ null, bundle);
+ fail();
+ } catch (IllegalArgumentException expected) {
+ }
+
+ try {
+ Bundle bundle = new Bundle();
+ bundle.putString(Settings.ACCOUNT_NAME, "a");
+ bundle.putString(Settings.ACCOUNT_TYPE, "b");
+ bundle.putString(Settings.DATA_SET, "c");
+ mResolver.call(ContactsContract.AUTHORITY_URI, Settings.SET_DEFAULT_ACCOUNT_METHOD,
+ null, bundle);
+ fail();
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ public void testDefaultAccountSetAndQuery() {
+ Bundle response = mResolver.call(ContactsContract.AUTHORITY_URI,
+ Settings.QUERY_DEFAULT_ACCOUNT_METHOD, null, null);
+ Account account = response.getParcelable(Settings.KEY_DEFAULT_ACCOUNT);
+ assertNull(account);
+
+ mActor.addPermissions("android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS");
+ // Set (a, b) account as the default account.
+ Bundle bundle = new Bundle();
+ bundle.putString(Settings.ACCOUNT_NAME, "a");
+ bundle.putString(Settings.ACCOUNT_TYPE, "b");
+ mResolver.call(ContactsContract.AUTHORITY_URI, Settings.SET_DEFAULT_ACCOUNT_METHOD,
+ null, bundle);
+
+ response = mResolver.call(ContactsContract.AUTHORITY_URI,
+ Settings.QUERY_DEFAULT_ACCOUNT_METHOD, null, null);
+ account = response.getParcelable(Settings.KEY_DEFAULT_ACCOUNT);
+ assertEquals("a", account.name);
+ assertEquals("b", account.type);
+
+ // Set NULL account as default account.
+ bundle = new Bundle();
+ mResolver.call(ContactsContract.AUTHORITY_URI, Settings.SET_DEFAULT_ACCOUNT_METHOD,
+ null, bundle);
+
+ response = mResolver.call(ContactsContract.AUTHORITY_URI,
+ Settings.QUERY_DEFAULT_ACCOUNT_METHOD, null, null);
+ account = response.getParcelable(Settings.KEY_DEFAULT_ACCOUNT);
+ assertNull(account);
+ }
+
public void testPinnedPositionsDemoteIllegalArguments() {
try {
mResolver.call(ContactsContract.AUTHORITY_URI, PinnedPositions.UNDEMOTE_METHOD,