Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3460)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTest.java

Issue 457883002: Use Sync FakeServer in Android tests via custom APK (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add readme Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTest.java
deleted file mode 100644
index 768d33fda0a54f076290bdb3a1d4a6d0579a6156..0000000000000000000000000000000000000000
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTest.java
+++ /dev/null
@@ -1,182 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.chrome.browser.sync;
-
-import android.accounts.Account;
-import android.app.Activity;
-import android.util.Log;
-
-import org.chromium.base.ThreadUtils;
-import org.chromium.base.test.util.HostDrivenTest;
-import org.chromium.chrome.browser.identity.UniqueIdentificationGenerator;
-import org.chromium.chrome.browser.identity.UniqueIdentificationGeneratorFactory;
-import org.chromium.chrome.browser.identity.UuidBasedUniqueIdentificationGenerator;
-import org.chromium.chrome.shell.ChromeShellActivity;
-import org.chromium.chrome.shell.ChromeShellTestBase;
-import org.chromium.chrome.shell.sync.SyncController;
-import org.chromium.chrome.test.util.browser.sync.SyncTestUtil;
-import org.chromium.content.browser.ContentViewCore;
-import org.chromium.content.browser.test.util.Criteria;
-import org.chromium.content.browser.test.util.CriteriaHelper;
-import org.chromium.content.browser.test.util.JavaScriptUtils;
-import org.chromium.sync.notifier.SyncStatusHelper;
-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.concurrent.TimeoutException;
-
-/**
- * Test suite for Sync.
- */
-public class SyncTest extends ChromeShellTestBase {
- private static final String TAG = "SyncTest";
-
- private static final String FOREIGN_SESSION_TEST_MACHINE_ID =
- "DeleteForeignSessionTest_Machine_1";
-
- private SyncTestUtil.SyncTestContext mContext;
- private MockAccountManager mAccountManager;
- private SyncController mSyncController;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- clearAppData();
-
- // Mock out the account manager on the device.
- mContext = new SyncTestUtil.SyncTestContext(getInstrumentation().getTargetContext());
- mAccountManager = new MockAccountManager(mContext, getInstrumentation().getContext());
- AccountManagerHelper.overrideAccountManagerHelperForTests(mContext, mAccountManager);
- MockSyncContentResolverDelegate syncContentResolverDelegate =
- new MockSyncContentResolverDelegate();
- syncContentResolverDelegate.setMasterSyncAutomatically(true);
- SyncStatusHelper.overrideSyncStatusHelperForTests(mContext, syncContentResolverDelegate);
- // This call initializes the ChromeSigninController to use our test context.
- ChromeSigninController.get(mContext);
- startChromeBrowserProcessSync(getInstrumentation().getTargetContext());
- ThreadUtils.runOnUiThreadBlocking(new Runnable() {
- @Override
- public void run() {
- mSyncController = SyncController.get(mContext);
- }
- });
- SyncTestUtil.verifySyncServerIsRunning();
- }
-
- @HostDrivenTest
- public void testGetAboutSyncInfoYieldsValidData() throws Throwable {
- setupTestAccountAndSignInToSync(FOREIGN_SESSION_TEST_MACHINE_ID);
-
- final SyncTestUtil.AboutSyncInfoGetter syncInfoGetter =
- new SyncTestUtil.AboutSyncInfoGetter(getActivity());
- runTestOnUiThread(syncInfoGetter);
-
- boolean gotInfo = CriteriaHelper.pollForCriteria(new Criteria() {
- @Override
- public boolean isSatisfied() {
- return !syncInfoGetter.getAboutInfo().isEmpty();
- }
- }, SyncTestUtil.UI_TIMEOUT_MS, SyncTestUtil.CHECK_INTERVAL_MS);
-
- assertTrue("Couldn't get about info.", gotInfo);
- }
-
- @HostDrivenTest
- public void testAboutSyncPageDisplaysCurrentSyncStatus() throws InterruptedException {
- setupTestAccountAndSignInToSync(FOREIGN_SESSION_TEST_MACHINE_ID);
-
- loadUrlWithSanitization("chrome://sync");
- SyncTestUtil.AboutSyncInfoGetter aboutInfoGetter =
- new SyncTestUtil.AboutSyncInfoGetter(getActivity());
- try {
- runTestOnUiThread(aboutInfoGetter);
- } catch (Throwable t) {
- Log.w(TAG,
- "Exception while trying to fetch about sync info from ProfileSyncService.", t);
- fail("Unable to fetch sync info from ProfileSyncService.");
- }
- assertFalse("About sync info should not be empty.",
- aboutInfoGetter.getAboutInfo().isEmpty());
- assertTrue("About sync info should have sync summary status.",
- aboutInfoGetter.getAboutInfo().containsKey(SyncTestUtil.SYNC_SUMMARY_STATUS));
- final String expectedSyncSummary =
- aboutInfoGetter.getAboutInfo().get(SyncTestUtil.SYNC_SUMMARY_STATUS);
-
- Criteria checker = new Criteria() {
- @Override
- public boolean isSatisfied() {
- final ContentViewCore contentViewCore = getContentViewCore(getActivity());
- String innerHtml = "";
- try {
- innerHtml = JavaScriptUtils.executeJavaScriptAndWaitForResult(
- contentViewCore, "document.documentElement.innerHTML");
- } catch (InterruptedException e) {
- Log.w(TAG, "Interrupted while polling about:sync page for sync status.", e);
- } catch (TimeoutException e) {
- Log.w(TAG, "Interrupted while polling about:sync page for sync status.", e);
- }
- return innerHtml.contains(expectedSyncSummary);
- }
-
- };
- boolean hadExpectedStatus = CriteriaHelper.pollForCriteria(
- checker, SyncTestUtil.UI_TIMEOUT_MS, SyncTestUtil.CHECK_INTERVAL_MS);
- assertTrue("Sync status not present on about sync page: " + expectedSyncSummary,
- hadExpectedStatus);
- }
-
- @HostDrivenTest
- public void testDisableAndEnableSync() throws InterruptedException {
- setupTestAccountAndSignInToSync(FOREIGN_SESSION_TEST_MACHINE_ID);
- Account account =
- AccountManagerHelper.createAccountFromName(SyncTestUtil.DEFAULT_TEST_ACCOUNT);
-
- // Disabling Android sync should turn Chrome sync engine off.
- SyncStatusHelper.get(mContext).disableAndroidSync(account);
- SyncTestUtil.verifySyncIsDisabled(mContext, account);
-
- // Enabling Android sync should turn Chrome sync engine on.
- SyncStatusHelper.get(mContext).enableAndroidSync(account);
- SyncTestUtil.ensureSyncInitialized(mContext);
- SyncTestUtil.verifySignedInWithAccount(mContext, account);
- }
-
- private void setupTestAccountAndSignInToSync(
- final String syncClientIdentifier)
- throws InterruptedException {
- Account defaultTestAccount = SyncTestUtil.setupTestAccountThatAcceptsAllAuthTokens(
- mAccountManager, SyncTestUtil.DEFAULT_TEST_ACCOUNT, SyncTestUtil.DEFAULT_PASSWORD);
-
- UniqueIdentificationGeneratorFactory.registerGenerator(
- UuidBasedUniqueIdentificationGenerator.GENERATOR_ID,
- new UniqueIdentificationGenerator() {
- @Override
- public String getUniqueId(String salt) {
- return syncClientIdentifier;
- }
- }, true);
-
- SyncTestUtil.verifySyncIsSignedOut(getActivity());
-
- final Activity activity = launchChromeShellWithBlankPage();
- ThreadUtils.runOnUiThreadBlocking(new Runnable() {
- @Override
- public void run() {
- mSyncController.signIn(activity, SyncTestUtil.DEFAULT_TEST_ACCOUNT);
- }
- });
-
- SyncTestUtil.verifySyncIsSignedIn(mContext, defaultTestAccount);
- assertTrue("Sync everything should be enabled",
- SyncTestUtil.isSyncEverythingEnabled(mContext));
- }
-
- private static ContentViewCore getContentViewCore(ChromeShellActivity activity) {
- return activity.getActiveContentViewCore();
- }
-}

Powered by Google App Engine
This is Rietveld 408576698