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

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

Issue 884073005: Create a Android Sync integration test for typed URLs (try #2) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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/SyncTest.java
diff --git a/chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/SyncTest.java b/chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/SyncTest.java
index 4386426595045072aa7ad0ae471ffdd23bbd1537..24c142d5f018403969cb9e0ec9b81a14159d3683 100644
--- a/chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/SyncTest.java
+++ b/chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/SyncTest.java
@@ -23,11 +23,14 @@ import org.chromium.content.browser.ContentViewCore;
import org.chromium.content.browser.test.util.Criteria;
import org.chromium.content.browser.test.util.CriteriaHelper;
import org.chromium.content.browser.test.util.JavaScriptUtils;
+import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.sync.AndroidSyncSettings;
+import org.chromium.sync.internal_api.pub.base.ModelType;
import org.chromium.sync.signin.AccountManagerHelper;
import org.chromium.sync.signin.ChromeSigninController;
import org.chromium.sync.test.util.MockAccountManager;
import org.chromium.sync.test.util.MockSyncContentResolverDelegate;
+import org.chromium.ui.base.PageTransition;
import java.util.concurrent.TimeoutException;
@@ -43,6 +46,7 @@ public class SyncTest extends ChromeShellTestBase {
private SyncTestUtil.SyncTestContext mContext;
private MockAccountManager mAccountManager;
private SyncController mSyncController;
+ private FakeServerHelper mFakeServerHelper;
@Override
protected void setUp() throws Exception {
@@ -66,6 +70,7 @@ public class SyncTest extends ChromeShellTestBase {
@Override
public void run() {
mSyncController = SyncController.get(mContext);
+ mFakeServerHelper = FakeServerHelper.get();
}
});
FakeServerHelper.useFakeServer(getInstrumentation().getTargetContext());
@@ -181,6 +186,39 @@ public class SyncTest extends ChromeShellTestBase {
SyncTestUtil.verifySignedInWithAccount(mContext, account);
}
+ @LargeTest
+ @Feature({"Sync"})
+ public void testUploadTypedUrl() throws Exception {
+ setupTestAccountAndSignInToSync(FOREIGN_SESSION_TEST_MACHINE_ID);
+
+ // TestHttpServerClient is preferred here but it can't be used. The test server
+ // serves pages on localhost and Chrome doesn't sync localhost URLs as typed URLs.
+ // This type of URL requires no external data connection or resources.
+ final String urlToLoad = "data:text,testTypedUrl";
+ assertTrue("A typed URL entity for " + urlToLoad + " already exists on the fake server.",
+ mFakeServerHelper.verifyEntityCountByTypeAndName(0, ModelType.TYPED_URL,
+ urlToLoad));
+
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ LoadUrlParams params = new LoadUrlParams(urlToLoad, PageTransition.TYPED);
+ getActivity().getActiveTab().loadUrl(params);
+ }
+ });
+
+ boolean synced = CriteriaHelper.pollForCriteria(new Criteria() {
+ @Override
+ public boolean isSatisfied() {
+ return mFakeServerHelper.verifyEntityCountByTypeAndName(1, ModelType.TYPED_URL,
+ urlToLoad);
+ }
+ }, SyncTestUtil.UI_TIMEOUT_MS, SyncTestUtil.CHECK_INTERVAL_MS);
+
+ assertTrue("The typed URL entity for " + urlToLoad + " was not found on the fake server.",
+ synced);
+ }
+
private void setupTestAccountAndSignInToSync(
final String syncClientIdentifier)
throws InterruptedException {
« no previous file with comments | « chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/FakeServerHelper.java ('k') | sync/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698