Commit 7b27ecff authored by pavely's avatar pavely Committed by Commit bot

[Sync] Set signed in account before AndroidSyncSettings to match test expectations

Test expectation is that there is no signed in account at the beginning, and by
the end of setUp test expects mAccount to appear signed in from
AndroidSyncSettings perspective. It is done by calling updateAccount(mAccount)
from setUp(). The issue happens when there is another signed in account
according to ChromeSigninController.getSignedInAccountName, potentially left
from some other test execution.

The fix is to reset signed in account with
ChromeSigninController.setSignedInAccountName before AndroidSyncSettings
initialization.

R=skym@chromium.org
BUG=717960

Review-Url: https://codereview.chromium.org/2884953004
Cr-Commit-Position: refs/heads/master@{#472232}
parent 5b36d323
...@@ -13,7 +13,6 @@ import android.test.InstrumentationTestCase; ...@@ -13,7 +13,6 @@ import android.test.InstrumentationTestCase;
import org.chromium.base.Callback; import org.chromium.base.Callback;
import org.chromium.base.ThreadUtils; import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.CallbackHelper; import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Feature;
import org.chromium.components.signin.AccountManagerHelper; import org.chromium.components.signin.AccountManagerHelper;
import org.chromium.components.signin.ChromeSigninController; import org.chromium.components.signin.ChromeSigninController;
...@@ -104,20 +103,13 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase { ...@@ -104,20 +103,13 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase {
protected void setUp() throws Exception { protected void setUp() throws Exception {
mContext = getInstrumentation().getTargetContext(); mContext = getInstrumentation().getTargetContext();
setupTestAccounts(mContext); setupTestAccounts(mContext);
// Set signed in account to mAccount before initializing AndroidSyncSettings to let
// AndroidSyncSettings establish correct assumptions.
ChromeSigninController.get().setSignedInAccountName(mAccount.name);
mSyncContentResolverDelegate = new CountingMockSyncContentResolverDelegate(); mSyncContentResolverDelegate = new CountingMockSyncContentResolverDelegate();
AndroidSyncSettings.overrideForTests(mContext, mSyncContentResolverDelegate); AndroidSyncSettings.overrideForTests(mContext, mSyncContentResolverDelegate);
mAuthority = AndroidSyncSettings.getContractAuthority(mContext); mAuthority = AndroidSyncSettings.getContractAuthority(mContext);
final CallbackHelper callbackHelper = new CallbackHelper();
assertFalse(ChromeSigninController.get().isSignedIn());
AndroidSyncSettings.updateAccount(mContext, mAccount, new Callback<Boolean>() {
@Override
public void onResult(Boolean result) {
assertTrue(result);
callbackHelper.notifyCalled();
}
});
callbackHelper.waitForCallback(0);
assertEquals(1, mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority)); assertEquals(1, mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority));
mSyncSettingsObserver = new MockSyncSettingsObserver(); mSyncSettingsObserver = new MockSyncSettingsObserver();
...@@ -165,9 +157,8 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase { ...@@ -165,9 +157,8 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase {
}); });
} }
// @SmallTest @SmallTest
// @Feature({"Sync"}) @Feature({"Sync"})
@DisabledTest(message = "crbug.com/717960")
public void testAccountInitialization() throws InterruptedException, TimeoutException { public void testAccountInitialization() throws InterruptedException, TimeoutException {
// mAccount was set to be syncable and not have periodic syncs. // mAccount was set to be syncable and not have periodic syncs.
assertEquals(1, mSyncContentResolverDelegate.mSetIsSyncableCalls.get()); assertEquals(1, mSyncContentResolverDelegate.mSetIsSyncableCalls.get());
...@@ -177,7 +168,6 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase { ...@@ -177,7 +168,6 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase {
AndroidSyncSettings.updateAccount(mContext, null, new Callback<Boolean>() { AndroidSyncSettings.updateAccount(mContext, null, new Callback<Boolean>() {
@Override @Override
public void onResult(Boolean result) { public void onResult(Boolean result) {
assertTrue(result);
callbackHelper.notifyCalled(); callbackHelper.notifyCalled();
} }
}); });
......
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