Chromium Code Reviews| Index: components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/urlconnection/CronetHttpURLConnectionTest.java |
| diff --git a/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/urlconnection/CronetHttpURLConnectionTest.java b/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/urlconnection/CronetHttpURLConnectionTest.java |
| index 9db66fc0e28757be1912cac03ab41738bc355453..4f9d5c8b7fdf238499efe1d4e6663b8374c1fafe 100644 |
| --- a/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/urlconnection/CronetHttpURLConnectionTest.java |
| +++ b/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/urlconnection/CronetHttpURLConnectionTest.java |
| @@ -13,6 +13,7 @@ import org.chromium.cronet_test_apk.MockUrlRequestJobFactory; |
| import org.chromium.cronet_test_apk.UploadTestServer; |
| import java.io.ByteArrayOutputStream; |
| +import java.io.IOException; |
| import java.io.InputStream; |
| import java.net.HttpURLConnection; |
| import java.net.URL; |
| @@ -318,6 +319,80 @@ public class CronetHttpURLConnectionTest extends CronetTestBase { |
| urlConnection.disconnect(); |
| } |
| + @SmallTest |
| + @Feature({"Cronet"}) |
| + @CompareDefaultWithCronet |
| + public void testFollowRedirects() throws Exception { |
| + URL url = new URL(UploadTestServer.getFileURL("/redirect.html")); |
| + HttpURLConnection connection = |
| + (HttpURLConnection) url.openConnection(); |
| + connection.setInstanceFollowRedirects(true); |
| + assertEquals(200, connection.getResponseCode()); |
| + assertEquals("OK", connection.getResponseMessage()); |
| + assertEquals(UploadTestServer.getFileURL("/success.txt"), |
| + connection.getURL().toString()); |
| + assertEquals("this is a text file\n", getResponseAsString(connection)); |
| + connection.disconnect(); |
| + } |
| + |
| + @SmallTest |
| + @Feature({"Cronet"}) |
| + @CompareDefaultWithCronet |
| + public void testDisableRedirects() throws Exception { |
| + URL url = new URL(UploadTestServer.getFileURL("/redirect.html")); |
| + HttpURLConnection connection = |
| + (HttpURLConnection) url.openConnection(); |
| + connection.setInstanceFollowRedirects(false); |
| + assertEquals(302, connection.getResponseCode()); |
| + assertEquals("Found", connection.getResponseMessage()); |
| + assertEquals(UploadTestServer.getFileURL("/redirect.html"), |
| + connection.getURL().toString()); |
| + connection.disconnect(); |
| + } |
| + |
| + @SmallTest |
| + @Feature({"Cronet"}) |
| + @CompareDefaultWithCronet |
| + public void testDisableRedirectsGlobal() throws Exception { |
| + HttpURLConnection.setFollowRedirects(false); |
|
mmenke
2014/12/18 16:01:34
I'd like to compare behavior if it's true initiall
xunjieli
2014/12/18 19:27:04
Done.
|
| + URL url = new URL(UploadTestServer.getFileURL("/redirect.html")); |
| + HttpURLConnection connection = |
| + (HttpURLConnection) url.openConnection(); |
| + assertEquals(302, connection.getResponseCode()); |
| + assertEquals("Found", connection.getResponseMessage()); |
| + assertEquals(UploadTestServer.getFileURL("/redirect.html"), |
| + connection.getURL().toString()); |
| + connection.disconnect(); |
| + |
| + URL url2 = new URL(UploadTestServer.getFileURL("/multiredirect.html")); |
|
mmenke
2014/12/18 16:01:34
Do we get anything from this? I don't really obje
xunjieli
2014/12/18 19:27:04
Yes, you are right, this does not add extra covera
|
| + HttpURLConnection connection2 = |
| + (HttpURLConnection) url2.openConnection(); |
| + assertEquals(302, connection2.getResponseCode()); |
| + assertEquals("Found", connection2.getResponseMessage()); |
| + assertEquals(UploadTestServer.getFileURL("/multiredirect.html"), |
| + connection2.getURL().toString()); |
| + connection2.disconnect(); |
| + } |
| + |
| + @SmallTest |
| + @Feature({"Cronet"}) |
| + @OnlyRunCronetHttpURLConnection |
| + // Cronet does not support reading response body of a 302 response. |
| + public void testDisableRedirectsTryReadBody() throws Exception { |
| + URL url = new URL(UploadTestServer.getFileURL("/redirect.html")); |
| + HttpURLConnection connection = |
| + (HttpURLConnection) url.openConnection(); |
| + connection.setInstanceFollowRedirects(false); |
| + try { |
| + connection.getInputStream(); |
| + fail(); |
| + } catch (IOException e) { |
| + // Expected. |
| + } |
| + // TODO(xunjieli): test that error stream should null here. |
|
mmenke
2014/12/18 16:01:34
nit: test->"Test"
xunjieli
2014/12/18 19:27:04
Done.
|
| + connection.disconnect(); |
| + } |
| + |
| /** |
| * Helper method to extract response body as a string for testing. |
| */ |