diff options
author | Marcus Hagerott <mhagerott@google.com> | 2016-09-28 17:05:54 -0700 |
---|---|---|
committer | Marcus Hagerott <mhagerott@google.com> | 2016-10-13 10:28:52 -0700 |
commit | 073a091b4f94d7321b4e8f51e0ca240c5c264915 (patch) | |
tree | c508cf224a69ee44d230ab8f842e4c5a6563c3ad /tests/src/com | |
parent | b3e609a74b6284addebfee7bf3b1b94edfd88d22 (diff) | |
download | Contacts-073a091b4f94d7321b4e8f51e0ca240c5c264915.tar.gz |
Adjustments to MockContentProvider for tests.
Also add some helper methods to change the default account.
Test
Ran GoogleContactsTests
Change-Id: Id14651f07cb0e046cc7b1e1dc387492cdb12bb18
Diffstat (limited to 'tests/src/com')
4 files changed, 34 insertions, 13 deletions
diff --git a/tests/src/com/android/contacts/RunMethodInstrumentation.java b/tests/src/com/android/contacts/RunMethodInstrumentation.java index 77f36ed08..11516b8ad 100644 --- a/tests/src/com/android/contacts/RunMethodInstrumentation.java +++ b/tests/src/com/android/contacts/RunMethodInstrumentation.java @@ -60,6 +60,7 @@ public class RunMethodInstrumentation extends Instrumentation { start(); } + @Override public void onStart() { Log.d(TAG, "onStart"); super.onStart(); diff --git a/tests/src/com/android/contacts/common/database/SimContactDaoTests.java b/tests/src/com/android/contacts/common/database/SimContactDaoTests.java index 5b25eb2b5..513f55145 100644 --- a/tests/src/com/android/contacts/common/database/SimContactDaoTests.java +++ b/tests/src/com/android/contacts/common/database/SimContactDaoTests.java @@ -26,6 +26,7 @@ import android.support.annotation.RequiresApi; import android.support.test.InstrumentationRegistry; import android.support.test.filters.LargeTest; import android.support.test.filters.SdkSuppress; +import android.support.test.filters.Suppress; import android.support.test.runner.AndroidJUnit4; import com.android.contacts.common.model.SimContact; @@ -49,8 +50,6 @@ import static android.os.Build.VERSION_CODES; import static org.hamcrest.Matchers.allOf; import static org.junit.Assert.assertThat; -import android.support.test.filters.Suppress; - @RunWith(Enclosed.class) public class SimContactDaoTests { diff --git a/tests/src/com/android/contacts/common/test/mocks/MockContentProvider.java b/tests/src/com/android/contacts/common/test/mocks/MockContentProvider.java index 336467da7..d3950fc36 100644 --- a/tests/src/com/android/contacts/common/test/mocks/MockContentProvider.java +++ b/tests/src/com/android/contacts/common/test/mocks/MockContentProvider.java @@ -165,7 +165,7 @@ public class MockContentProvider extends android.test.mock.MockContentProvider { public Cursor getResult(String[] projection) { String[] columnNames; if (mAnyProjection) { - columnNames = projection; + columnNames = projection != null ? projection : mDefaultProjection; } else { columnNames = mProjection != null ? mProjection : mDefaultProjection; } @@ -176,9 +176,9 @@ public class MockContentProvider extends android.test.mock.MockContentProvider { cursor.addRow((Object[]) row); } else { ContentValues values = (ContentValues) row; - Object[] columns = new Object[projection.length]; - for (int i = 0; i < projection.length; i++) { - columns[i] = values.get(projection[i]); + Object[] columns = new Object[columnNames.length]; + for (int i = 0; i < columnNames.length; i++) { + columns[i] = values.get(columnNames[i]); } cursor.addRow(columns); } @@ -485,6 +485,10 @@ public class MockContentProvider extends android.test.mock.MockContentProvider { return expect(new Query(contentUri)); } + public Query expectQuery(String contentUri) { + return expectQuery(Uri.parse(contentUri)); + } + public void expectTypeQuery(Uri uri, String type) { mExpectedTypeQueries.put(uri, type); } diff --git a/tests/src/com/android/contacts/tests/AccountsTestHelper.java b/tests/src/com/android/contacts/tests/AccountsTestHelper.java index 11476b33d..c25c3b484 100644 --- a/tests/src/com/android/contacts/tests/AccountsTestHelper.java +++ b/tests/src/com/android/contacts/tests/AccountsTestHelper.java @@ -28,6 +28,7 @@ import android.support.test.InstrumentationRegistry; import android.util.Log; import com.android.contacts.common.model.account.AccountWithDataSet; +import com.android.contacts.common.preference.ContactsPreferences; import static junit.framework.Assert.assertNotNull; import static junit.framework.Assert.assertTrue; @@ -38,8 +39,6 @@ public class AccountsTestHelper { public static final String TEST_ACCOUNT_TYPE = "com.android.contacts.tests.testauth.basic"; - public static final String EXTRA_ACCOUNT_NAME = "accountName"; - private final Context mContext; private final AccountManager mAccountManager; private final ContentResolver mResolver; @@ -117,9 +116,9 @@ public class AccountsTestHelper { * -w com.google.android.contacts.tests/com.android.contacts.RunMethodInstrumentation */ public static void addTestAccount(Context context, Bundle args) { - final String accountName = args.getString(EXTRA_ACCOUNT_NAME); + final String accountName = args.getString("name"); if (accountName == null) { - Log.e(TAG, "args must contain extra " + EXTRA_ACCOUNT_NAME); + Log.e(TAG, "args must contain extra \"name\""); return; } @@ -128,13 +127,31 @@ public class AccountsTestHelper { @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP_MR1) public static void removeTestAccount(Context context, Bundle args) { - final String accountName = args.getString(EXTRA_ACCOUNT_NAME); + final String accountName = args.getString("name"); if (accountName == null) { - Log.e(TAG, "args must contain extra " + EXTRA_ACCOUNT_NAME); + Log.e(TAG, "args must contain extra \"name\""); return; } - AccountWithDataSet account = new AccountWithDataSet(accountName, TEST_ACCOUNT_TYPE, null); + final AccountWithDataSet account = new AccountWithDataSet(accountName, TEST_ACCOUNT_TYPE, + null); new AccountsTestHelper(context).removeTestAccount(account); } + + public static void setDefaultAccount(Context context, Bundle args) { + final String name = args.getString("name"); + final String type = args.getString("type"); + + if (name == null || type == null) { + Log.e(TAG, "args must contain extras \"name\" and \"type\""); + return; + } + + new ContactsPreferences(context).setDefaultAccount( + new AccountWithDataSet(name, type, null)); + } + + public static void clearDefaultAccount(Context context) { + new ContactsPreferences(context).clearDefaultAccount(); + } } |