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

Unified Diff: android_webview/javatests/src/org/chromium/android_webview/test/LoadUrlTest.java

Issue 2670643002: [Android] Refactor LoadUrlTest to replace package org.apache.http (Closed)
Patch Set: remove standardSetup Created 3 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
« no previous file with comments | « android_webview/javatests/src/org/chromium/android_webview/test/AwTestBase.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: android_webview/javatests/src/org/chromium/android_webview/test/LoadUrlTest.java
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/LoadUrlTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/LoadUrlTest.java
index 3c9c995b32c12133fa6f983f8909f8e7f639dae6..ae1bb23741f7d0fe1b95e429d32dc74ced104fda 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/LoadUrlTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/LoadUrlTest.java
@@ -11,13 +11,13 @@ import org.apache.http.Header;
import org.apache.http.HttpRequest;
import org.chromium.android_webview.AwContents;
-import org.chromium.android_webview.AwSettings;
import org.chromium.android_webview.test.util.CommonResources;
import org.chromium.android_webview.test.util.JSUtils;
import org.chromium.base.annotations.SuppressFBWarnings;
import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.Feature;
import org.chromium.content.browser.test.util.HistoryUtils;
+import org.chromium.net.test.EmbeddedTestServer;
import org.chromium.net.test.util.TestWebServer;
import java.util.ArrayList;
@@ -31,6 +31,20 @@ import java.util.concurrent.TimeUnit;
* Test suite for loadUrl().
*/
public class LoadUrlTest extends AwTestBase {
+ private EmbeddedTestServer mTestServer;
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+ mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext());
+ }
+
+ @Override
+ public void tearDown() throws Exception {
+ mTestServer.stopAndDestroyServer();
+ super.tearDown();
+ }
+
@SmallTest
@Feature({"AndroidWebView"})
public void testDataUrl() throws Throwable {
@@ -115,6 +129,13 @@ public class LoadUrlTest extends AwTestBase {
return result;
}
+ private void validateHeaderValue(final AwContents awContents,
+ final TestAwContentsClient contentsClient, String extraHeader) throws Exception {
+ String header = getJavaScriptResultBodyTextContent(awContents, contentsClient);
+ assertEquals(extraHeader, header);
+ }
+
+
private void validateRequestHeaders(String[] refNamesAndValues, HttpRequest request) {
for (int i = 0; i < refNamesAndValues.length; i += 2) {
Header[] matchingHeaders = request.getHeaders(refNamesAndValues[i]);
@@ -175,33 +196,21 @@ public class LoadUrlTest extends AwTestBase {
final AwTestContainerView testContainerView =
createAwTestContainerViewOnMainSync(contentsClient);
final AwContents awContents = testContainerView.getAwContents();
-
- TestWebServer webServer = TestWebServer.start();
- try {
- final String path = "/no_overriding_of_existing_headers_test.html";
- final String url = webServer.setResponse(
- path,
- "<html><body>foo</body></html>",
- null);
- String[] extraHeaders = {
- "user-agent", "007"
- };
-
- loadUrlWithExtraHeadersSync(awContents,
- contentsClient.getOnPageFinishedHelper(),
- url,
- createHeadersMap(extraHeaders));
- Header[] matchingHeaders = webServer.getLastRequest(path).getHeaders(extraHeaders[0]);
- assertEquals(1, matchingHeaders.length);
- Header header = matchingHeaders[0];
- assertEquals(extraHeaders[0].toLowerCase(Locale.ENGLISH),
- header.getName().toLowerCase(Locale.ENGLISH));
- // Just check that the value is there, and it's not the one we provided.
- assertTrue(header.getValue().length() > 0);
- assertFalse(extraHeaders[1].equals(header.getValue()));
- } finally {
- webServer.shutdown();
- }
+ enableJavaScriptOnUiThread(awContents);
+
+ final String url = mTestServer.getURL("/echoheader?user-agent");
+ String[] extraHeaders = {
+ "user-agent", "007"
+ };
+
+ loadUrlWithExtraHeadersSync(awContents,
+ contentsClient.getOnPageFinishedHelper(),
+ url,
+ createHeadersMap(extraHeaders));
+ String header = getJavaScriptResultBodyTextContent(awContents, contentsClient);
+ // Just check that the value is there, and it's not the one we provided.
+ assertFalse(header.isEmpty());
+ assertFalse(extraHeaders[1].equals(header));
}
@SmallTest
@@ -211,30 +220,21 @@ public class LoadUrlTest extends AwTestBase {
final AwTestContainerView testContainerView =
createAwTestContainerViewOnMainSync(contentsClient);
final AwContents awContents = testContainerView.getAwContents();
+ enableJavaScriptOnUiThread(awContents);
- TestWebServer webServer = TestWebServer.start();
- try {
- final String path = "/reload_with_extra_headers_test.html";
- final String url = webServer.setResponse(path,
- "<html><body>foo</body></html>",
- createHeadersList(new String[] { "cache-control", "no-cache, no-store" }));
sgurun-gerrit only 2017/02/03 23:49:07 these are dropped. Are these set by default by the
shenghuazhang 2017/02/04 03:16:45 Current embedded_test_server default handler only
sgurun-gerrit only 2017/02/07 02:47:33 I think no-cache should suffice.
shenghuazhang 2017/02/08 00:53:36 Acknowledged.
- String[] extraHeaders = {
- "X-ExtraHeaders1", "extra-header-data1",
- "x-extraHeaders2", "EXTRA-HEADER-DATA2"
sgurun-gerrit only 2017/02/03 23:49:07 why did you drop the second header?
shenghuazhang 2017/02/04 03:16:45 Similar reason. ETS default handler only supports
sgurun-gerrit only 2017/02/07 02:47:33 I think it is better to validate multiple headers
shenghuazhang 2017/02/08 00:53:36 Thanks for the clarification. Will keep the multip
- };
+ String[] extraHeaders = {"X-ExtraHeaders", "extra-header-data"};
+ final String url = mTestServer.getURL("/echoheader?" + extraHeaders[0]);
- loadUrlWithExtraHeadersSync(awContents,
- contentsClient.getOnPageFinishedHelper(),
- url,
- createHeadersMap(extraHeaders));
- validateRequestHeaders(extraHeaders, webServer.getLastRequest(path));
+ loadUrlWithExtraHeadersSync(awContents,
+ contentsClient.getOnPageFinishedHelper(),
+ url,
+ createHeadersMap(extraHeaders));
- reloadSync(awContents, contentsClient.getOnPageFinishedHelper());
- assertEquals(2, webServer.getRequestCount(path));
- validateRequestHeaders(extraHeaders, webServer.getLastRequest(path));
- } finally {
- webServer.shutdown();
- }
+ validateHeaderValue(awContents, contentsClient, extraHeaders[1]);
+
+ reloadSync(awContents,
+ contentsClient.getOnPageFinishedHelper());
+ validateHeaderValue(awContents, contentsClient, extraHeaders[1]);
}
@SuppressFBWarnings("DLS_DEAD_LOCAL_STORE")
@@ -245,35 +245,20 @@ public class LoadUrlTest extends AwTestBase {
final AwTestContainerView testContainerView =
createAwTestContainerViewOnMainSync(contentsClient);
final AwContents awContents = testContainerView.getAwContents();
-
- TestWebServer webServer = TestWebServer.start();
- try {
- final String path = "/redirect_and_reload_with_extra_headers_test.html";
- final String url = webServer.setResponse(path,
- "<html><body>foo</body></html>",
- createHeadersList(new String[] { "cache-control", "no-cache, no-store" }));
sgurun-gerrit only 2017/02/03 23:49:07 same as above. why do we drop cache control header
- final String redirectedPath = "/redirected.html";
- final String redirectedUrl = webServer.setRedirect(redirectedPath, path);
- String[] extraHeaders = {
- "X-ExtraHeaders1", "extra-header-data1",
- "x-extraHeaders2", "EXTRA-HEADER-DATA2"
sgurun-gerrit only 2017/02/03 23:49:07 again, why drop the second header?
- };
-
- loadUrlWithExtraHeadersSync(awContents,
- contentsClient.getOnPageFinishedHelper(),
- redirectedUrl,
- createHeadersMap(extraHeaders));
- validateRequestHeaders(extraHeaders, webServer.getLastRequest(path));
- validateRequestHeaders(extraHeaders, webServer.getLastRequest(redirectedPath));
-
- // WebView will only reload the main page.
- reloadSync(awContents, contentsClient.getOnPageFinishedHelper());
- assertEquals(2, webServer.getRequestCount(path));
- // No extra headers. This is consistent with legacy behavior.
- validateNoRequestHeaders(extraHeaders, webServer.getLastRequest(path));
- } finally {
- webServer.shutdown();
- }
+ enableJavaScriptOnUiThread(awContents);
+
+ String[] extraHeaders = {"X-ExtraHeaders", "extra-header-data"};
+ final String redirectedUrl = mTestServer.getURL("/echoheader?" + extraHeaders[0]);
+ final String initialUrl = mTestServer.getURL("/server-redirect?" + redirectedUrl);
+
+ loadUrlWithExtraHeadersSync(awContents,
+ contentsClient.getOnPageFinishedHelper(),
+ initialUrl,
+ createHeadersMap(extraHeaders));
+ validateHeaderValue(awContents, contentsClient, extraHeaders[1]);
+ reloadSync(awContents,
+ contentsClient.getOnPageFinishedHelper());
+ validateHeaderValue(awContents, contentsClient, "None");
}
@SuppressFBWarnings("DLS_DEAD_LOCAL_STORE")
@@ -284,8 +269,7 @@ public class LoadUrlTest extends AwTestBase {
final AwTestContainerView testContainerView =
createAwTestContainerViewOnMainSync(contentsClient);
final AwContents awContents = testContainerView.getAwContents();
- final AwSettings settings = getAwSettingsOnUiThread(awContents);
- settings.setJavaScriptEnabled(true);
+ enableJavaScriptOnUiThread(awContents);
TestWebServer webServer = TestWebServer.start();
try {
@@ -349,8 +333,7 @@ public class LoadUrlTest extends AwTestBase {
final AwTestContainerView testContainerView =
createAwTestContainerViewOnMainSync(contentsClient);
final AwContents awContents = testContainerView.getAwContents();
- final AwSettings settings = getAwSettingsOnUiThread(awContents);
- settings.setJavaScriptEnabled(true);
+ enableJavaScriptOnUiThread(awContents);
contentsClient.setOnReceivedTitleCallback(new Runnable() {
@Override
@@ -385,8 +368,8 @@ public class LoadUrlTest extends AwTestBase {
final AwTestContainerView testContainerView =
createAwTestContainerViewOnMainSync(contentsClient);
final AwContents awContents = testContainerView.getAwContents();
-
TestWebServer webServer = TestWebServer.start();
+
try {
final String title = "Title";
final String url1 = webServer.setResponse("/page1.html",
« no previous file with comments | « android_webview/javatests/src/org/chromium/android_webview/test/AwTestBase.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698