From 1c96f94e33de57186615a4c50436ec89c0519984 Mon Sep 17 00:00:00 2001 From: Dan Stahr Date: Fri, 10 Mar 2023 13:13:59 +0000 Subject: [PATCH] Add a multiple redirects test for Cronet. Test: atest CtsNetHttpTestCases Change-Id: I288b08572f8b93dafcee45cf25db9947b0276859 --- .../android/net/http/cts/UrlRequestTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Cronet/tests/cts/src/android/net/http/cts/UrlRequestTest.java b/Cronet/tests/cts/src/android/net/http/cts/UrlRequestTest.java index 2ec035b805..e24121fa7f 100644 --- a/Cronet/tests/cts/src/android/net/http/cts/UrlRequestTest.java +++ b/Cronet/tests/cts/src/android/net/http/cts/UrlRequestTest.java @@ -287,6 +287,24 @@ public class UrlRequestTest { assertTrue(e.getCause().getMessage().contains("full")); } + @Test + public void testUrlRequest_redirects() throws Exception { + int expectedNumRedirects = 5; + String url = + mTestServer.getRedirectingAssetUrl("html/hello_world.html", expectedNumRedirects); + + UrlRequest request = createUrlRequestBuilder(url).build(); + request.start(); + + mCallback.expectCallback(ResponseStep.ON_SUCCEEDED); + UrlResponseInfo info = mCallback.mResponseInfo; + assertOKStatusCode(info); + assertThat(mCallback.mResponseAsString).contains("hello world"); + assertThat(info.getUrlChain()).hasSize(expectedNumRedirects + 1); + assertThat(info.getUrlChain().get(0)).isEqualTo(url); + assertThat(info.getUrlChain().get(expectedNumRedirects)).isEqualTo(info.getUrl()); + } + @Test public void testUrlRequestPost_withRedirect() throws Exception { String body = Strings.repeat(