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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/invalidation/ChromeBrowserSyncAdapterTest.java

Issue 1144543009: [Android] Only invalidate objects that were received from Tango on resume. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: +toString Created 5 years, 6 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/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);
}
}

Powered by Google App Engine
This is Rietveld 408576698