Commit c9e3a7c2 authored by maxbogue's avatar maxbogue Committed by Commit bot

[Sync] Test signing in and back out on Android

Ensure that sync still starts properly after signing out and back in.

BUG=480604

Review URL: https://codereview.chromium.org/1122373004

Cr-Commit-Position: refs/heads/master@{#330224}
parent f4c7e804
...@@ -128,6 +128,22 @@ public class SyncTest extends SyncTestBase { ...@@ -128,6 +128,22 @@ public class SyncTest extends SyncTestBase {
hadExpectedStatus); hadExpectedStatus);
} }
@LargeTest
@Feature({"Sync"})
public void testSignInAndOut() throws InterruptedException {
setupTestAccountAndSignInToSync(CLIENT_ID);
Account account =
AccountManagerHelper.createAccountFromName(SyncTestUtil.DEFAULT_TEST_ACCOUNT);
// Signing out should disable sync.
signOut();
SyncTestUtil.verifySyncIsSignedOut(mContext);
// Signing back in should re-enable sync.
signIn(account);
SyncTestUtil.verifySyncIsSignedIn(mContext, account);
}
@LargeTest @LargeTest
@Feature({"Sync"}) @Feature({"Sync"})
public void testDisableAndEnableSyncThroughAndroid() throws InterruptedException { public void testDisableAndEnableSyncThroughAndroid() throws InterruptedException {
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
package org.chromium.chrome.browser.sync; package org.chromium.chrome.browser.sync;
import android.accounts.Account; import android.accounts.Account;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import org.chromium.base.ThreadUtils; import org.chromium.base.ThreadUtils;
...@@ -13,6 +12,7 @@ import org.chromium.chrome.browser.identity.UniqueIdentificationGenerator; ...@@ -13,6 +12,7 @@ import org.chromium.chrome.browser.identity.UniqueIdentificationGenerator;
import org.chromium.chrome.browser.identity.UniqueIdentificationGeneratorFactory; import org.chromium.chrome.browser.identity.UniqueIdentificationGeneratorFactory;
import org.chromium.chrome.browser.identity.UuidBasedUniqueIdentificationGenerator; import org.chromium.chrome.browser.identity.UuidBasedUniqueIdentificationGenerator;
import org.chromium.chrome.browser.signin.AccountIdProvider; import org.chromium.chrome.browser.signin.AccountIdProvider;
import org.chromium.chrome.browser.signin.SigninManager;
import org.chromium.chrome.shell.ChromeShellTestBase; import org.chromium.chrome.shell.ChromeShellTestBase;
import org.chromium.chrome.test.util.browser.sync.SyncTestUtil; import org.chromium.chrome.test.util.browser.sync.SyncTestUtil;
import org.chromium.content.browser.test.util.Criteria; import org.chromium.content.browser.test.util.Criteria;
...@@ -131,15 +131,7 @@ public class SyncTestBase extends ChromeShellTestBase { ...@@ -131,15 +131,7 @@ public class SyncTestBase extends ChromeShellTestBase {
}, true); }, true);
SyncTestUtil.verifySyncIsSignedOut(getActivity()); SyncTestUtil.verifySyncIsSignedOut(getActivity());
signIn(defaultTestAccount);
final Activity activity = launchChromeShellWithBlankPage();
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
mSyncController.signIn(activity, SyncTestUtil.DEFAULT_TEST_ACCOUNT);
}
});
SyncTestUtil.verifySyncIsSignedIn(mContext, defaultTestAccount); SyncTestUtil.verifySyncIsSignedIn(mContext, defaultTestAccount);
assertTrue("Sync everything should be enabled", assertTrue("Sync everything should be enabled",
SyncTestUtil.isSyncEverythingEnabled(mContext)); SyncTestUtil.isSyncEverythingEnabled(mContext));
...@@ -165,6 +157,24 @@ public class SyncTestBase extends ChromeShellTestBase { ...@@ -165,6 +157,24 @@ public class SyncTestBase extends ChromeShellTestBase {
getInstrumentation().waitForIdleSync(); getInstrumentation().waitForIdleSync();
} }
protected void signIn(final Account account) {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
mSyncController.signIn(getActivity(), account.name);
}
});
}
protected void signOut() throws InterruptedException {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
SigninManager.get(mContext).signOut(getActivity(), null);
}
});
}
protected void waitForSyncInitialized() throws InterruptedException { protected void waitForSyncInitialized() throws InterruptedException {
assertTrue(CriteriaHelper.pollForCriteria(new Criteria() { assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
@Override @Override
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment