summaryrefslogtreecommitdiff
path: root/tests/src/com/android/dialer/filterednumber/BlockedNumbersAutoMigratorTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/dialer/filterednumber/BlockedNumbersAutoMigratorTest.java')
-rw-r--r--tests/src/com/android/dialer/filterednumber/BlockedNumbersAutoMigratorTest.java201
1 files changed, 0 insertions, 201 deletions
diff --git a/tests/src/com/android/dialer/filterednumber/BlockedNumbersAutoMigratorTest.java b/tests/src/com/android/dialer/filterednumber/BlockedNumbersAutoMigratorTest.java
deleted file mode 100644
index 505855528..000000000
--- a/tests/src/com/android/dialer/filterednumber/BlockedNumbersAutoMigratorTest.java
+++ /dev/null
@@ -1,201 +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.dialer.filterednumber;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
-import android.test.AndroidTestCase;
-
-import com.android.contacts.common.compat.CompatUtils;
-import com.android.dialer.compat.FilteredNumberCompat;
-import com.android.dialer.database.FilteredNumberAsyncQueryHandler;
-import com.android.dialer.database.FilteredNumberAsyncQueryHandler.OnHasBlockedNumbersListener;
-
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-
-public class BlockedNumbersAutoMigratorTest extends AndroidTestCase {
-
- private static final String HAS_CHECKED_AUTO_MIGRATE_KEY_FOR_TEST = "checkedAutoMigrateForTest";
-
- @Mock
- private FilteredNumberAsyncQueryHandler mockQueryHandler;
-
- private SharedPreferences sharedPreferences;
-
- private BlockedNumbersAutoMigrator blockedNumbersAutoMigrator;
-
- @Override
- public void setUp() throws Exception {
- super.setUp();
- MockitoAnnotations.initMocks(this);
- FilteredNumberCompat.setContextForTest(getContext());
- FilteredNumberCompat.setHasMigratedToNewBlocking(false);
-
- sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
- // SharedPreference state isn't cleaned up between each test automatically, clear it now
- sharedPreferences.edit().clear().apply();
-
- blockedNumbersAutoMigrator = new BlockedNumbersAutoMigrator(sharedPreferences,
- mockQueryHandler);
- }
-
- public void testConstructor_NullSharedPreferences() {
- try {
- new BlockedNumbersAutoMigrator(null, mockQueryHandler);
- fail();
- } catch (NullPointerException e) {
- }
- }
-
- public void testConstructor_NullQueryHandler() {
- try {
- new BlockedNumbersAutoMigrator(sharedPreferences, null);
- fail();
- } catch (NullPointerException e) {
- }
- }
-
- public void testAutoMigrate_M() {
- if (CompatUtils.isNCompatible()) {
- return;
- }
- blockedNumbersAutoMigrator.autoMigrate();
-
- verify(mockQueryHandler, never()).hasBlockedNumbers(any(OnHasBlockedNumbersListener.class));
- }
-
- public void testAutoMigrate_AlreadyMigrated() {
- if (!CompatUtils.isNCompatible()) {
- return;
- }
- FilteredNumberCompat.setHasMigratedToNewBlocking(true);
-
- blockedNumbersAutoMigrator.autoMigrate();
-
- verify(mockQueryHandler, never()).hasBlockedNumbers(any(OnHasBlockedNumbersListener.class));
- }
-
- public void testAutoMigrate_AlreadyChecked() {
- if (!CompatUtils.isNCompatible()) {
- return;
- }
- sharedPreferences.edit()
- .putBoolean(HAS_CHECKED_AUTO_MIGRATE_KEY_FOR_TEST, true)
- .apply();
-
- blockedNumbersAutoMigrator.autoMigrate();
-
- verify(mockQueryHandler, never()).hasBlockedNumbers(any(OnHasBlockedNumbersListener.class));
- }
-
- public void testAutoMigrate_HasNumbers() {
- if (!CompatUtils.isNCompatible()) {
- return;
- }
- setupFilteredNumberHasBlockedNumbersExpectation(true);
-
- blockedNumbersAutoMigrator.autoMigrate();
-
- verify(mockQueryHandler).hasBlockedNumbers(any(OnHasBlockedNumbersListener.class));
- assertFalse(FilteredNumberCompat.hasMigratedToNewBlocking());
- }
-
- public void testAutoMigrate_HasNumbers_MultipleCalls() {
- if (!CompatUtils.isNCompatible()) {
- return;
- }
- setupFilteredNumberHasBlockedNumbersExpectation(true);
-
- blockedNumbersAutoMigrator.autoMigrate();
- blockedNumbersAutoMigrator.autoMigrate();
-
- verify(mockQueryHandler, times(1))
- .hasBlockedNumbers(any(OnHasBlockedNumbersListener.class));
- assertFalse(FilteredNumberCompat.hasMigratedToNewBlocking());
- }
-
- public void testAutoMigrate_NoNumbers() {
- if (!CompatUtils.isNCompatible()) {
- return;
- }
- setupFilteredNumberHasBlockedNumbersExpectation(false);
-
- blockedNumbersAutoMigrator.autoMigrate();
-
- verify(mockQueryHandler).hasBlockedNumbers(any(OnHasBlockedNumbersListener.class));
- assertTrue(FilteredNumberCompat.hasMigratedToNewBlocking());
- }
-
- public void testAutoMigrate_NoNumbers_MultipleCalls() {
- if (!CompatUtils.isNCompatible()) {
- return;
- }
- setupFilteredNumberHasBlockedNumbersExpectation(false);
-
- blockedNumbersAutoMigrator.autoMigrate();
- blockedNumbersAutoMigrator.autoMigrate();
-
- verify(mockQueryHandler, times(1))
- .hasBlockedNumbers(any(OnHasBlockedNumbersListener.class));
- assertTrue(FilteredNumberCompat.hasMigratedToNewBlocking());
- }
-
-
- public void testAutoMigrate_SimulateClearingAppData() {
- if (!CompatUtils.isNCompatible()) {
- return;
- }
- setupFilteredNumberHasBlockedNumbersExpectation(true);
-
- blockedNumbersAutoMigrator.autoMigrate();
-
- // Clearing app data removes the sharedPreferences and all of the blocked numbers
- sharedPreferences.edit().clear().apply();
- setupFilteredNumberHasBlockedNumbersExpectation(false);
-
- blockedNumbersAutoMigrator.autoMigrate();
-
- verify(mockQueryHandler, times(2))
- .hasBlockedNumbers(any(OnHasBlockedNumbersListener.class));
- assertTrue(FilteredNumberCompat.hasMigratedToNewBlocking());
- }
-
- /*
- * Sets up the {@link #mockQueryHandler} to call the {@link OnHasBlockedNumbersListener} with
- * the given hasBlockedNumbers value as the parameter, when
- * {@link FilteredNumberAsyncQueryHandler#hasBlockedNumbers} is called.
- */
- private void setupFilteredNumberHasBlockedNumbersExpectation(final boolean hasBlockedNumbers) {
- doAnswer(new Answer<Void>() {
- @Override
- public Void answer(InvocationOnMock invocation) throws Throwable {
- ((OnHasBlockedNumbersListener) invocation.getArguments()[0])
- .onHasBlockedNumbers(hasBlockedNumbers);
- return null;
- }
- }).when(mockQueryHandler).hasBlockedNumbers(any(OnHasBlockedNumbersListener.class));
- }
-}