summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormaxbogue <maxbogue@chromium.org>2015-06-18 15:42:07 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-18 22:42:35 +0000
commit73564a5384e8ae088e72d120d7a92ba3683d6b8e (patch)
tree1d5e3b116f33b2b289acceabb992bb74a3bde36f
parentbfa767842bd01af263ae0681a6748f5458fdfc8d (diff)
downloadchromium_src-73564a5384e8ae088e72d120d7a92ba3683d6b8e.zip
chromium_src-73564a5384e8ae088e72d120d7a92ba3683d6b8e.tar.gz
chromium_src-73564a5384e8ae088e72d120d7a92ba3683d6b8e.tar.bz2
[Sync] Add tests for disabled data types on Android.
BUG=480604 Review URL: https://codereview.chromium.org/1181253004 Cr-Commit-Position: refs/heads/master@{#335148}
-rw-r--r--chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/AutofillTest.java18
-rw-r--r--chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/BookmarksTest.java21
-rw-r--r--chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/SyncTestBase.java14
3 files changed, 50 insertions, 3 deletions
diff --git a/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/AutofillTest.java b/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/AutofillTest.java
index 0cbbe9c..7435ca8 100644
--- a/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/AutofillTest.java
+++ b/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/AutofillTest.java
@@ -64,7 +64,7 @@ public class AutofillTest extends SyncTestBase {
@LargeTest
@Feature({"Sync"})
public void testDownloadAutofill() throws Exception {
- addServerAutofillProfile(STREET, CITY, STATE, ZIP);
+ addServerAutofillData(STREET, CITY, STATE, ZIP);
assertServerAutofillCountWithName(1, STREET);
SyncTestUtil.triggerSyncAndWaitForCompletion(mContext);
@@ -84,7 +84,7 @@ public class AutofillTest extends SyncTestBase {
@Feature({"Sync"})
public void testDownloadDeletedAutofill() throws Exception {
// Add the entity to test deleting.
- addServerAutofillProfile(STREET, CITY, STATE, ZIP);
+ addServerAutofillData(STREET, CITY, STATE, ZIP);
SyncTestUtil.triggerSyncAndWaitForCompletion(mContext);
assertServerAutofillCountWithName(1, STREET);
assertClientAutofillCount(1);
@@ -97,7 +97,19 @@ public class AutofillTest extends SyncTestBase {
waitForClientAutofillCount(0);
}
- private void addServerAutofillProfile(String street, String city, String state, String zip) {
+ // Test that autofill entries don't get synced if the data type is disabled.
+ @LargeTest
+ @Feature({"Sync"})
+ public void testDisabledNoDownloadAutofill() throws Exception {
+ disableDataType(ModelType.AUTOFILL);
+ addServerAutofillData(STREET, CITY, STATE, ZIP);
+ assertServerAutofillCountWithName(1, STREET);
+ SyncTestUtil.triggerSyncAndWaitForCompletion(mContext);
+ assertClientAutofillCount(0);
+ }
+
+ // TODO(maxbogue): Switch to using specifics.autofill_profile instead.
+ private void addServerAutofillData(String street, String city, String state, String zip) {
EntitySpecifics specifics = new EntitySpecifics();
specifics.autofill = new AutofillSpecifics();
AutofillProfileSpecifics profile = new AutofillProfileSpecifics();
diff --git a/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/BookmarksTest.java b/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/BookmarksTest.java
index 90e8875..f3b0fc1 100644
--- a/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/BookmarksTest.java
+++ b/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/BookmarksTest.java
@@ -137,6 +137,27 @@ public class BookmarksTest extends SyncTestBase {
assertServerBookmarkCountWithName(0, MODIFIED_TITLE);
}
+ // Test that bookmarks don't get downloaded if the data type is disabled.
+ @LargeTest
+ @Feature({"Sync"})
+ public void testDisabledNoDownloadBookmark() throws Exception {
+ disableDataType(ModelType.BOOKMARK);
+ addServerBookmarkAndSync(TITLE, URL);
+ waitForServerBookmarkCountWithName(1, TITLE);
+ SyncTestUtil.triggerSyncAndWaitForCompletion(mContext);
+ assertClientBookmarkCount(0);
+ }
+
+ // Test that bookmarks don't get uploaded if the data type is disabled.
+ @LargeTest
+ @Feature({"Sync"})
+ public void testDisabledNoUploadBookmark() throws Exception {
+ disableDataType(ModelType.BOOKMARK);
+ addClientBookmark(TITLE, URL);
+ SyncTestUtil.triggerSyncAndWaitForCompletion(mContext);
+ assertServerBookmarkCountWithName(0, TITLE);
+ }
+
private BookmarkId addClientBookmark(final String title, final String url) {
final AtomicReference<BookmarkId> id = new AtomicReference<BookmarkId>();
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
diff --git a/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/SyncTestBase.java b/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/SyncTestBase.java
index 05a3970..f967b31 100644
--- a/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/SyncTestBase.java
+++ b/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/SyncTestBase.java
@@ -16,11 +16,14 @@ import org.chromium.chrome.browser.signin.SigninManager;
import org.chromium.chrome.shell.ChromeShellTestBase;
import org.chromium.chrome.test.util.browser.sync.SyncTestUtil;
import org.chromium.sync.AndroidSyncSettings;
+import org.chromium.sync.internal_api.pub.base.ModelType;
import org.chromium.sync.signin.AccountManagerHelper;
import org.chromium.sync.signin.ChromeSigninController;
import org.chromium.sync.test.util.MockAccountManager;
import org.chromium.sync.test.util.MockSyncContentResolverDelegate;
+import java.util.Set;
+
/**
* Base class for common functionality between sync tests.
*/
@@ -183,4 +186,15 @@ public class SyncTestBase extends ChromeShellTestBase {
}
});
}
+
+ protected void disableDataType(final ModelType modelType) {
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ Set<ModelType> preferredTypes = mProfileSyncService.getPreferredDataTypes();
+ preferredTypes.remove(modelType);
+ mProfileSyncService.setPreferredDataTypes(false, preferredTypes);
+ }
+ });
+ }
}