| Index: chrome/android/javatests/src/org/chromium/chrome/browser/invalidation/ChromeBrowserSyncAdapterTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/ChromeBrowserSyncAdapterTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/invalidation/ChromeBrowserSyncAdapterTest.java
|
| similarity index 58%
|
| rename from chrome/android/javatests/src/org/chromium/chrome/browser/sync/ChromeBrowserSyncAdapterTest.java
|
| rename to chrome/android/javatests/src/org/chromium/chrome/browser/invalidation/ChromeBrowserSyncAdapterTest.java
|
| index c56a6bca5ed0bf2b31442e533f5e8f991bee402d..d707bdd2065438cdb34c3e0a866609f307b185fa 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/ChromeBrowserSyncAdapterTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/invalidation/ChromeBrowserSyncAdapterTest.java
|
| @@ -2,7 +2,7 @@
|
| // 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;
|
| +package org.chromium.chrome.browser.invalidation;
|
|
|
| import android.accounts.Account;
|
| import android.app.Application;
|
| @@ -17,6 +17,7 @@ import org.chromium.base.CommandLine;
|
| import org.chromium.base.test.util.Feature;
|
| import org.chromium.chrome.browser.ChromeActivity;
|
| import org.chromium.chrome.test.ChromeActivityTestCaseBase;
|
| +import org.chromium.components.invalidation.PendingInvalidation;
|
| import org.chromium.content.browser.test.util.Criteria;
|
| import org.chromium.content.browser.test.util.CriteriaHelper;
|
| import org.chromium.sync.AndroidSyncSettings;
|
| @@ -28,7 +29,6 @@ import org.chromium.sync.signin.AccountManagerHelper;
|
| * TODO(nyquist) Remove this class when Chrome sync starts up the same way as the testshell.
|
| */
|
| public class ChromeBrowserSyncAdapterTest extends ChromeActivityTestCaseBase<ChromeActivity> {
|
| -
|
| private static final Account TEST_ACCOUNT =
|
| AccountManagerHelper.createAccountFromName("test@gmail.com");
|
| private static final long WAIT_FOR_LAUNCHER_MS = 10 * 1000;
|
| @@ -54,10 +54,14 @@ public class ChromeBrowserSyncAdapterTest extends ChromeActivityTestCaseBase<Chr
|
| }, WAIT_FOR_LAUNCHER_MS, POLL_INTERVAL_MS));
|
| }
|
|
|
| + private void performSyncWithBundle(Bundle bundle) {
|
| + mSyncAdapter.onPerformSync(TEST_ACCOUNT, bundle,
|
| + AndroidSyncSettings.getContractAuthority(getActivity()), null, new SyncResult());
|
| + }
|
|
|
| private static class TestChromeSyncAdapter extends ChromiumSyncAdapter {
|
| - private boolean mSyncRequested;
|
| - private boolean mSyncRequestedForAllTypes;
|
| + private boolean mInvalidationRequested;
|
| + private boolean mInvalidationRequestedForAllTypes;
|
| private int mObjectSource;
|
| private String mObjectId;
|
| private long mVersion;
|
| @@ -73,25 +77,25 @@ public class ChromeBrowserSyncAdapterTest extends ChromeActivityTestCaseBase<Chr
|
| }
|
|
|
| @Override
|
| - public void requestSync(int objectSource, String objectId, long version, String payload) {
|
| + public void notifyInvalidation(
|
| + int objectSource, String objectId, long version, String payload) {
|
| mObjectSource = objectSource;
|
| mObjectId = objectId;
|
| mVersion = version;
|
| mPayload = payload;
|
| - mSyncRequested = true;
|
| - }
|
| -
|
| - @Override
|
| - public void requestSyncForAllTypes() {
|
| - mSyncRequestedForAllTypes = true;
|
| + if (objectSource == 0) {
|
| + mInvalidationRequestedForAllTypes = true;
|
| + } else {
|
| + mInvalidationRequested = true;
|
| + }
|
| }
|
| }
|
|
|
| @Override
|
| protected void setUp() throws Exception {
|
| super.setUp();
|
| - mSyncAdapter = new TestChromeSyncAdapter(getInstrumentation().getTargetContext(),
|
| - getActivity().getApplication());
|
| + mSyncAdapter = new TestChromeSyncAdapter(
|
| + getInstrumentation().getTargetContext(), getActivity().getApplication());
|
| }
|
|
|
| @Override
|
| @@ -100,44 +104,40 @@ public class ChromeBrowserSyncAdapterTest extends ChromeActivityTestCaseBase<Chr
|
| }
|
|
|
| @MediumTest
|
| - @Feature({"Sync"})
|
| - public void testRequestSyncNoInvalidationData() {
|
| - SyncResult syncResult = new SyncResult();
|
| - mSyncAdapter.onPerformSync(TEST_ACCOUNT, new Bundle(),
|
| - AndroidSyncSettings.getContractAuthority(getActivity()), null, syncResult);
|
| - assertTrue(mSyncAdapter.mSyncRequestedForAllTypes);
|
| - assertFalse(mSyncAdapter.mSyncRequested);
|
| + @Feature({"Sync", "Invalidation"})
|
| + public void testRequestInvalidationForAllTypes() {
|
| + performSyncWithBundle(new Bundle());
|
| + assertTrue(mSyncAdapter.mInvalidationRequestedForAllTypes);
|
| + assertFalse(mSyncAdapter.mInvalidationRequested);
|
| assertTrue(CommandLine.isInitialized());
|
| }
|
|
|
| @MediumTest
|
| - @Feature({"Sync"})
|
| - public void testRequestSyncSpecificDataType() {
|
| - SyncResult syncResult = new SyncResult();
|
| - Bundle extras = new Bundle();
|
| - extras.putInt(ChromiumSyncAdapter.INVALIDATION_OBJECT_SOURCE_KEY, 65);
|
| - extras.putString(ChromiumSyncAdapter.INVALIDATION_OBJECT_ID_KEY, "objectid_value");
|
| - extras.putLong(ChromiumSyncAdapter.INVALIDATION_VERSION_KEY, 42);
|
| - extras.putString(ChromiumSyncAdapter.INVALIDATION_PAYLOAD_KEY, "payload_value");
|
| - mSyncAdapter.onPerformSync(TEST_ACCOUNT, extras,
|
| - AndroidSyncSettings.getContractAuthority(getActivity()), null, syncResult);
|
| - assertFalse(mSyncAdapter.mSyncRequestedForAllTypes);
|
| - assertTrue(mSyncAdapter.mSyncRequested);
|
| - assertEquals(65, mSyncAdapter.mObjectSource);
|
| - assertEquals("objectid_value", mSyncAdapter.mObjectId);
|
| - assertEquals(42, mSyncAdapter.mVersion);
|
| - assertEquals("payload_value", mSyncAdapter.mPayload);
|
| + @Feature({"Sync", "Invalidation"})
|
| + public void testRequestSpecificInvalidation() {
|
| + String objectId = "objectid_value";
|
| + int objectSource = 65;
|
| + long version = 42L;
|
| + String payload = "payload_value";
|
| +
|
| + performSyncWithBundle(
|
| + PendingInvalidation.createBundle(objectId, objectSource, version, payload));
|
| +
|
| + assertFalse(mSyncAdapter.mInvalidationRequestedForAllTypes);
|
| + assertTrue(mSyncAdapter.mInvalidationRequested);
|
| + assertEquals(objectSource, mSyncAdapter.mObjectSource);
|
| + assertEquals(objectId, mSyncAdapter.mObjectId);
|
| + assertEquals(version, mSyncAdapter.mVersion);
|
| + assertEquals(payload, mSyncAdapter.mPayload);
|
| assertTrue(CommandLine.isInitialized());
|
| }
|
|
|
| @MediumTest
|
| - @Feature({"Sync"})
|
| - public void testRequestSyncWhenChromeInBackground() throws InterruptedException {
|
| + @Feature({"Sync", "Invalidation"})
|
| + public void testInvalidationsHeldWhenChromeInBackground() throws InterruptedException {
|
| sendChromeToBackground(getActivity());
|
| - SyncResult syncResult = new SyncResult();
|
| - mSyncAdapter.onPerformSync(TEST_ACCOUNT, new Bundle(),
|
| - AndroidSyncSettings.getContractAuthority(getActivity()), null, syncResult);
|
| - assertFalse(mSyncAdapter.mSyncRequestedForAllTypes);
|
| - assertFalse(mSyncAdapter.mSyncRequested);
|
| + performSyncWithBundle(new Bundle());
|
| + assertFalse(mSyncAdapter.mInvalidationRequestedForAllTypes);
|
| + assertFalse(mSyncAdapter.mInvalidationRequested);
|
| }
|
| }
|
|
|