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

Unified Diff: chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/FakeServerHelper.java

Issue 998373004: Sync: Generalize entity injection in Android tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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/sync_shell/javatests/src/chromium/chrome/browser/sync/FakeServerHelper.java
diff --git a/chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/FakeServerHelper.java b/chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/FakeServerHelper.java
index 9c84a76149c191579078f96ad831fc52f11a5173..d2a6d150af6f62de862a5da8d580af30979dc1ff 100644
--- a/chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/FakeServerHelper.java
+++ b/chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/FakeServerHelper.java
@@ -6,8 +6,11 @@ package org.chromium.chrome.browser.sync;
import android.content.Context;
+import com.google.protobuf.nano.MessageNano;
+
import org.chromium.base.ThreadUtils;
import org.chromium.sync.internal_api.pub.base.ModelType;
+import org.chromium.sync.protocol.EntitySpecifics;
import java.util.concurrent.Callable;
@@ -133,18 +136,22 @@ public class FakeServerHelper {
}
/**
- * Injects a typed URL entity into the fake Sync server.
+ * Injects an entity into the fake Sync server. This method only works for entities that will
+ * eventually contain a unique client tag (e.g., preferences, typed URLs).
*
- * @param url the URL of the entity. This will also be used as the entity's name.
+ * @param name the human-readable name for the entity. This value will be used for the
+ * SyncEntity.name value
+ * @param entitySpecifics the EntitySpecifics proto that represents the entity to inject
*/
- // TODO(pvalenzuela): Generalize this method to injectEntity by serializing an EntitySpecifics
- // protocol buffer and passing that to the native code.
- public void injectTypedUrl(String url) {
+ public void injectUniqueClientEntity(String name, EntitySpecifics entitySpecifics) {
if (sNativeFakeServer == 0L) {
throw new IllegalStateException(
"useFakeServer must be called before data injection.");
}
- nativeInjectTypedUrl(mNativeFakeServerHelperAndroid, sNativeFakeServer, url);
+ // The protocol buffer is serialized as a byte array because it can be easily deserialized
+ // from this format in native code.
+ nativeInjectUniqueClientEntity(mNativeFakeServerHelperAndroid, sNativeFakeServer, name,
+ MessageNano.toByteArray(entitySpecifics));
}
// Native methods.
@@ -157,6 +164,7 @@ public class FakeServerHelper {
private native boolean nativeVerifyEntityCountByTypeAndName(
long nativeFakeServerHelperAndroid, long nativeFakeServer, int count, String modelType,
String name);
- private native void nativeInjectTypedUrl(
- long nativeFakeServerHelperAndroid, long nativeFakeServer, String url);
+ private native void nativeInjectUniqueClientEntity(
+ long nativeFakeServerHelperAndroid, long nativeFakeServer, String name,
+ byte[] serializedEntitySpecifics);
}

Powered by Google App Engine
This is Rietveld 408576698