diff options
author | Wenyi Wang <wenyiw@google.com> | 2016-09-30 17:23:25 -0700 |
---|---|---|
committer | Wenyi Wang <wenyiw@google.com> | 2016-09-30 18:15:00 -0700 |
commit | 60042b0823e4120342f25295a6cdcc7767735955 (patch) | |
tree | 1bae5a316f626bd585620105b712a35de0c05ef7 /tests | |
parent | 56c8a0cce9ea98e0f088e74474a57968a02810ab (diff) | |
download | Contacts-60042b0823e4120342f25295a6cdcc7767735955.tar.gz |
Second pass on consolidating usage of AccountManager
Bug: 31776692
Test: run unit tests
Change-Id: I1c3804e33d8e66bb970afd32e63568368cdfb72b
Diffstat (limited to 'tests')
-rw-r--r-- | tests/src/com/android/contacts/common/model/AccountTypeManagerDefaultAccountTests.java | 103 | ||||
-rw-r--r-- | tests/src/com/android/contacts/common/model/AccountTypeManagerTest.java | 75 |
2 files changed, 75 insertions, 103 deletions
diff --git a/tests/src/com/android/contacts/common/model/AccountTypeManagerDefaultAccountTests.java b/tests/src/com/android/contacts/common/model/AccountTypeManagerDefaultAccountTests.java deleted file mode 100644 index 9a3f91b8f..000000000 --- a/tests/src/com/android/contacts/common/model/AccountTypeManagerDefaultAccountTests.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.contacts.common.model; - -import android.accounts.Account; -import android.accounts.AccountManager; -import android.content.SharedPreferences; -import android.test.InstrumentationTestCase; -import android.test.suitebuilder.annotation.SmallTest; - -import com.android.contacts.common.model.account.AccountWithDataSet; -import com.android.contacts.common.model.account.GoogleAccountType; - -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; - -import static org.mockito.Mockito.when; - -/** - * Tests for {@link AccountTypeManager#getDefaultGoogleAccount()} - */ -@SmallTest -public class AccountTypeManagerDefaultAccountTests extends InstrumentationTestCase { - - private static final Account[] ACCOUNTS = new Account[2]; - static { - ACCOUNTS[0] = new Account("name1", GoogleAccountType.ACCOUNT_TYPE); - ACCOUNTS[1] = new Account("name2", GoogleAccountType.ACCOUNT_TYPE); - } - - @Mock private AccountManager mAccountManager; - @Mock private SharedPreferences mPrefs; - - @Override - public void setUp() throws Exception { - super.setUp(); - System.setProperty("dexmaker.dexcache", - getInstrumentation().getTargetContext().getCacheDir().getPath()); - MockitoAnnotations.initMocks(this); - } - - public void testGetDefaultAccount_NoAccounts() { - assertNull(getDefaultGoogleAccountName()); - } - - public void testGetDefaultAccount_NoAccounts_DefaultPreferenceSet() { - when(mPrefs.getString(Mockito.anyString(), Mockito.anyString())).thenReturn( - getDefaultAccountPreference("name1", GoogleAccountType.ACCOUNT_TYPE)); - assertNull(getDefaultGoogleAccountName()); - } - - public void testGetDefaultAccount_NoDefaultAccountPreferenceSet() { - when(mAccountManager.getAccountsByType(Mockito.anyString())).thenReturn(ACCOUNTS); - assertEquals("name1", getDefaultGoogleAccountName()); - } - - public void testGetDefaultAccount_DefaultAccountPreferenceSet() { - when(mAccountManager.getAccountsByType(Mockito.anyString())).thenReturn(ACCOUNTS); - when(mPrefs.getString(Mockito.anyString(), Mockito.anyString())).thenReturn( - getDefaultAccountPreference("name2", GoogleAccountType.ACCOUNT_TYPE)); - assertEquals("name2", getDefaultGoogleAccountName()); - } - - public void testGetDefaultAccount_DefaultAccountPreferenceSet_NonGoogleAccountType() { - when(mAccountManager.getAccountsByType(Mockito.anyString())).thenReturn(ACCOUNTS); - when(mPrefs.getString(Mockito.anyString(), Mockito.anyString())).thenReturn( - getDefaultAccountPreference("name3", "type3")); - assertEquals("name1", getDefaultGoogleAccountName()); - } - - public void testGetDefaultAccount_DefaultAccountPreferenceSet_UnknownName() { - when(mAccountManager.getAccountsByType(Mockito.anyString())).thenReturn(ACCOUNTS); - when(mPrefs.getString(Mockito.anyString(), Mockito.anyString())).thenReturn( - getDefaultAccountPreference("name4",GoogleAccountType.ACCOUNT_TYPE)); - assertEquals("name1", getDefaultGoogleAccountName()); - } - - private final String getDefaultGoogleAccountName() { - // We don't need the real preference key value since it's mocked - final Account account = AccountTypeManager.getDefaultGoogleAccount( - mAccountManager, mPrefs, "contact_editor_default_account_key"); - return account == null ? null : account.name; - } - - private static final String getDefaultAccountPreference(String name, String type) { - return new AccountWithDataSet(name, type, /* dataSet */ null).stringify(); - } -}
\ No newline at end of file diff --git a/tests/src/com/android/contacts/common/model/AccountTypeManagerTest.java b/tests/src/com/android/contacts/common/model/AccountTypeManagerTest.java index b8ebdd2d6..82200ed59 100644 --- a/tests/src/com/android/contacts/common/model/AccountTypeManagerTest.java +++ b/tests/src/com/android/contacts/common/model/AccountTypeManagerTest.java @@ -16,16 +16,26 @@ package com.android.contacts.common.model; +import android.accounts.Account; +import android.accounts.AccountManager; import android.content.Context; +import android.content.SharedPreferences; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; import com.android.contacts.common.model.account.AccountType; import com.android.contacts.common.model.account.AccountTypeWithDataSet; import com.android.contacts.common.model.account.AccountWithDataSet; +import com.android.contacts.common.model.account.GoogleAccountType; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; + +import static org.mockito.Mockito.when; + import java.util.Collection; import java.util.HashMap; import java.util.List; @@ -39,6 +49,23 @@ import java.util.Map; */ @SmallTest public class AccountTypeManagerTest extends AndroidTestCase { + + private static final Account[] ACCOUNTS = new Account[2]; + static { + ACCOUNTS[0] = new Account("name1", GoogleAccountType.ACCOUNT_TYPE); + ACCOUNTS[1] = new Account("name2", GoogleAccountType.ACCOUNT_TYPE); + } + + @Mock private AccountManager mAccountManager; + @Mock private SharedPreferences mPrefs; + + @Override + public void setUp() throws Exception { + super.setUp(); + System.setProperty("dexmaker.dexcache", getContext().getCacheDir().getPath()); + MockitoAnnotations.initMocks(this); + } + public void testFindAllInvitableAccountTypes() { final Context c = getContext(); @@ -195,4 +222,52 @@ public class AccountTypeManagerTest extends AndroidTestCase { return false; } } + + + public void testGetDefaultAccount_NoAccounts() { + assertNull(getDefaultGoogleAccountName()); + } + + public void testGetDefaultAccount_NoAccounts_DefaultPreferenceSet() { + when(mPrefs.getString(Mockito.anyString(), Mockito.anyString())).thenReturn( + getDefaultAccountPreference("name1", GoogleAccountType.ACCOUNT_TYPE)); + assertNull(getDefaultGoogleAccountName()); + } + + public void testGetDefaultAccount_NoDefaultAccountPreferenceSet() { + when(mAccountManager.getAccountsByType(Mockito.anyString())).thenReturn(ACCOUNTS); + assertEquals("name1", getDefaultGoogleAccountName()); + } + + public void testGetDefaultAccount_DefaultAccountPreferenceSet() { + when(mAccountManager.getAccountsByType(Mockito.anyString())).thenReturn(ACCOUNTS); + when(mPrefs.getString(Mockito.anyString(), Mockito.anyString())).thenReturn( + getDefaultAccountPreference("name2", GoogleAccountType.ACCOUNT_TYPE)); + assertEquals("name2", getDefaultGoogleAccountName()); + } + + public void testGetDefaultAccount_DefaultAccountPreferenceSet_NonGoogleAccountType() { + when(mAccountManager.getAccountsByType(Mockito.anyString())).thenReturn(ACCOUNTS); + when(mPrefs.getString(Mockito.anyString(), Mockito.anyString())).thenReturn( + getDefaultAccountPreference("name3", "type3")); + assertEquals("name1", getDefaultGoogleAccountName()); + } + + public void testGetDefaultAccount_DefaultAccountPreferenceSet_UnknownName() { + when(mAccountManager.getAccountsByType(Mockito.anyString())).thenReturn(ACCOUNTS); + when(mPrefs.getString(Mockito.anyString(), Mockito.anyString())).thenReturn( + getDefaultAccountPreference("name4",GoogleAccountType.ACCOUNT_TYPE)); + assertEquals("name1", getDefaultGoogleAccountName()); + } + + private final String getDefaultGoogleAccountName() { + // We don't need the real preference key value since it's mocked + final Account account = AccountTypeManager.getDefaultGoogleAccount( + mAccountManager, mPrefs, "contact_editor_default_account_key"); + return account == null ? null : account.name; + } + + private static final String getDefaultAccountPreference(String name, String type) { + return new AccountWithDataSet(name, type, /* dataSet */ null).stringify(); + } } |