summaryrefslogtreecommitdiff
path: root/components/cronet/android/test
diff options
context:
space:
mode:
authorStefano Duo <stefanoduo@google.com>2023-07-17 08:44:52 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-07-17 08:44:52 +0000
commitcf84d236d3c08e85163fece467ed3b02bb2cb8c8 (patch)
tree76c52162f108920d442177dc208bed92cfa5f0cf /components/cronet/android/test
parent03c15bfa4b8ee1b35424b1bff3eb65327b3e513a (diff)
downloadcronet-cf84d236d3c08e85163fece467ed3b02bb2cb8c8.tar.gz
Revert "Merge remote-tracking branch 'origin/upstream-staging'"
Revert submission 2647150-httpclient-wrapper Reason for revert: ndk build break (b/291449552) Reverted changes: /q/submissionid:2647150-httpclient-wrapper Change-Id: Id0b17455a7b58ac303dff1c08c391513f7927075
Diffstat (limited to 'components/cronet/android/test')
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java47
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java34
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java30
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/CronetLoggerTestRule.java42
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java3
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRule.java34
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java2
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java249
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java167
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java44
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java340
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/GetStatusTest.java7
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/MetricsTestUtil.java26
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/MockCertVerifierTest.java13
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java42
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java7
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/NetworkErrorLoggingTest.java18
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/PkpTest.java47
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java38
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java70
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java14
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/TestDrivenDataProvider.java2
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/TestNetworkQualityRttListener.java4
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/TestNetworkQualityThroughputListener.java4
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/TestRequestFinishedListener.java1
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/TestUploadDataProvider.java2
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/TestUrlRequestCallback.java11
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/UrlResponseInfoTest.java17
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/ContentTypeParametersParserTest.java2
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/UploadDataProvidersTest.java9
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetLoggerTest.java86
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetBufferedOutputStreamTest.java4
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetChunkedOutputStreamTest.java6
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetFixedModeOutputStreamTest.java6
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java14
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/QuicUploadTest.java12
-rw-r--r--components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java16
-rw-r--r--components/cronet/android/test/src/org/chromium/net/MockUrlRequestJobFactory.java4
-rw-r--r--components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java6
39 files changed, 822 insertions, 658 deletions
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java
index 263c2c243..eb75c465f 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java
@@ -11,6 +11,14 @@ import static org.junit.Assert.assertTrue;
import static org.chromium.base.CollectionUtil.newHashSet;
import static org.chromium.net.CronetTestRule.getContext;
+import android.net.http.BidirectionalStream;
+import android.net.http.ExperimentalBidirectionalStream;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.NetworkException;
+import android.net.http.QuicException;
+import android.net.http.RequestFinishedInfo;
+import android.net.http.UrlResponseInfo;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -24,7 +32,7 @@ import org.junit.runner.RunWith;
import org.chromium.net.CronetTestRule.OnlyRunNativeCronet;
import java.nio.ByteBuffer;
-import java.util.Date;
+import java.time.Instant;
import java.util.HashSet;
/**
@@ -35,18 +43,18 @@ public class BidirectionalStreamQuicTest {
@Rule
public final CronetTestRule mTestRule = new CronetTestRule();
- private ExperimentalCronetEngine mCronetEngine;
+ private ExperimentalHttpEngine mCronetEngine;
@Before
public void setUp() throws Exception {
// Load library first to create MockCertVerifier.
System.loadLibrary("cronet_tests");
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
QuicTestServer.startQuicTestServer(getContext());
- builder.enableQuic(true);
+ builder.setEnableQuic(true);
JSONObject quicParams = new JSONObject();
JSONObject hostResolverParams = CronetTestUtil.generateHostResolverRules();
JSONObject experimentalOptions = new JSONObject()
@@ -103,21 +111,22 @@ public class BidirectionalStreamQuicTest {
callback.addWriteData("woot!".getBytes());
TestRequestFinishedListener requestFinishedListener = new TestRequestFinishedListener();
mCronetEngine.addRequestFinishedListener(requestFinishedListener);
- BidirectionalStream stream =
- mCronetEngine
- .newBidirectionalStreamBuilder(quicURL, callback, callback.getExecutor())
+ ExperimentalBidirectionalStream.Builder streamBuilder =
+ (ExperimentalBidirectionalStream.Builder) mCronetEngine
+ .newBidirectionalStreamBuilder(quicURL, callback, callback.getExecutor());
+ BidirectionalStream stream = streamBuilder
.addHeader("foo", "bar")
.addHeader("empty", "")
.addHeader("Content-Type", "zebra")
.addRequestAnnotation("request annotation")
.addRequestAnnotation(this)
.build();
- Date startTime = new Date();
+ Instant startTime = Instant.now();
stream.start();
callback.blockForDone();
assertTrue(stream.isDone());
requestFinishedListener.blockUntilDone();
- Date endTime = new Date();
+ Instant endTime = Instant.now();
RequestFinishedInfo finishedInfo = requestFinishedListener.getRequestInfo();
MetricsTestUtil.checkRequestFinishedInfo(finishedInfo, quicURL, startTime, endTime);
assertEquals(RequestFinishedInfo.SUCCEEDED, finishedInfo.getFinishedReason());
@@ -146,7 +155,8 @@ public class BidirectionalStreamQuicTest {
BidirectionalStream stream = mCronetEngine
.newBidirectionalStreamBuilder(
quicURL, callback, callback.getExecutor())
- .delayRequestHeadersUntilFirstFlush(i == 0)
+ .setDelayRequestHeadersUntilFirstFlushEnabled(
+ i == 0)
.addHeader("foo", "bar")
.addHeader("empty", "")
.addHeader("Content-Type", "zebra")
@@ -181,7 +191,8 @@ public class BidirectionalStreamQuicTest {
BidirectionalStream stream = mCronetEngine
.newBidirectionalStreamBuilder(
quicURL, callback, callback.getExecutor())
- .delayRequestHeadersUntilFirstFlush(i == 0)
+ .setDelayRequestHeadersUntilFirstFlushEnabled(
+ i == 0)
.addHeader("foo", "bar")
.addHeader("empty", "")
.addHeader("Content-Type", "zebra")
@@ -217,7 +228,7 @@ public class BidirectionalStreamQuicTest {
mCronetEngine
.newBidirectionalStreamBuilder(url, callback, callback.getExecutor())
.setHttpMethod("GET")
- .delayRequestHeadersUntilFirstFlush(i == 0)
+ .setDelayRequestHeadersUntilFirstFlushEnabled(i == 0)
.addHeader("foo", "bar")
.addHeader("empty", "")
.build();
@@ -253,7 +264,7 @@ public class BidirectionalStreamQuicTest {
BidirectionalStream stream =
mCronetEngine
.newBidirectionalStreamBuilder(url, callback, callback.getExecutor())
- .delayRequestHeadersUntilFirstFlush(i == 0)
+ .setDelayRequestHeadersUntilFirstFlushEnabled(i == 0)
.addHeader("foo", "bar")
.addHeader("empty", "")
.addHeader("Content-Type", "zebra")
@@ -311,9 +322,9 @@ public class BidirectionalStreamQuicTest {
assertNotNull(callback.mError);
assertTrue(callback.mError instanceof NetworkException);
NetworkException networkError = (NetworkException) callback.mError;
- assertTrue(NetError.ERR_QUIC_PROTOCOL_ERROR == networkError.getCronetInternalErrorCode()
- || NetError.ERR_CONNECTION_REFUSED == networkError.getCronetInternalErrorCode());
- if (NetError.ERR_CONNECTION_REFUSED == networkError.getCronetInternalErrorCode()) return;
+ assertTrue(NetError.ERR_QUIC_PROTOCOL_ERROR == networkError.getInternalErrorCode()
+ || NetError.ERR_CONNECTION_REFUSED == networkError.getInternalErrorCode());
+ if (NetError.ERR_CONNECTION_REFUSED == networkError.getInternalErrorCode()) return;
assertTrue(callback.mError instanceof QuicException);
}
@@ -335,7 +346,7 @@ public class BidirectionalStreamQuicTest {
mCronetEngine
.newBidirectionalStreamBuilder(quicURL, callback, callback.getExecutor())
.setHttpMethod("GET")
- .delayRequestHeadersUntilFirstFlush(true)
+ .setDelayRequestHeadersUntilFirstFlushEnabled(true)
.addHeader("Content-Type", "zebra")
.build();
stream.start();
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java
index 8b68868e9..e758713fb 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java
@@ -17,6 +17,14 @@ import static org.chromium.net.CronetTestRule.SERVER_KEY_PKCS8_PEM;
import static org.chromium.net.CronetTestRule.assertContains;
import static org.chromium.net.CronetTestRule.getContext;
+import android.net.http.BidirectionalStream;
+import android.net.http.HttpEngine;
+import android.net.http.HttpException;
+import android.net.http.ExperimentalBidirectionalStream;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.NetworkException;
+import android.net.http.RequestFinishedInfo;
+import android.net.http.UrlResponseInfo;
import android.os.Build;
import android.os.ConditionVariable;
import android.os.Process;
@@ -62,14 +70,14 @@ public class BidirectionalStreamTest {
@Rule
public final CronetTestRule mTestRule = new CronetTestRule();
- private ExperimentalCronetEngine mCronetEngine;
+ private ExperimentalHttpEngine mCronetEngine;
@Before
public void setUp() throws Exception {
// Load library first to create MockCertVerifier.
System.loadLibrary("cronet_tests");
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
CronetTestUtil.setMockCertVerifierForTesting(
builder, QuicTestServer.createMockCertVerifier());
@@ -206,7 +214,7 @@ public class BidirectionalStreamTest {
assertTrue(stream.isDone());
assertContains("Exception in BidirectionalStream: net::ERR_DISALLOWED_URL_SCHEME",
callback.mError.getMessage());
- assertEquals(-301, ((NetworkException) callback.mError).getCronetInternalErrorCode());
+ assertEquals(-301, ((NetworkException) callback.mError).getInternalErrorCode());
}
@Test
@@ -831,12 +839,12 @@ public class BidirectionalStreamTest {
public void testCustomCronetEngineUserAgent() throws Exception {
String userAgentName = "User-Agent";
String userAgentValue = "User-Agent-Value";
- ExperimentalCronetEngine.Builder engineBuilder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder engineBuilder =
+ new ExperimentalHttpEngine.Builder(getContext());
engineBuilder.setUserAgent(userAgentValue);
CronetTestUtil.setMockCertVerifierForTesting(
engineBuilder, QuicTestServer.createMockCertVerifier());
- ExperimentalCronetEngine engine = engineBuilder.build();
+ ExperimentalHttpEngine engine = engineBuilder.build();
TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCallback();
BidirectionalStream.Builder builder = engine.newBidirectionalStreamBuilder(
Http2TestServer.getEchoHeaderUrl(userAgentName), callback, callback.getExecutor());
@@ -859,7 +867,7 @@ public class BidirectionalStreamTest {
builder.build().start();
callback.blockForDone();
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
- assertEquals(new CronetEngine.Builder(getContext()).getDefaultUserAgent(),
+ assertEquals(new HttpEngine.Builder(getContext()).getDefaultUserAgent(),
callback.mResponseAsString);
}
@@ -1245,8 +1253,8 @@ public class BidirectionalStreamTest {
private void throwOrCancel(
FailureType failureType, ResponseStep failureStep, boolean expectError) {
// Use a fresh CronetEngine each time so Http2 session is not reused.
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
CronetTestUtil.setMockCertVerifierForTesting(
builder, QuicTestServer.createMockCertVerifier());
mCronetEngine = builder.build();
@@ -1398,7 +1406,7 @@ public class BidirectionalStreamTest {
@Override
public void onFailed(
- BidirectionalStream stream, UrlResponseInfo info, CronetException error) {
+ BidirectionalStream stream, UrlResponseInfo info, HttpException error) {
mCronetEngine.shutdown();
// Clear mCronetEngine so it doesn't get shut down second time in tearDown().
mCronetEngine = null;
@@ -1554,8 +1562,8 @@ public class BidirectionalStreamTest {
int netError, int errorCode, boolean immediatelyRetryable) throws Exception {
NetworkException exception =
new BidirectionalStreamNetworkException("", errorCode, netError);
- assertEquals(immediatelyRetryable, exception.immediatelyRetryable());
- assertEquals(netError, exception.getCronetInternalErrorCode());
+ assertEquals(immediatelyRetryable, exception.isImmediatelyRetryable());
+ assertEquals(netError, exception.getInternalErrorCode());
assertEquals(errorCode, exception.getErrorCode());
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java
index 40e02713d..72de9931e 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java
@@ -12,6 +12,10 @@ import static org.chromium.net.CronetTestRule.SERVER_CERT_PEM;
import static org.chromium.net.CronetTestRule.SERVER_KEY_PKCS8_PEM;
import static org.chromium.net.CronetTestRule.getContext;
+import android.net.http.HttpEngine;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.UrlRequest;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -34,7 +38,7 @@ public class BrotliTest {
@Rule
public final CronetTestRule mTestRule = new CronetTestRule();
- private CronetEngine mCronetEngine;
+ private HttpEngine mCronetEngine;
@Before
public void setUp() throws Exception {
@@ -54,22 +58,24 @@ public class BrotliTest {
@SmallTest
@OnlyRunNativeCronet
public void testBrotliAdvertised() throws Exception {
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
- builder.enableBrotli(true);
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
+ builder.setEnableBrotli(true);
mCronetEngine = builder.build();
String url = NativeTestServer.getEchoAllHeadersURL();
TestUrlRequestCallback callback = startAndWaitForComplete(url);
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
- assertTrue(callback.mResponseAsString.contains("Accept-Encoding: gzip, deflate, br"));
+ assertTrue(
+ "[" + callback.mResponseAsString + "] should reference Brotli",
+ callback.mResponseAsString.matches("(?is).*accept-encoding: gzip, deflate, br.*"));
}
@Test
@SmallTest
@OnlyRunNativeCronet
public void testBrotliNotAdvertised() throws Exception {
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
mCronetEngine = builder.build();
String url = NativeTestServer.getEchoAllHeadersURL();
TestUrlRequestCallback callback = startAndWaitForComplete(url);
@@ -82,16 +88,18 @@ public class BrotliTest {
@OnlyRunNativeCronet
@Ignore // TODO(danstahr): Add test server support for setting the Brotli header
public void testBrotliDecoded() throws Exception {
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
- builder.enableBrotli(true);
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
+ builder.setEnableBrotli(true);
mCronetEngine = builder.build();
String url = Http2TestServer.getServeSimpleBrotliResponse();
TestUrlRequestCallback callback = startAndWaitForComplete(url);
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
String expectedResponse = "The quick brown fox jumps over the lazy dog";
assertEquals(expectedResponse, callback.mResponseAsString);
- assertEquals(callback.mResponseInfo.getAllHeaders().get("content-encoding").get(0), "br");
+ assertEquals(
+ callback.mResponseInfo.getHeaders().getAsMap().get("content-encoding").get(0),
+ "br");
}
private TestUrlRequestCallback startAndWaitForComplete(String url) {
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetLoggerTestRule.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetLoggerTestRule.java
index 81508bdd1..1ca6c6ddb 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetLoggerTestRule.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetLoggerTestRule.java
@@ -11,7 +11,7 @@ import org.junit.runner.Description;
import org.junit.runners.model.Statement;
import org.chromium.net.impl.CronetLogger;
-import org.chromium.net.impl.CronetLoggerFactory.SwapLoggerForTesting;
+import org.chromium.net.impl.CronetLoggerFactory;
/**
* Custom TestRule that instantiates a new fake CronetLogger for each test.
@@ -20,17 +20,15 @@ import org.chromium.net.impl.CronetLoggerFactory.SwapLoggerForTesting;
public class CronetLoggerTestRule<T extends CronetLogger> implements TestRule {
private static final String TAG = CronetLoggerTestRule.class.getSimpleName();
- private Class<T> mTestLoggerClazz;
-
// Expose the fake logger to the test.
public T mTestLogger;
- public CronetLoggerTestRule(@NonNull Class<T> testLoggerClazz) {
- if (testLoggerClazz == null) {
- throw new NullPointerException("TestLoggerClazz is required.");
+ public CronetLoggerTestRule(@NonNull T testLogger) {
+ if (testLogger == null) {
+ throw new NullPointerException("TestLogger is required.");
}
- mTestLoggerClazz = testLoggerClazz;
+ mTestLogger = testLogger;
}
@Override
@@ -38,24 +36,32 @@ public class CronetLoggerTestRule<T extends CronetLogger> implements TestRule {
return new Statement() {
@Override
public void evaluate() throws Throwable {
- try (SwapLoggerForTesting swapper = buildSwapper()) {
+ try (SwapLoggerForTesting swapper = new SwapLoggerForTesting(mTestLogger)) {
base.evaluate();
- } finally {
- mTestLogger = null;
}
}
};
}
- private SwapLoggerForTesting buildSwapper() {
- assert mTestLoggerClazz != null;
+ /**
+ * Utility class to safely use a custom CronetLogger for the duration of a test.
+ * To be used within a try-with-resources statement within the test.
+ */
+ public static class SwapLoggerForTesting implements AutoCloseable {
+ /**
+ * Forces {@code CronetLoggerFactory#createLogger} to return {@code testLogger} instead of
+ * what it would have normally returned.
+ */
+ public SwapLoggerForTesting(CronetLogger testLogger) {
+ CronetLoggerFactory.setLoggerForTesting(testLogger);
+ }
- try {
- mTestLogger = mTestLoggerClazz.getConstructor().newInstance();
- return new SwapLoggerForTesting(mTestLogger);
- } catch (ReflectiveOperationException e) {
- throw new IllegalArgumentException(
- "CronetTestBase#runTest failed while swapping TestLogger.", e);
+ /**
+ * Restores CronetLoggerFactory to its original state.
+ */
+ @Override
+ public void close() {
+ CronetLoggerFactory.setLoggerForTesting(null);
}
}
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java
index fabb8720a..480312490 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java
@@ -9,6 +9,8 @@ import static org.junit.Assert.assertTrue;
import static org.chromium.net.CronetTestRule.getContext;
+import android.net.http.UrlRequest;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
@@ -18,6 +20,7 @@ import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import android.net.http.apihelpers.UploadDataProviders;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRule.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRule.java
index fea259b37..b451fd229 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRule.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRule.java
@@ -6,6 +6,10 @@ package org.chromium.net;
import static org.junit.Assume.assumeTrue;
+import android.net.http.ApiVersion;
+import android.net.http.HttpEngine;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.UrlResponseInfo;
import android.content.Context;
import android.os.Build;
import android.os.StrictMode;
@@ -60,8 +64,8 @@ public class CronetTestRule implements TestRule {
* Creates and holds pointer to CronetEngine.
*/
public static class CronetTestFramework {
- public ExperimentalCronetEngine mCronetEngine;
- public ExperimentalCronetEngine.Builder mBuilder;
+ public ExperimentalHttpEngine mCronetEngine;
+ public ExperimentalHttpEngine.Builder mBuilder;
private Context mContext;
@@ -74,7 +78,7 @@ public class CronetTestRule implements TestRule {
return new CronetTestFramework(context);
}
- public ExperimentalCronetEngine startEngine() {
+ public ExperimentalHttpEngine startEngine() {
assert mCronetEngine == null;
mCronetEngine = mBuilder.build();
@@ -91,8 +95,8 @@ public class CronetTestRule implements TestRule {
mCronetEngine = null;
}
- private ExperimentalCronetEngine.Builder createNativeEngineBuilder() {
- return CronetTestRule.createNativeEngineBuilder(mContext).enableQuic(true);
+ private ExperimentalHttpEngine.Builder createNativeEngineBuilder() {
+ return CronetTestRule.createNativeEngineBuilder(mContext).setEnableQuic(true);
}
}
@@ -270,18 +274,18 @@ public class CronetTestRule implements TestRule {
}
/**
- * Creates and returns {@link ExperimentalCronetEngine.Builder} that creates
- * Chromium (native) based {@link CronetEngine.Builder}.
+ * Creates and returns {@link ExperimentalHttpEngine.Builder} that creates
+ * Chromium (native) based {@link HttpEngine.Builder}.
*
* @return the {@code CronetEngine.Builder} that builds Chromium-based {@code Cronet engine}.
*/
- public static ExperimentalCronetEngine.Builder createNativeEngineBuilder(Context context) {
- return new ExperimentalCronetEngine.Builder(context);
+ public static ExperimentalHttpEngine.Builder createNativeEngineBuilder(Context context) {
+ return new ExperimentalHttpEngine.Builder(context);
}
public void assertResponseEquals(UrlResponseInfo expected, UrlResponseInfo actual) {
- Assert.assertEquals(expected.getAllHeaders(), actual.getAllHeaders());
- Assert.assertEquals(expected.getAllHeadersAsList(), actual.getAllHeadersAsList());
+ Assert.assertEquals(expected.getHeaders().getAsMap(), actual.getHeaders().getAsMap());
+ Assert.assertEquals(expected.getHeaders().getAsList(), actual.getHeaders().getAsList());
Assert.assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode());
Assert.assertEquals(expected.getHttpStatusText(), actual.getHttpStatusText());
Assert.assertEquals(expected.getUrlChain(), actual.getUrlChain());
@@ -303,9 +307,9 @@ public class CronetTestRule implements TestRule {
}
}
- public CronetEngine.Builder enableDiskCache(CronetEngine.Builder cronetEngineBuilder) {
+ public HttpEngine.Builder enableDiskCache(HttpEngine.Builder cronetEngineBuilder) {
cronetEngineBuilder.setStoragePath(getTestStorage(getContext()));
- cronetEngineBuilder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1000 * 1024);
+ cronetEngineBuilder.setEnableHttpCache(HttpEngine.Builder.HTTP_CACHE_DISK, 1000 * 1024);
return cronetEngineBuilder;
}
@@ -313,12 +317,12 @@ public class CronetTestRule implements TestRule {
* Sets the {@link URLStreamHandlerFactory} from {@code cronetEngine}. This should be called
* during setUp() and is installed by {@link runTest()} as the default when Cronet is tested.
*/
- public void setStreamHandlerFactory(CronetEngine cronetEngine) {
+ public void setStreamHandlerFactory(HttpEngine cronetEngine) {
// This clears the cached URL handlers
if (testingSystemHttpURLConnection()) {
URL.setURLStreamHandlerFactory(null);
} else {
- URL.setURLStreamHandlerFactory(cronetEngine.createURLStreamHandlerFactory());
+ URL.setURLStreamHandlerFactory(cronetEngine.createUrlStreamHandlerFactory());
}
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java
index 288198c9c..5a54f52d3 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java
@@ -10,6 +10,8 @@ import static org.junit.Assert.assertTrue;
import static org.chromium.net.CronetTestRule.getContext;
+import android.net.http.UrlRequest;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
index d728ec924..e48cb8a0c 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
@@ -11,11 +11,17 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import static org.chromium.net.CronetEngine.Builder.HTTP_CACHE_IN_MEMORY;
+import static android.net.http.HttpEngine.Builder.HTTP_CACHE_IN_MEMORY;
import static org.chromium.net.CronetTestRule.assertContains;
import static org.chromium.net.CronetTestRule.getContext;
import static org.chromium.net.CronetTestRule.getTestStorage;
+import android.net.http.HttpEngine;
+import android.net.http.HttpException;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.ExperimentalUrlRequest;
+import android.net.http.UrlRequest;
+import android.net.http.UrlResponseInfo;
import android.content.Context;
import android.content.ContextWrapper;
import android.net.Network;
@@ -108,10 +114,10 @@ public class CronetUrlRequestContextTest {
@Override
public void run() {
mRunBlocker.block();
- CronetEngine cronetEngine = new CronetEngine.Builder(getContext()).build();
+ HttpEngine cronetEngine = new HttpEngine.Builder(getContext()).build();
mCallback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder =
- cronetEngine.newUrlRequestBuilder(mUrl, mCallback, mCallback.getExecutor());
+ cronetEngine.newUrlRequestBuilder(mUrl, mCallback.getExecutor(), mCallback);
urlRequestBuilder.build().start();
mCallback.blockForDone();
}
@@ -122,10 +128,10 @@ public class CronetUrlRequestContextTest {
* or failed.
*/
static class ShutdownTestUrlRequestCallback extends TestUrlRequestCallback {
- private final CronetEngine mCronetEngine;
+ private final HttpEngine mCronetEngine;
private final ConditionVariable mCallbackCompletionBlock = new ConditionVariable();
- ShutdownTestUrlRequestCallback(CronetEngine cronetEngine) {
+ ShutdownTestUrlRequestCallback(HttpEngine cronetEngine) {
mCronetEngine = cronetEngine;
}
@@ -137,7 +143,7 @@ public class CronetUrlRequestContextTest {
}
@Override
- public void onFailed(UrlRequest request, UrlResponseInfo info, CronetException error) {
+ public void onFailed(UrlRequest request, UrlResponseInfo info, HttpException error) {
super.onFailed(request, info, error);
mCronetEngine.shutdown();
mCallbackCompletionBlock.open();
@@ -155,16 +161,16 @@ public class CronetUrlRequestContextTest {
public void testConfigUserAgent() throws Exception {
String userAgentName = "User-Agent";
String userAgentValue = "User-Agent-Value";
- ExperimentalCronetEngine.Builder cronetEngineBuilder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder cronetEngineBuilder =
+ new ExperimentalHttpEngine.Builder(getContext());
cronetEngineBuilder.setUserAgent(userAgentValue);
- final CronetEngine cronetEngine = cronetEngineBuilder.build();
+ final HttpEngine cronetEngine = cronetEngineBuilder.build();
NativeTestServer.shutdownNativeTestServer(); // startNativeTestServer returns false if it's
// already running
assertTrue(NativeTestServer.startNativeTestServer(getContext()));
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder = cronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoHeaderURL(userAgentName), callback, callback.getExecutor());
+ NativeTestServer.getEchoHeaderURL(userAgentName), callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
assertEquals(userAgentValue, callback.mResponseAsString);
@@ -182,7 +188,7 @@ public class CronetUrlRequestContextTest {
// if there are active requests.
callback.setAutoAdvance(false);
UrlRequest.Builder urlRequestBuilder = testFramework.mCronetEngine.newUrlRequestBuilder(
- mUrl, callback, callback.getExecutor());
+ mUrl, callback.getExecutor(), callback);
UrlRequest urlRequest = urlRequestBuilder.build();
urlRequest.start();
try {
@@ -246,7 +252,7 @@ public class CronetUrlRequestContextTest {
// Create new request context, but its initialization on the main thread
// will be stuck behind blockingTask.
final CronetUrlRequestContext cronetEngine =
- (CronetUrlRequestContext) new CronetEngine.Builder(getContext()).build();
+ (CronetUrlRequestContext) new HttpEngine.Builder(getContext()).build();
// Unblock the main thread, so context gets initialized and shutdown on
// it.
block.open();
@@ -273,7 +279,7 @@ public class CronetUrlRequestContextTest {
public void run() {
// Create new request context, loading the library.
final CronetUrlRequestContext cronetEngine =
- (CronetUrlRequestContext) new CronetEngine.Builder(getContext()).build();
+ (CronetUrlRequestContext) new HttpEngine.Builder(getContext()).build();
// Shutdown right after init.
cronetEngine.shutdown();
// Verify that context is shutdown.
@@ -314,7 +320,7 @@ public class CronetUrlRequestContextTest {
ShutdownTestUrlRequestCallback callback =
new ShutdownTestUrlRequestCallback(testFramework.mCronetEngine);
UrlRequest.Builder urlRequestBuilder = testFramework.mCronetEngine.newUrlRequestBuilder(
- MOCK_CRONET_TEST_FAILED_URL, callback, callback.getExecutor());
+ MOCK_CRONET_TEST_FAILED_URL, callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
assertTrue(callback.mOnErrorCalled);
@@ -332,7 +338,7 @@ public class CronetUrlRequestContextTest {
// if there are active requests.
callback.setAutoAdvance(false);
UrlRequest.Builder urlRequestBuilder = testFramework.mCronetEngine.newUrlRequestBuilder(
- mUrl, callback, callback.getExecutor());
+ mUrl, callback.getExecutor(), callback);
UrlRequest urlRequest = urlRequestBuilder.build();
urlRequest.start();
try {
@@ -366,10 +372,10 @@ public class CronetUrlRequestContextTest {
// progress.
callback.setAutoAdvance(false);
- ExperimentalUrlRequest.Builder urlRequestBuilder = (ExperimentalUrlRequest.Builder)
+ UrlRequest.Builder urlRequestBuilder =
testFramework.mCronetEngine.newUrlRequestBuilder(
- mUrl, callback, callback.getExecutor());
- urlRequestBuilder.bindToNetwork(defaultNetwork.getNetworkHandle());
+ mUrl, callback.getExecutor(), callback);
+ urlRequestBuilder.bindToNetwork(defaultNetwork);
UrlRequest urlRequest = urlRequestBuilder.build();
assertFalse(
@@ -421,7 +427,7 @@ public class CronetUrlRequestContextTest {
final CronetTestFramework testFramework = mTestRule.startCronetTestFramework();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
callback.setAutoAdvance(false);
- ExperimentalUrlRequest.Builder urlRequestBuilder = (ExperimentalUrlRequest.Builder)
+ UrlRequest.Builder urlRequestBuilder =
testFramework.mCronetEngine.newUrlRequestBuilder(
mUrl, callback, callback.getExecutor());
ConnectivityManagerDelegate delegate = new ConnectivityManagerDelegate(getContext());
@@ -431,7 +437,7 @@ public class CronetUrlRequestContextTest {
return;
}
- urlRequestBuilder.bindToNetwork(defaultNetwork.getNetworkHandle());
+ urlRequestBuilder.bindToNetwork(defaultNetwork);
UrlRequest urlRequest = urlRequestBuilder.build();
assertFalse(
@@ -473,7 +479,7 @@ public class CronetUrlRequestContextTest {
Context context = getContext();
File directory = new File(PathUtils.getDataDirectory());
File file = File.createTempFile("cronet", "json", directory);
- CronetEngine cronetEngine = new CronetEngine.Builder(context).build();
+ HttpEngine cronetEngine = new HttpEngine.Builder(context).build();
// Start NetLog immediately after the request context is created to make
// sure that the call won't crash the app even when the native request
// context is not fully initialized. See crbug.com/470196.
@@ -482,7 +488,7 @@ public class CronetUrlRequestContextTest {
// Start a request.
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder =
- cronetEngine.newUrlRequestBuilder(mUrl, callback, callback.getExecutor());
+ cronetEngine.newUrlRequestBuilder(mUrl, callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
cronetEngine.stopNetLog();
@@ -503,8 +509,8 @@ public class CronetUrlRequestContextTest {
assertFalse(netLogDir.exists());
assertTrue(netLogDir.mkdir());
File logFile = new File(netLogDir, "netlog.json");
- ExperimentalCronetEngine cronetEngine =
- new ExperimentalCronetEngine.Builder(context).build();
+ ExperimentalHttpEngine cronetEngine =
+ new ExperimentalHttpEngine.Builder(context).build();
// Start NetLog immediately after the request context is created to make
// sure that the call won't crash the app even when the native request
// context is not fully initialized. See crbug.com/470196.
@@ -533,13 +539,13 @@ public class CronetUrlRequestContextTest {
Context context = getContext();
File directory = new File(PathUtils.getDataDirectory());
File file = File.createTempFile("cronet", "json", directory);
- CronetEngine cronetEngine = new CronetEngine.Builder(context).build();
+ HttpEngine cronetEngine = new HttpEngine.Builder(context).build();
cronetEngine.startNetLogToFile(file.getPath(), false);
// Start a request.
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder =
- cronetEngine.newUrlRequestBuilder(mUrl, callback, callback.getExecutor());
+ cronetEngine.newUrlRequestBuilder(mUrl, callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
// Shut down the engine without calling stopNetLog.
@@ -563,8 +569,8 @@ public class CronetUrlRequestContextTest {
assertFalse(netLogDir.exists());
assertTrue(netLogDir.mkdir());
File logFile = new File(netLogDir, "netlog.json");
- ExperimentalCronetEngine cronetEngine =
- new ExperimentalCronetEngine.Builder(context).build();
+ ExperimentalHttpEngine cronetEngine =
+ new ExperimentalHttpEngine.Builder(context).build();
cronetEngine.startNetLogToDisk(netLogDir.getPath(), false, MAX_FILE_SIZE);
// Start a request.
@@ -586,7 +592,7 @@ public class CronetUrlRequestContextTest {
@SmallTest
public void testGetActiveRequestCount() throws Exception {
final CronetTestFramework testFramework = mTestRule.startCronetTestFramework();
- CronetEngine cronetEngine = testFramework.mCronetEngine;
+ HttpEngine cronetEngine = testFramework.mCronetEngine;
TestUrlRequestCallback callback1 = new TestUrlRequestCallback();
TestUrlRequestCallback callback2 = new TestUrlRequestCallback();
callback1.setAutoAdvance(false);
@@ -615,7 +621,7 @@ public class CronetUrlRequestContextTest {
@SmallTest
public void testGetActiveRequestCountOnReachingSucceeded() throws Exception {
final CronetTestFramework testFramework = mTestRule.startCronetTestFramework();
- CronetEngine cronetEngine = testFramework.mCronetEngine;
+ HttpEngine cronetEngine = testFramework.mCronetEngine;
TestUrlRequestCallback callback = new TestUrlRequestCallback();
callback.setAutoAdvance(false);
callback.setBlockOnTerminalState(true);
@@ -637,7 +643,7 @@ public class CronetUrlRequestContextTest {
@SmallTest
public void testGetActiveRequestCountOnReachingCancel() throws Exception {
final CronetTestFramework testFramework = mTestRule.startCronetTestFramework();
- CronetEngine cronetEngine = testFramework.mCronetEngine;
+ HttpEngine cronetEngine = testFramework.mCronetEngine;
TestUrlRequestCallback callback = new TestUrlRequestCallback();
callback.setAutoAdvance(false);
callback.setBlockOnTerminalState(true);
@@ -659,7 +665,7 @@ public class CronetUrlRequestContextTest {
public void testGetActiveRequestCountOnReachingFail() throws Exception {
final String badUrl = "www.unreachable-url.com";
final CronetTestFramework testFramework = mTestRule.startCronetTestFramework();
- CronetEngine cronetEngine = testFramework.mCronetEngine;
+ HttpEngine cronetEngine = testFramework.mCronetEngine;
TestUrlRequestCallback callback = new TestUrlRequestCallback();
callback.setAutoAdvance(false);
callback.setBlockOnTerminalState(true);
@@ -679,7 +685,7 @@ public class CronetUrlRequestContextTest {
@SmallTest
public void testGetActiveRequestCountWithCancel() throws Exception {
final CronetTestFramework testFramework = mTestRule.startCronetTestFramework();
- CronetEngine cronetEngine = testFramework.mCronetEngine;
+ HttpEngine cronetEngine = testFramework.mCronetEngine;
TestUrlRequestCallback callback1 = new TestUrlRequestCallback();
TestUrlRequestCallback callback2 = new TestUrlRequestCallback();
callback1.setAutoAdvance(false);
@@ -709,7 +715,7 @@ public class CronetUrlRequestContextTest {
public void testGetActiveRequestCountWithError() throws Exception {
final String badUrl = "www.unreachable-url.com";
final CronetTestFramework testFramework = mTestRule.startCronetTestFramework();
- CronetEngine cronetEngine = testFramework.mCronetEngine;
+ HttpEngine cronetEngine = testFramework.mCronetEngine;
TestUrlRequestCallback callback1 = new TestUrlRequestCallback();
TestUrlRequestCallback callback2 = new TestUrlRequestCallback();
callback1.setAutoAdvance(false);
@@ -743,8 +749,8 @@ public class CronetUrlRequestContextTest {
File directory = new File(PathUtils.getDataDirectory());
File file1 = File.createTempFile("cronet1", "json", directory);
File file2 = File.createTempFile("cronet2", "json", directory);
- CronetEngine cronetEngine1 = new CronetEngine.Builder(context).build();
- CronetEngine cronetEngine2 = new CronetEngine.Builder(context).build();
+ HttpEngine cronetEngine1 = new HttpEngine.Builder(context).build();
+ HttpEngine cronetEngine2 = new HttpEngine.Builder(context).build();
cronetEngine1.startNetLogToFile(file1.getPath(), false);
cronetEngine2.startNetLogToFile(file2.getPath(), false);
@@ -790,10 +796,10 @@ public class CronetUrlRequestContextTest {
File logFile1 = new File(netLogDir1, "netlog.json");
File logFile2 = new File(netLogDir2, "netlog.json");
- ExperimentalCronetEngine cronetEngine1 =
- new ExperimentalCronetEngine.Builder(context).build();
- ExperimentalCronetEngine cronetEngine2 =
- new ExperimentalCronetEngine.Builder(context).build();
+ ExperimentalHttpEngine cronetEngine1 =
+ new ExperimentalHttpEngine.Builder(context).build();
+ ExperimentalHttpEngine cronetEngine2 =
+ new ExperimentalHttpEngine.Builder(context).build();
cronetEngine1.startNetLogToDisk(netLogDir1.getPath(), false, MAX_FILE_SIZE);
cronetEngine2.startNetLogToDisk(netLogDir2.getPath(), false, MAX_FILE_SIZE);
@@ -830,13 +836,13 @@ public class CronetUrlRequestContextTest {
assertFalse(netLogDir2.exists());
}
- private CronetEngine createCronetEngineWithCache(int cacheType) {
- CronetEngine.Builder builder = new CronetEngine.Builder(getContext());
- if (cacheType == CronetEngine.Builder.HTTP_CACHE_DISK
- || cacheType == CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP) {
+ private HttpEngine createCronetEngineWithCache(int cacheType) {
+ HttpEngine.Builder builder = new HttpEngine.Builder(getContext());
+ if (cacheType == HttpEngine.Builder.HTTP_CACHE_DISK
+ || cacheType == HttpEngine.Builder.HTTP_CACHE_DISK_NO_HTTP) {
builder.setStoragePath(getTestStorage(getContext()));
}
- builder.enableHttpCache(cacheType, 100 * 1024);
+ builder.setEnableHttpCache(cacheType, 100 * 1024);
// Don't check the return value here, because startNativeTestServer() returns false when the
// NativeTestServer is already running and this method needs to be called twice without
// shutting down the NativeTestServer in between.
@@ -850,8 +856,8 @@ public class CronetUrlRequestContextTest {
// Tests that if CronetEngine is shut down on the network thread, an appropriate exception
// is thrown.
public void testShutDownEngineOnNetworkThread() throws Exception {
- final CronetEngine cronetEngine =
- createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK);
+ final HttpEngine cronetEngine =
+ createCronetEngineWithCache(HttpEngine.Builder.HTTP_CACHE_DISK);
String url = NativeTestServer.getFileURL("/cacheable.txt");
// Make a request to a cacheable resource.
checkRequestCaching(cronetEngine, url, false);
@@ -880,7 +886,7 @@ public class CronetUrlRequestContextTest {
}
@Override
- public void onFailed(UrlRequest request, UrlResponseInfo info, CronetException error) {
+ public void onFailed(UrlRequest request, UrlResponseInfo info, HttpException error) {
throw new RuntimeException("Unexpected");
}
}
@@ -894,7 +900,7 @@ public class CronetUrlRequestContextTest {
callback.setAllowDirectExecutor(true);
UrlRequest.Builder urlRequestBuilder =
cronetEngine.newUrlRequestBuilder(url, callback, directExecutor);
- urlRequestBuilder.allowDirectExecutor();
+ urlRequestBuilder.setDirectExecutorAllowed(true);
urlRequestBuilder.build().start();
callback.blockForDone();
assertTrue(thrown.get() instanceof RuntimeException);
@@ -907,8 +913,8 @@ public class CronetUrlRequestContextTest {
// Tests that if CronetEngine is shut down when reading from disk cache,
// there isn't a crash. See crbug.com/486120.
public void testShutDownEngineWhenReadingFromDiskCache() throws Exception {
- final CronetEngine cronetEngine =
- createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK);
+ final HttpEngine cronetEngine =
+ createCronetEngineWithCache(HttpEngine.Builder.HTTP_CACHE_DISK);
String url = NativeTestServer.getFileURL("/cacheable.txt");
// Make a request to a cacheable resource.
checkRequestCaching(cronetEngine, url, false);
@@ -932,13 +938,13 @@ public class CronetUrlRequestContextTest {
}
@Override
- public void onFailed(UrlRequest request, UrlResponseInfo info, CronetException error) {
+ public void onFailed(UrlRequest request, UrlResponseInfo info, HttpException error) {
throw new RuntimeException("Unexpected");
}
}
CancelUrlRequestCallback callback = new CancelUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder =
- cronetEngine.newUrlRequestBuilder(url, callback, callback.getExecutor());
+ cronetEngine.newUrlRequestBuilder(url, callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
@@ -953,7 +959,7 @@ public class CronetUrlRequestContextTest {
final CronetTestFramework testFramework = mTestRule.startCronetTestFramework();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder = testFramework.mCronetEngine.newUrlRequestBuilder(
- mUrl, callback, callback.getExecutor());
+ mUrl, callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
testFramework.mCronetEngine.shutdown();
@@ -1015,7 +1021,7 @@ public class CronetUrlRequestContextTest {
// Start a request.
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder = testFramework.mCronetEngine.newUrlRequestBuilder(
- mUrl, callback, callback.getExecutor());
+ mUrl, callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
testFramework.mCronetEngine.stopNetLog();
@@ -1067,7 +1073,7 @@ public class CronetUrlRequestContextTest {
// Start a request.
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder = testFramework.mCronetEngine.newUrlRequestBuilder(
- mUrl, callback, callback.getExecutor());
+ mUrl, callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
// Stop NetLog multiple times.
@@ -1121,13 +1127,13 @@ public class CronetUrlRequestContextTest {
Context context = getContext();
File directory = new File(PathUtils.getDataDirectory());
File file = File.createTempFile("cronet", "json", directory);
- CronetEngine cronetEngine = new CronetEngine.Builder(context).build();
+ HttpEngine cronetEngine = new HttpEngine.Builder(context).build();
// Start NetLog with logAll as true.
cronetEngine.startNetLogToFile(file.getPath(), true);
// Start a request.
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder =
- cronetEngine.newUrlRequestBuilder(mUrl, callback, callback.getExecutor());
+ cronetEngine.newUrlRequestBuilder(mUrl, callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
cronetEngine.stopNetLog();
@@ -1148,8 +1154,8 @@ public class CronetUrlRequestContextTest {
assertFalse(netLogDir.exists());
assertTrue(netLogDir.mkdir());
File logFile = new File(netLogDir, "netlog.json");
- ExperimentalCronetEngine cronetEngine =
- new ExperimentalCronetEngine.Builder(context).build();
+ ExperimentalHttpEngine cronetEngine =
+ new ExperimentalHttpEngine.Builder(context).build();
// Start NetLog with logAll as true.
cronetEngine.startNetLogToDisk(netLogDir.getPath(), true, MAX_FILE_SIZE);
// Start a request.
@@ -1191,26 +1197,26 @@ public class CronetUrlRequestContextTest {
* complete, and check that the status code is the same as {@code expectedStatusCode}.
*/
private void makeRequestAndCheckStatus(
- CronetEngine engine, String url, int expectedStatusCode) {
+ HttpEngine engine, String url, int expectedStatusCode) {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest request =
- engine.newUrlRequestBuilder(url, callback, callback.getExecutor()).build();
+ engine.newUrlRequestBuilder(url, callback.getExecutor(), callback).build();
request.start();
callback.blockForDone();
assertEquals(expectedStatusCode, callback.mResponseInfo.getHttpStatusCode());
}
- private void checkRequestCaching(CronetEngine engine, String url, boolean expectCached) {
+ private void checkRequestCaching(HttpEngine engine, String url, boolean expectCached) {
checkRequestCaching(engine, url, expectCached, false);
}
private void checkRequestCaching(
- CronetEngine engine, String url, boolean expectCached, boolean disableCache) {
+ HttpEngine engine, String url, boolean expectCached, boolean disableCache) {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder =
- engine.newUrlRequestBuilder(url, callback, callback.getExecutor());
+ engine.newUrlRequestBuilder(url, callback.getExecutor(), callback);
if (disableCache) {
- urlRequestBuilder.disableCache();
+ urlRequestBuilder.setCacheDisabled(true);
}
urlRequestBuilder.build().start();
callback.blockForDone();
@@ -1222,8 +1228,8 @@ public class CronetUrlRequestContextTest {
@SmallTest
@OnlyRunNativeCronet
public void testEnableHttpCacheDisabled() throws Exception {
- CronetEngine cronetEngine =
- createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISABLED);
+ HttpEngine cronetEngine =
+ createCronetEngineWithCache(HttpEngine.Builder.HTTP_CACHE_DISABLED);
String url = NativeTestServer.getFileURL("/cacheable.txt");
checkRequestCaching(cronetEngine, url, false);
checkRequestCaching(cronetEngine, url, false);
@@ -1234,8 +1240,8 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
public void testEnableHttpCacheInMemory() throws Exception {
- CronetEngine cronetEngine =
- createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_IN_MEMORY);
+ HttpEngine cronetEngine =
+ createCronetEngineWithCache(HttpEngine.Builder.HTTP_CACHE_IN_MEMORY);
String url = NativeTestServer.getFileURL("/cacheable.txt");
checkRequestCaching(cronetEngine, url, false);
checkRequestCaching(cronetEngine, url, true);
@@ -1247,8 +1253,8 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
public void testEnableHttpCacheDisk() throws Exception {
- CronetEngine cronetEngine =
- createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK);
+ HttpEngine cronetEngine =
+ createCronetEngineWithCache(HttpEngine.Builder.HTTP_CACHE_DISK);
String url = NativeTestServer.getFileURL("/cacheable.txt");
checkRequestCaching(cronetEngine, url, false);
checkRequestCaching(cronetEngine, url, true);
@@ -1261,10 +1267,10 @@ public class CronetUrlRequestContextTest {
@SmallTest
@OnlyRunNativeCronet
public void testNoConcurrentDiskUsage() throws Exception {
- CronetEngine cronetEngine =
- createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK);
+ HttpEngine cronetEngine =
+ createCronetEngineWithCache(HttpEngine.Builder.HTTP_CACHE_DISK);
try {
- createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK);
+ createCronetEngineWithCache(HttpEngine.Builder.HTTP_CACHE_DISK);
fail();
} catch (IllegalStateException e) {
assertEquals("Disk cache storage path already in use", e.getMessage());
@@ -1281,8 +1287,8 @@ public class CronetUrlRequestContextTest {
@SmallTest
@OnlyRunNativeCronet
public void testEnableHttpCacheDiskNoHttp() throws Exception {
- CronetEngine cronetEngine =
- createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP);
+ HttpEngine cronetEngine =
+ createCronetEngineWithCache(HttpEngine.Builder.HTTP_CACHE_DISK_NO_HTTP);
String url = NativeTestServer.getFileURL("/cacheable.txt");
checkRequestCaching(cronetEngine, url, false);
checkRequestCaching(cronetEngine, url, false);
@@ -1291,7 +1297,7 @@ public class CronetUrlRequestContextTest {
// Make a new CronetEngine and try again to make sure the response didn't get cached on the
// first request. See https://crbug.com/743232.
cronetEngine.shutdown();
- cronetEngine = createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP);
+ cronetEngine = createCronetEngineWithCache(HttpEngine.Builder.HTTP_CACHE_DISK_NO_HTTP);
checkRequestCaching(cronetEngine, url, false);
checkRequestCaching(cronetEngine, url, false);
checkRequestCaching(cronetEngine, url, false);
@@ -1301,8 +1307,8 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
public void testDisableCache() throws Exception {
- CronetEngine cronetEngine =
- createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK);
+ HttpEngine cronetEngine =
+ createCronetEngineWithCache(HttpEngine.Builder.HTTP_CACHE_DISK);
String url = NativeTestServer.getFileURL("/cacheable.txt");
// When cache is disabled, making a request does not write to the cache.
@@ -1320,8 +1326,8 @@ public class CronetUrlRequestContextTest {
// Cache is disabled after server is shut down, request should fail.
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder =
- cronetEngine.newUrlRequestBuilder(url, callback, callback.getExecutor());
- urlRequestBuilder.disableCache();
+ cronetEngine.newUrlRequestBuilder(url, callback.getExecutor(), callback);
+ urlRequestBuilder.setCacheDisabled(true);
urlRequestBuilder.build().start();
callback.blockForDone();
assertNotNull(callback.mError);
@@ -1333,8 +1339,8 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
public void testEnableHttpCacheDiskNewEngine() throws Exception {
- CronetEngine cronetEngine =
- createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK);
+ HttpEngine cronetEngine =
+ createCronetEngineWithCache(HttpEngine.Builder.HTTP_CACHE_DISK);
String url = NativeTestServer.getFileURL("/cacheable.txt");
checkRequestCaching(cronetEngine, url, false);
checkRequestCaching(cronetEngine, url, true);
@@ -1344,7 +1350,7 @@ public class CronetUrlRequestContextTest {
// Shutdown original context and create another that uses the same cache.
cronetEngine.shutdown();
cronetEngine =
- mTestRule.enableDiskCache(new CronetEngine.Builder(getContext())).build();
+ mTestRule.enableDiskCache(new HttpEngine.Builder(getContext())).build();
checkRequestCaching(cronetEngine, url, true);
cronetEngine.shutdown();
}
@@ -1353,10 +1359,10 @@ public class CronetUrlRequestContextTest {
@SmallTest
public void testInitEngineAndStartRequest() {
// Immediately make a request after initializing the engine.
- CronetEngine cronetEngine = new CronetEngine.Builder(getContext()).build();
+ HttpEngine cronetEngine = new HttpEngine.Builder(getContext()).build();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder =
- cronetEngine.newUrlRequestBuilder(mUrl, callback, callback.getExecutor());
+ cronetEngine.newUrlRequestBuilder(mUrl, callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
@@ -1367,13 +1373,13 @@ public class CronetUrlRequestContextTest {
@SmallTest
public void testInitEngineStartTwoRequests() throws Exception {
// Make two requests after initializing the context.
- CronetEngine cronetEngine = new CronetEngine.Builder(getContext()).build();
+ HttpEngine cronetEngine = new HttpEngine.Builder(getContext()).build();
int[] statusCodes = {0, 0};
String[] urls = {mUrl, mUrl404};
for (int i = 0; i < 2; i++) {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder =
- cronetEngine.newUrlRequestBuilder(urls[i], callback, callback.getExecutor());
+ cronetEngine.newUrlRequestBuilder(urls[i], callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
statusCodes[i] = callback.mResponseInfo.getHttpStatusCode();
@@ -1421,11 +1427,10 @@ public class CronetUrlRequestContextTest {
// Test that concurrently instantiating Cronet context's upon various
// different versions of the same Android Context does not cause crashes
// like crbug.com/453845
- CronetEngine firstEngine = new CronetEngine.Builder(getContext()).build();
- CronetEngine secondEngine =
- new CronetEngine.Builder(getContext()).build();
- CronetEngine thirdEngine =
- new CronetEngine.Builder(new ContextWrapper(getContext())).build();
+ HttpEngine firstEngine = new HttpEngine.Builder(getContext()).build();
+ HttpEngine secondEngine = new HttpEngine.Builder(getContext()).build();
+ HttpEngine thirdEngine =
+ new HttpEngine.Builder(new ContextWrapper(getContext())).build();
firstEngine.shutdown();
secondEngine.shutdown();
thirdEngine.shutdown();
@@ -1441,7 +1446,7 @@ public class CronetUrlRequestContextTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = testFramework.mCronetEngine.newUrlRequestBuilder(
- mUrl, callback, callback.getExecutor());
+ mUrl, callback.getExecutor(), callback);
builder.build().start();
callback.blockForDone();
// Fetch deltas on a different thread the second time to make sure this is permitted.
@@ -1464,16 +1469,16 @@ public class CronetUrlRequestContextTest {
// This is to prompt load of native library.
mTestRule.startCronetTestFramework();
// Verify CronetEngine.Builder config is passed down accurately to native code.
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
- builder.enableHttp2(false);
- builder.enableQuic(true);
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
+ builder.setEnableHttp2(false);
+ builder.setEnableQuic(true);
builder.addQuicHint("example.com", 12, 34);
- builder.enableHttpCache(HTTP_CACHE_IN_MEMORY, 54321);
+ builder.setEnableHttpCache(HTTP_CACHE_IN_MEMORY, 54321);
builder.setUserAgent("efgh");
builder.setExperimentalOptions("");
builder.setStoragePath(getTestStorage(getContext()));
- builder.enablePublicKeyPinningBypassForLocalTrustAnchors(false);
+ builder.setEnablePublicKeyPinningBypassForLocalTrustAnchors(false);
CronetUrlRequestContextTestJni.get().verifyUrlRequestContextConfig(
CronetUrlRequestContext.createNativeUrlRequestContextConfig(
CronetTestUtil.getCronetEngineBuilderImpl(builder)),
@@ -1486,17 +1491,17 @@ public class CronetUrlRequestContextTest {
// This is to prompt load of native library.
mTestRule.startCronetTestFramework();
// Verify CronetEngine.Builder config is passed down accurately to native code.
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
- builder.enableHttp2(false);
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
+ builder.setEnableHttp2(false);
// QUIC is on by default. Disabling it here to make sure the built config can correctly
// reflect the change.
- builder.enableQuic(false);
- builder.enableHttpCache(HTTP_CACHE_IN_MEMORY, 54321);
+ builder.setEnableQuic(false);
+ builder.setEnableHttpCache(HTTP_CACHE_IN_MEMORY, 54321);
builder.setExperimentalOptions("");
builder.setUserAgent("efgh");
builder.setStoragePath(getTestStorage(getContext()));
- builder.enablePublicKeyPinningBypassForLocalTrustAnchors(false);
+ builder.setEnablePublicKeyPinningBypassForLocalTrustAnchors(false);
CronetUrlRequestContextTestJni.get().verifyUrlRequestContextQuicOffConfig(
CronetUrlRequestContext.createNativeUrlRequestContextConfig(
CronetTestUtil.getCronetEngineBuilderImpl(builder)),
@@ -1513,12 +1518,12 @@ public class CronetUrlRequestContextTest {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
- final ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ final ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
new Thread() {
@Override
public void run() {
- CronetEngine cronetEngine = builder.build();
+ HttpEngine cronetEngine = builder.build();
otherThreadDone.open();
cronetEngine.shutdown();
}
@@ -1537,20 +1542,20 @@ public class CronetUrlRequestContextTest {
public void testHostResolverRules() throws Exception {
String resolverTestHostname = "some-weird-hostname";
URL testUrl = new URL(mUrl);
- ExperimentalCronetEngine.Builder cronetEngineBuilder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder cronetEngineBuilder =
+ new ExperimentalHttpEngine.Builder(getContext());
JSONObject hostResolverRules = new JSONObject().put(
"host_resolver_rules", "MAP " + resolverTestHostname + " " + testUrl.getHost());
JSONObject experimentalOptions =
new JSONObject().put("HostResolverRules", hostResolverRules);
cronetEngineBuilder.setExperimentalOptions(experimentalOptions.toString());
- final CronetEngine cronetEngine = cronetEngineBuilder.build();
+ final HttpEngine cronetEngine = cronetEngineBuilder.build();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
URL requestUrl =
new URL("http", resolverTestHostname, testUrl.getPort(), testUrl.getFile());
UrlRequest.Builder urlRequestBuilder = cronetEngine.newUrlRequestBuilder(
- requestUrl.toString(), callback, callback.getExecutor());
+ requestUrl.toString(), callback.getExecutor(), callback);
urlRequestBuilder.build().start();
callback.blockForDone();
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
@@ -1559,7 +1564,7 @@ public class CronetUrlRequestContextTest {
/**
* Runs {@code r} on {@code engine}'s network thread.
*/
- private static void postToNetworkThread(final CronetEngine engine, final Runnable r) {
+ private static void postToNetworkThread(final HttpEngine engine, final Runnable r) {
// Works by requesting an invalid URL which results in onFailed() being called, which is
// done through a direct executor which causes onFailed to be run on the network thread.
Executor directExecutor = new Executor() {
@@ -1582,20 +1587,20 @@ public class CronetUrlRequestContextTest {
@Override
public void onFailed(
- UrlRequest request, UrlResponseInfo responseInfo, CronetException error) {
+ UrlRequest request, UrlResponseInfo responseInfo, HttpException error) {
r.run();
}
@Override
public void onCanceled(UrlRequest request, UrlResponseInfo responseInfo) {}
};
- engine.newUrlRequestBuilder("", callback, directExecutor).build().start();
+ engine.newUrlRequestBuilder("", directExecutor, callback).build().start();
}
/**
* @returns the thread priority of {@code engine}'s network thread.
*/
private static class ApiHelper {
- public static boolean doesContextExistForNetwork(CronetEngine engine, Network network)
+ public static boolean doesContextExistForNetwork(HttpEngine engine, Network network)
throws Exception {
FutureTask<Boolean> task = new FutureTask<Boolean>(new Callable<Boolean>() {
@Override
@@ -1611,7 +1616,7 @@ public class CronetUrlRequestContextTest {
/**
* @returns the thread priority of {@code engine}'s network thread.
*/
- private int getThreadPriority(CronetEngine engine) throws Exception {
+ private int getThreadPriority(HttpEngine engine) throws Exception {
FutureTask<Integer> task = new FutureTask<Integer>(new Callable<Integer>() {
@Override
public Integer call() {
@@ -1626,8 +1631,8 @@ public class CronetUrlRequestContextTest {
@SmallTest
@RequiresMinApi(6) // setThreadPriority added in API 6: crrev.com/472449
public void testCronetEngineThreadPriority() throws Exception {
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
// Try out of bounds thread priorities.
try {
builder.setThreadPriority(-21);
@@ -1644,7 +1649,7 @@ public class CronetUrlRequestContextTest {
// Test that valid thread priority range (-20..19) is working.
for (int threadPriority = -20; threadPriority < 20; threadPriority++) {
builder.setThreadPriority(threadPriority);
- CronetEngine engine = builder.build();
+ HttpEngine engine = builder.build();
assertEquals(threadPriority, getThreadPriority(engine));
engine.shutdown();
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java
index b76f18298..5a53fec37 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java
@@ -14,6 +14,14 @@ import static org.junit.Assert.fail;
import static org.chromium.net.CronetTestRule.assertContains;
import static org.chromium.net.CronetTestRule.getContext;
+import android.net.http.HttpException;
+import android.net.http.ExperimentalUrlRequest;
+import android.net.http.NetworkException;
+import android.net.http.QuicException;
+import android.net.http.UploadDataProvider;
+import android.net.http.UploadDataSink;
+import android.net.http.UrlRequest;
+import android.net.http.UrlResponseInfo;
import android.os.Build;
import android.os.ConditionVariable;
import android.os.Process;
@@ -22,6 +30,7 @@ import android.os.StrictMode;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
+import android.net.http.apihelpers.UploadDataProviders;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
@@ -96,7 +105,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
// Create request.
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- url, callback, callback.getExecutor());
+ url, callback.getExecutor(), callback);
UrlRequest urlRequest = builder.build();
urlRequest.start();
callback.blockForDone();
@@ -120,7 +129,7 @@ public class CronetUrlRequestTest {
private void checkResponseInfoHeader(
UrlResponseInfo responseInfo, String headerName, String headerValue) {
Map<String, List<String>> responseHeaders =
- responseInfo.getAllHeaders();
+ responseInfo.getHeaders().getAsMap();
List<String> header = responseHeaders.get(headerName);
assertNotNull(header);
assertTrue(header.contains(headerValue));
@@ -132,14 +141,14 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
try {
mTestFramework.mCronetEngine.newUrlRequestBuilder(
- null, callback, callback.getExecutor());
+ null, callback.getExecutor(), callback);
fail("URL not null-checked");
} catch (NullPointerException e) {
assertEquals("URL is required.", e.getMessage());
}
try {
mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getRedirectURL(), null, callback.getExecutor());
+ NativeTestServer.getRedirectURL(), callback.getExecutor(), null);
fail("Callback not null-checked");
} catch (NullPointerException e) {
assertEquals("Callback is required.", e.getMessage());
@@ -153,7 +162,7 @@ public class CronetUrlRequestTest {
}
// Verify successful creation doesn't throw.
mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getRedirectURL(), callback, callback.getExecutor());
+ NativeTestServer.getRedirectURL(), callback.getExecutor(), callback);
}
@Test
@@ -234,7 +243,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
callback.setAutoAdvance(false);
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getRedirectURL(), callback, callback.getExecutor());
+ NativeTestServer.getRedirectURL(), callback.getExecutor(), callback);
UrlRequest urlRequest = builder.build();
urlRequest.start();
callback.waitForNextStep();
@@ -319,7 +328,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- url, callback, callback.getExecutor());
+ url, callback.getExecutor(), callback);
final UrlRequest urlRequest = builder.build();
urlRequest.start();
callback.blockForDone();
@@ -370,7 +379,7 @@ public class CronetUrlRequestTest {
}
@Override
- public void onFailed(UrlRequest request, UrlResponseInfo info, CronetException error) {
+ public void onFailed(UrlRequest request, UrlResponseInfo info, HttpException error) {
failedExpectation.set(true);
fail();
}
@@ -384,7 +393,7 @@ public class CronetUrlRequestTest {
};
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getMultiRedirectURL(), callback, callback.getExecutor());
+ NativeTestServer.getMultiRedirectURL(), callback.getExecutor(), callback);
final UrlRequest urlRequest = builder.build();
urlRequest.start();
@@ -440,7 +449,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
String methodName = "HEAD";
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoMethodURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoMethodURL(), callback.getExecutor(), callback);
// Try to set 'null' method.
try {
builder.setHttpMethod(null);
@@ -461,7 +470,7 @@ public class CronetUrlRequestTest {
public void testBadMethod() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- TEST_URL, callback, callback.getExecutor());
+ TEST_URL, callback.getExecutor(), callback);
try {
builder.setHttpMethod("bad:method!");
builder.build().start();
@@ -477,7 +486,7 @@ public class CronetUrlRequestTest {
public void testBadHeaderName() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- TEST_URL, callback, callback.getExecutor());
+ TEST_URL, callback.getExecutor(), callback);
try {
builder.addHeader("header:name", "headervalue");
builder.build().start();
@@ -493,7 +502,7 @@ public class CronetUrlRequestTest {
public void testAcceptEncodingIgnored() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoAllHeadersURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoAllHeadersURL(), callback.getExecutor(), callback);
// This line should eventually throw an exception, once callers have migrated
builder.addHeader("accept-encoding", "foozip");
builder.build().start();
@@ -506,7 +515,7 @@ public class CronetUrlRequestTest {
public void testBadHeaderValue() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- TEST_URL, callback, callback.getExecutor());
+ TEST_URL, callback.getExecutor(), callback);
try {
builder.addHeader("headername", "bad header\r\nvalue");
builder.build().start();
@@ -524,7 +533,7 @@ public class CronetUrlRequestTest {
String headerName = "header-name";
String headerValue = "header-value";
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoHeaderURL(headerName), callback, callback.getExecutor());
+ NativeTestServer.getEchoHeaderURL(headerName), callback.getExecutor(), callback);
builder.addHeader(headerName, headerValue);
builder.build().start();
@@ -541,7 +550,7 @@ public class CronetUrlRequestTest {
String headerValue1 = "header-value1";
String headerValue2 = "header-value2";
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoAllHeadersURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoAllHeadersURL(), callback.getExecutor(), callback);
builder.addHeader(headerName, headerValue1);
builder.addHeader(headerName, headerValue2);
builder.build().start();
@@ -565,7 +574,7 @@ public class CronetUrlRequestTest {
String refererName = "Referer";
String refererValue = "http://example.com/";
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoHeaderURL(refererName), callback, callback.getExecutor());
+ NativeTestServer.getEchoHeaderURL(refererName), callback.getExecutor(), callback);
builder.addHeader(refererName, refererValue);
builder.build().start();
callback.blockForDone();
@@ -581,7 +590,7 @@ public class CronetUrlRequestTest {
String refererName = "Referer";
String refererValueNoTrailingSlash = "http://example.com";
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoHeaderURL(refererName), callback, callback.getExecutor());
+ NativeTestServer.getEchoHeaderURL(refererName), callback.getExecutor(), callback);
builder.addHeader(refererName, refererValueNoTrailingSlash);
builder.build().start();
callback.blockForDone();
@@ -597,7 +606,7 @@ public class CronetUrlRequestTest {
String refererName = "Referer";
String invalidRefererValue = "foobar";
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoHeaderURL(refererName), callback, callback.getExecutor());
+ NativeTestServer.getEchoHeaderURL(refererName), callback.getExecutor(), callback);
builder.addHeader(refererName, invalidRefererValue);
builder.build().start();
callback.blockForDone();
@@ -612,7 +621,7 @@ public class CronetUrlRequestTest {
String userAgentName = "User-Agent";
String userAgentValue = "User-Agent-Value";
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoHeaderURL(userAgentName), callback, callback.getExecutor());
+ NativeTestServer.getEchoHeaderURL(userAgentName), callback.getExecutor(), callback);
builder.addHeader(userAgentName, userAgentValue);
builder.build().start();
callback.blockForDone();
@@ -626,7 +635,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
String headerName = "User-Agent";
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoHeaderURL(headerName), callback, callback.getExecutor());
+ NativeTestServer.getEchoHeaderURL(headerName), callback.getExecutor(), callback);
builder.build().start();
callback.blockForDone();
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
@@ -644,7 +653,7 @@ public class CronetUrlRequestTest {
assertEquals(0, callback.mRedirectResponseInfoList.size());
assertTrue(callback.mHttpResponseDataLength != 0);
assertEquals(callback.mResponseStep, ResponseStep.ON_SUCCEEDED);
- Map<String, List<String>> responseHeaders = callback.mResponseInfo.getAllHeaders();
+ Map<String, List<String>> responseHeaders = callback.mResponseInfo.getHeaders().getAsMap();
assertEquals("header-value", responseHeaders.get("header-name").get(0));
List<String> multiHeader = responseHeaders.get("multi-header-name");
assertEquals(2, multiHeader.size());
@@ -658,7 +667,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = startAndWaitForComplete(NativeTestServer.getSuccessURL());
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
List<Map.Entry<String, String>> responseHeaders =
- callback.mResponseInfo.getAllHeadersAsList();
+ callback.mResponseInfo.getHeaders().getAsList();
assertEquals(responseHeaders.get(0),
new AbstractMap.SimpleEntry<>("Content-Type", "text/plain"));
@@ -728,7 +737,7 @@ public class CronetUrlRequestTest {
assertNull(callback.mResponseInfo);
assertNotNull(callback.mError);
assertEquals(arbitraryNetError,
- ((NetworkException) callback.mError).getCronetInternalErrorCode());
+ ((NetworkException) callback.mError).getInternalErrorCode());
assertEquals(0, callback.mRedirectCount);
assertTrue(callback.mOnErrorCalled);
assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep);
@@ -746,7 +755,7 @@ public class CronetUrlRequestTest {
assertEquals(15, callback.mResponseInfo.getReceivedByteCount());
assertNotNull(callback.mError);
assertEquals(arbitraryNetError,
- ((NetworkException) callback.mError).getCronetInternalErrorCode());
+ ((NetworkException) callback.mError).getInternalErrorCode());
assertEquals(0, callback.mRedirectCount);
assertTrue(callback.mOnErrorCalled);
assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep);
@@ -766,7 +775,7 @@ public class CronetUrlRequestTest {
assertEquals(15, callback.mResponseInfo.getReceivedByteCount());
assertNotNull(callback.mError);
assertEquals(arbitraryNetError,
- ((NetworkException) callback.mError).getCronetInternalErrorCode());
+ ((NetworkException) callback.mError).getInternalErrorCode());
assertEquals(0, callback.mRedirectCount);
assertTrue(callback.mOnErrorCalled);
assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep);
@@ -801,7 +810,7 @@ public class CronetUrlRequestTest {
assertNull(callback.mResponseInfo);
assertNotNull(callback.mError);
assertTrue(callback.mOnErrorCalled);
- assertEquals(-201, ((NetworkException) callback.mError).getCronetInternalErrorCode());
+ assertEquals(-201, ((NetworkException) callback.mError).getInternalErrorCode());
assertContains("Exception in CronetUrlRequest: net::ERR_CERT_DATE_INVALID",
callback.mError.getMessage());
assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep);
@@ -822,7 +831,7 @@ public class CronetUrlRequestTest {
// getContext(), ServerCertificate.CERT_EXPIRED);
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- /* sslServer.getURL("/") */ null, callback, callback.getExecutor());
+ /* sslServer.getURL("/") */ null, callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -836,7 +845,7 @@ public class CronetUrlRequestTest {
assertNull(callback.mResponseInfo);
assertNotNull(callback.mError);
assertTrue(callback.mOnErrorCalled);
- assertEquals(-201, ((NetworkException) callback.mError).getCronetInternalErrorCode());
+ assertEquals(-201, ((NetworkException) callback.mError).getInternalErrorCode());
assertContains("Exception in CronetUrlRequest: net::ERR_CERT_DATE_INVALID",
callback.mError.getMessage());
assertEquals(ResponseStep.ON_FAILED, callback.mResponseStep);
@@ -855,7 +864,7 @@ public class CronetUrlRequestTest {
// Since the default method is "GET", the expected response body is also
// "GET".
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoMethodURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoMethodURL(), callback.getExecutor(), callback);
UrlRequest urlRequest = builder.build();
urlRequest.start();
callback.waitForNextStep();
@@ -937,7 +946,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
callback.setAutoAdvance(false);
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoMethodURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoMethodURL(), callback.getExecutor(), callback);
UrlRequest urlRequest = builder.build();
urlRequest.start();
callback.waitForNextStep();
@@ -980,7 +989,7 @@ public class CronetUrlRequestTest {
final UrlRequest urlRequest =
mTestFramework.mCronetEngine
.newUrlRequestBuilder(NativeTestServer.getEchoHeaderURL("blah-header"),
- callback, callback.getExecutor())
+ callback.getExecutor(), callback)
.addHeader("blah-header", "blahblahblah")
.build();
urlRequest.start();
@@ -1010,7 +1019,7 @@ public class CronetUrlRequestTest {
final UrlRequest urlRequest =
mTestFramework.mCronetEngine
.newUrlRequestBuilder(
- NativeTestServer.getRedirectURL(), callback, callback.getExecutor())
+ NativeTestServer.getRedirectURL(), callback.getExecutor(), callback)
.build();
// Try to read before starting request.
@@ -1086,7 +1095,7 @@ public class CronetUrlRequestTest {
final UrlRequest urlRequest =
mTestFramework.mCronetEngine
.newUrlRequestBuilder(
- NativeTestServer.getRedirectURL(), callback, callback.getExecutor())
+ NativeTestServer.getRedirectURL(), callback.getExecutor(), callback)
.build();
// Try to follow a redirect before starting the request.
@@ -1157,7 +1166,7 @@ public class CronetUrlRequestTest {
public void testUploadSetDataProvider() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
try {
builder.setUploadDataProvider(null, callback.getExecutor());
@@ -1181,7 +1190,7 @@ public class CronetUrlRequestTest {
public void testUploadEmptyBodySync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1204,7 +1213,7 @@ public class CronetUrlRequestTest {
public void testUploadSync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1228,7 +1237,7 @@ public class CronetUrlRequestTest {
public void testUploadMultiplePiecesSync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1256,7 +1265,7 @@ public class CronetUrlRequestTest {
public void testUploadMultiplePiecesAsync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.ASYNC, callback.getExecutor());
@@ -1284,7 +1293,7 @@ public class CronetUrlRequestTest {
public void testUploadChangesDefaultMethod() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoMethodURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoMethodURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1304,7 +1313,7 @@ public class CronetUrlRequestTest {
public void testUploadWithSetMethod() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoMethodURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoMethodURL(), callback.getExecutor(), callback);
final String method = "PUT";
builder.setHttpMethod(method);
@@ -1327,7 +1336,7 @@ public class CronetUrlRequestTest {
public void testUploadRedirectSync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getRedirectToEchoBody(), callback, callback.getExecutor());
+ NativeTestServer.getRedirectToEchoBody(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1351,7 +1360,7 @@ public class CronetUrlRequestTest {
public void testUploadRedirectAsync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getRedirectToEchoBody(), callback, callback.getExecutor());
+ NativeTestServer.getRedirectToEchoBody(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.ASYNC, callback.getExecutor());
@@ -1375,7 +1384,7 @@ public class CronetUrlRequestTest {
public void testUploadWithBadLength() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor()) {
@@ -1408,7 +1417,7 @@ public class CronetUrlRequestTest {
public void testUploadWithBadLengthBufferAligned() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor()) {
@@ -1440,7 +1449,7 @@ public class CronetUrlRequestTest {
public void testUploadReadFailSync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1467,7 +1476,7 @@ public class CronetUrlRequestTest {
public void testUploadLengthFailSync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1494,7 +1503,7 @@ public class CronetUrlRequestTest {
public void testUploadReadFailAsync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1529,7 +1538,7 @@ public class CronetUrlRequestTest {
}
};
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, myExecutor);
@@ -1604,7 +1613,7 @@ public class CronetUrlRequestTest {
UploadDataProvider dataProvider = UploadDataProviders.create("test".getBytes());
builder.setUploadDataProvider(dataProvider, myExecutor);
builder.addHeader("Content-Type", "useless/string");
- builder.allowDirectExecutor();
+ builder.setDirectExecutorAllowed(true);
builder.build().start();
callback.blockForDone();
@@ -1621,7 +1630,7 @@ public class CronetUrlRequestTest {
public void testUploadReadFailThrown() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1648,7 +1657,7 @@ public class CronetUrlRequestTest {
public void testUploadRewindFailSync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getRedirectToEchoBody(), callback, callback.getExecutor());
+ NativeTestServer.getRedirectToEchoBody(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1673,7 +1682,7 @@ public class CronetUrlRequestTest {
public void testUploadRewindFailAsync() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getRedirectToEchoBody(), callback, callback.getExecutor());
+ NativeTestServer.getRedirectToEchoBody(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.ASYNC, callback.getExecutor());
@@ -1698,7 +1707,7 @@ public class CronetUrlRequestTest {
public void testUploadRewindFailThrown() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getRedirectToEchoBody(), callback, callback.getExecutor());
+ NativeTestServer.getRedirectToEchoBody(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1723,7 +1732,7 @@ public class CronetUrlRequestTest {
public void testUploadChunked() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1748,7 +1757,7 @@ public class CronetUrlRequestTest {
public void testUploadChunkedLastReadZeroLengthBody() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1779,7 +1788,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
// The port for PTP will always refuse a TCP connection
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- "http://127.0.0.1:319", callback, callback.getExecutor());
+ "http://127.0.0.1:319", callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -1808,7 +1817,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
callback.setFailure(failureType, failureStep);
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getRedirectURL(), callback, callback.getExecutor());
+ NativeTestServer.getRedirectURL(), callback.getExecutor(), callback);
UrlRequest urlRequest = builder.build();
urlRequest.start();
callback.blockForDone();
@@ -1876,7 +1885,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
callback.setFailure(type, ResponseStep.ON_SUCCEEDED);
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoMethodURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoMethodURL(), callback.getExecutor(), callback);
UrlRequest urlRequest = builder.build();
urlRequest.start();
callback.blockForDone();
@@ -1904,7 +1913,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
callback.setFailure(type, ResponseStep.ON_FAILED);
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- url, callback, callback.getExecutor());
+ url, callback.getExecutor(), callback);
UrlRequest urlRequest = builder.build();
urlRequest.start();
callback.blockForDone();
@@ -1934,7 +1943,7 @@ public class CronetUrlRequestTest {
};
callback.setFailure(type, ResponseStep.ON_CANCELED);
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
UrlRequest urlRequest = builder.build();
urlRequest.start();
callback.blockForDone();
@@ -1956,7 +1965,7 @@ public class CronetUrlRequestTest {
callback.setAutoAdvance(false);
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
CronetUrlRequest urlRequest = (CronetUrlRequest) builder.build();
urlRequest.start();
callback.waitForNextStep();
@@ -2011,7 +2020,7 @@ public class CronetUrlRequestTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
ExecutorService uploadExecutor = Executors.newSingleThreadExecutor();
HangingUploadDataProvider dataProvider = new HangingUploadDataProvider();
@@ -2054,7 +2063,7 @@ public class CronetUrlRequestTest {
public void testDestroyUploadDataStreamAdapterOnSucceededCallback() throws Exception {
TestUrlRequestCallback callback = new QuitOnSuccessCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoBodyURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoBodyURL(), callback.getExecutor(), callback);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
TestUploadDataProvider.SuccessCallbackMode.SYNC, callback.getExecutor());
@@ -2114,7 +2123,7 @@ public class CronetUrlRequestTest {
String url = NativeTestServer.getFileURL("/set_cookie.html");
TestUrlRequestCallback callback = startAndWaitForComplete(url);
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
- assertEquals("A=B", callback.mResponseInfo.getAllHeaders().get("Set-Cookie").get(0));
+ assertEquals("A=B", callback.mResponseInfo.getHeaders().getAsMap().get("Set-Cookie").get(0));
// Make a request that check that cookie header isn't sent.
String headerName = "Cookie";
@@ -2199,11 +2208,11 @@ public class CronetUrlRequestTest {
}
@Override
- public void onFailed(UrlRequest request, UrlResponseInfo info, CronetException error) {
+ public void onFailed(UrlRequest request, UrlResponseInfo info, HttpException error) {
assertTrue(error instanceof NetworkException);
- assertEquals(netError, ((NetworkException) error).getCronetInternalErrorCode());
+ assertEquals(netError, ((NetworkException) error).getInternalErrorCode());
failedExpectation.set(
- ((NetworkException) error).getCronetInternalErrorCode() != netError);
+ ((NetworkException) error).getInternalErrorCode() != netError);
done.open();
}
@@ -2230,10 +2239,10 @@ public class CronetUrlRequestTest {
MockUrlRequestJobFactory.getMockUrlWithFailure(FailurePhase.START, netError));
assertNull(callback.mResponseInfo);
assertNotNull(callback.mError);
- assertEquals(netError, ((NetworkException) callback.mError).getCronetInternalErrorCode());
+ assertEquals(netError, ((NetworkException) callback.mError).getInternalErrorCode());
assertEquals(errorCode, ((NetworkException) callback.mError).getErrorCode());
assertEquals(
- immediatelyRetryable, ((NetworkException) callback.mError).immediatelyRetryable());
+ immediatelyRetryable, ((NetworkException) callback.mError).isImmediatelyRetryable());
assertContains(
"Exception in CronetUrlRequest: net::ERR_" + name, callback.mError.getMessage());
assertEquals(0, callback.mRedirectCount);
@@ -2277,7 +2286,7 @@ public class CronetUrlRequestTest {
assertNull(callback.mResponseInfo);
assertNotNull(callback.mError);
assertEquals(cleartextNotPermitted,
- ((NetworkException) callback.mError).getCronetInternalErrorCode());
+ ((NetworkException) callback.mError).getInternalErrorCode());
}
@Test
@@ -2293,7 +2302,7 @@ public class CronetUrlRequestTest {
callback.setAutoAdvance(false);
UrlRequest urlRequest =
mTestFramework.mCronetEngine
- .newUrlRequestBuilder(url, callback, callback.getExecutor())
+ .newUrlRequestBuilder(url, callback.getExecutor(), callback)
.build();
urlRequest.start();
urlRequest.cancel();
@@ -2322,7 +2331,7 @@ public class CronetUrlRequestTest {
public void test404Head() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getFileURL("/notfound.html"), callback, callback.getExecutor());
+ NativeTestServer.getFileURL("/notfound.html"), callback.getExecutor(), callback);
builder.setHttpMethod("HEAD").build().start();
callback.blockForDone();
}
@@ -2342,8 +2351,8 @@ public class CronetUrlRequestTest {
int tag = 0;
long priorBytes = CronetTestUtil.nativeGetTaggedBytes(tag);
TestUrlRequestCallback callback = new TestUrlRequestCallback();
- ExperimentalUrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- url, callback, callback.getExecutor());
+ UrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
+ url, callback.getExecutor(), callback);
builder.build().start();
callback.blockForDone();
assertTrue(CronetTestUtil.nativeGetTaggedBytes(tag) > priorBytes);
@@ -2353,7 +2362,7 @@ public class CronetUrlRequestTest {
priorBytes = CronetTestUtil.nativeGetTaggedBytes(tag);
callback = new TestUrlRequestCallback();
builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- url, callback, callback.getExecutor());
+ url, callback.getExecutor(), callback);
assertEquals(builder.setTrafficStatsTag(tag), builder);
builder.build().start();
callback.blockForDone();
@@ -2364,7 +2373,7 @@ public class CronetUrlRequestTest {
priorBytes = CronetTestUtil.nativeGetTaggedBytes(tag);
callback = new TestUrlRequestCallback();
builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- url, callback, callback.getExecutor());
+ url, callback.getExecutor(), callback);
assertEquals(builder.setTrafficStatsTag(tag), builder);
builder.build().start();
callback.blockForDone();
@@ -2375,7 +2384,7 @@ public class CronetUrlRequestTest {
priorBytes = CronetTestUtil.nativeGetTaggedBytes(tag);
callback = new TestUrlRequestCallback();
builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- url, callback, callback.getExecutor());
+ url, callback.getExecutor(), callback);
assertEquals(builder.setTrafficStatsUid(Process.myUid()), builder);
builder.build().start();
callback.blockForDone();
@@ -2421,7 +2430,7 @@ public class CronetUrlRequestTest {
public void testSetIdempotency() throws Exception {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
ExperimentalUrlRequest.Builder builder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
- NativeTestServer.getEchoMethodURL(), callback, callback.getExecutor());
+ NativeTestServer.getEchoMethodURL(), callback.getExecutor(), callback);
assertEquals(builder.setIdempotency(ExperimentalUrlRequest.Builder.IDEMPOTENT), builder);
TestUploadDataProvider dataProvider = new TestUploadDataProvider(
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java
index 59dfeed4b..1e16e8ea8 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java
@@ -12,6 +12,10 @@ import static org.junit.Assert.fail;
import static org.chromium.net.CronetTestRule.getContext;
import static org.chromium.net.CronetTestRule.getTestStorage;
+import android.net.http.HttpEngine;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.UrlRequest;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -66,12 +70,12 @@ public class DiskStorageTest {
assertTrue(readOnlyStorage.mkdir());
// Setting the storage directory as readonly has no effect.
assertTrue(readOnlyStorage.setReadOnly());
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
builder.setStoragePath(mReadOnlyStoragePath);
- builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 1024);
+ builder.setEnableHttpCache(HttpEngine.Builder.HTTP_CACHE_DISK, 1024 * 1024);
- CronetEngine cronetEngine = builder.build();
+ HttpEngine cronetEngine = builder.build();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
String url = NativeTestServer.getFileURL("/cacheable.txt");
UrlRequest.Builder requestBuilder =
@@ -129,12 +133,12 @@ public class DiskStorageTest {
}
}
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
builder.setStoragePath(getTestStorage(getContext()));
- builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 1024);
+ builder.setEnableHttpCache(HttpEngine.Builder.HTTP_CACHE_DISK, 1024 * 1024);
- CronetEngine cronetEngine = builder.build();
+ HttpEngine cronetEngine = builder.build();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
String url = NativeTestServer.getFileURL("/cacheable.txt");
UrlRequest.Builder requestBuilder =
@@ -170,12 +174,12 @@ public class DiskStorageTest {
// Tests that if cache version is current, Cronet does not purge the directory.
public void testCacheVersionCurrent() throws Exception {
// Initialize a CronetEngine and shut it down.
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
builder.setStoragePath(getTestStorage(getContext()));
- builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 1024);
+ builder.setEnableHttpCache(HttpEngine.Builder.HTTP_CACHE_DISK, 1024 * 1024);
- CronetEngine cronetEngine = builder.build();
+ HttpEngine cronetEngine = builder.build();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
String url = NativeTestServer.getFileURL("/cacheable.txt");
UrlRequest.Builder requestBuilder =
@@ -201,7 +205,7 @@ public class DiskStorageTest {
}
// Creates a new CronetEngine and make a request.
- CronetEngine engine = builder.build();
+ HttpEngine engine = builder.build();
TestUrlRequestCallback callback2 = new TestUrlRequestCallback();
String url2 = NativeTestServer.getFileURL("/cacheable.txt");
UrlRequest.Builder requestBuilder2 =
@@ -232,16 +236,16 @@ public class DiskStorageTest {
// Tests that enableHttpCache throws if storage path not set
public void testEnableHttpCacheThrowsIfStoragePathNotSet() throws Exception {
// Initialize a CronetEngine and shut it down.
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
try {
- builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 1024);
+ builder.setEnableHttpCache(HttpEngine.Builder.HTTP_CACHE_DISK, 1024 * 1024);
fail("Enabling http cache without a storage path should throw an exception");
} catch (IllegalArgumentException e) {
// Expected
}
- CronetEngine cronetEngine = builder.build();
+ HttpEngine cronetEngine = builder.build();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
String url = NativeTestServer.getFileURL("/cacheable.txt");
UrlRequest.Builder requestBuilder =
@@ -266,11 +270,11 @@ public class DiskStorageTest {
public void testPrefsFileCreatedWithoutHttpCache() throws Exception {
// Initialize a CronetEngine and shut it down.
String testStorage = getTestStorage(getContext());
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
builder.setStoragePath(testStorage);
- CronetEngine cronetEngine = builder.build();
+ HttpEngine cronetEngine = builder.build();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
String url = NativeTestServer.getFileURL("/cacheable.txt");
UrlRequest.Builder requestBuilder =
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java
index 8c3ed567f..91069a994 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java
@@ -4,14 +4,10 @@
package org.chromium.net;
-import static com.google.common.truth.Truth.assertWithMessage;
-import static com.google.common.truth.Truth.assertThat;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertThrows;
import static org.junit.Assert.fail;
import static org.chromium.net.CronetTestRule.SERVER_CERT_PEM;
@@ -20,6 +16,16 @@ import static org.chromium.net.CronetTestRule.assertContains;
import static org.chromium.net.CronetTestRule.getContext;
import static org.chromium.net.CronetTestRule.getTestStorage;
+import android.net.http.BidirectionalStream;
+import android.net.http.ConnectionMigrationOptions;
+import android.net.http.DnsOptions;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.HttpEngine;
+import android.net.http.IHttpEngineBuilder;
+import android.net.http.NetworkException;
+import android.net.http.QuicOptions;
+import android.net.http.UrlRequest;
+
import androidx.annotation.OptIn;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
@@ -41,7 +47,7 @@ import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.annotations.NativeMethods;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.net.CronetTestRule.OnlyRunNativeCronet;
-import org.chromium.net.DnsOptions.StaleDnsOptions;
+import android.net.http.DnsOptions.StaleDnsOptions;
import org.chromium.net.impl.CronetUrlRequestContext;
import java.io.File;
@@ -49,6 +55,8 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URL;
+import java.time.Duration;
+import java.time.Instant;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
@@ -74,15 +82,15 @@ public class ExperimentalOptionsTest {
public ExpectedException expectedException = ExpectedException.none();
private static final String TAG = ExperimentalOptionsTest.class.getSimpleName();
- private ExperimentalCronetEngine.Builder mBuilder;
+ private ExperimentalHttpEngine.Builder mBuilder;
private CountDownLatch mHangingUrlLatch;
@Before
public void setUp() throws Exception {
- mBuilder = new ExperimentalCronetEngine.Builder(getContext());
+ mBuilder = new ExperimentalHttpEngine.Builder(getContext());
mHangingUrlLatch = new CountDownLatch(1);
CronetTestUtil.setMockCertVerifierForTesting(
- mBuilder, QuicTestServer.createMockCertVerifier());
+ mBuilder, QuicTestServer.createMockCertVerifier());
assertTrue(Http2TestServer.startHttp2TestServer(
getContext(), SERVER_CERT_PEM, SERVER_KEY_PKCS8_PEM, mHangingUrlLatch));
}
@@ -106,7 +114,7 @@ public class ExperimentalOptionsTest {
new JSONObject().put("HostResolverRules", hostResolverParams);
mBuilder.setExperimentalOptions(experimentalOptions.toString());
- CronetEngine cronetEngine = mBuilder.build();
+ HttpEngine cronetEngine = mBuilder.build();
cronetEngine.startNetLogToFile(logfile.getPath(), false);
String url = Http2TestServer.getEchoMethodUrl();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
@@ -131,7 +139,7 @@ public class ExperimentalOptionsTest {
JSONObject experimentalOptions = new JSONObject().put("enable_telemetry", true);
mBuilder.setExperimentalOptions(experimentalOptions.toString());
- CronetEngine cronetEngine = mBuilder.build();
+ HttpEngine cronetEngine = mBuilder.build();
CronetUrlRequestContext context = (CronetUrlRequestContext) mBuilder.build();
assertTrue(context.getEnableTelemetryForTesting());
cronetEngine.shutdown();
@@ -141,7 +149,7 @@ public class ExperimentalOptionsTest {
@MediumTest
@OnlyRunNativeCronet
public void testEnableTelemetryDefault() throws Exception {
- CronetEngine cronetEngine = mBuilder.build();
+ HttpEngine cronetEngine = mBuilder.build();
CronetUrlRequestContext context = (CronetUrlRequestContext) mBuilder.build();
assertFalse(context.getEnableTelemetryForTesting());
cronetEngine.shutdown();
@@ -159,7 +167,7 @@ public class ExperimentalOptionsTest {
JSONObject experimentalOptions = new JSONObject().put("ssl_key_log_file", file.getPath());
mBuilder.setExperimentalOptions(experimentalOptions.toString());
- CronetEngine cronetEngine = mBuilder.build();
+ HttpEngine cronetEngine = mBuilder.build();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder builder =
@@ -231,7 +239,7 @@ public class ExperimentalOptionsTest {
String testUrl = new URL("http", testHost, realPort, javaUrl.getPath()).toString();
mBuilder.setStoragePath(getTestStorage(getContext()))
- .enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 0);
+ .setEnableHttpCache(HttpEngine.Builder.HTTP_CACHE_DISK, 0);
// Set a short delay so the pref gets written quickly.
JSONObject staleDns = new JSONObject()
@@ -284,7 +292,7 @@ public class ExperimentalOptionsTest {
public void testWrongJsonExperimentalOptions() throws Exception {
try {
mBuilder.setExperimentalOptions("Not a serialized JSON object");
- CronetEngine cronetEngine = mBuilder.build();
+ HttpEngine cronetEngine = mBuilder.build();
fail("Setting invalid JSON should have thrown an exception.");
} catch (IllegalArgumentException e) {
assertTrue(e.getMessage().contains("Experimental options parsing failed"));
@@ -301,10 +309,10 @@ public class ExperimentalOptionsTest {
JSONObject experimentalOptions =
new JSONObject().put("bidi_stream_detect_broken_connection", heartbeatIntervalSecs);
mBuilder.setExperimentalOptions(experimentalOptions.toString());
- ExperimentalCronetEngine cronetEngine = (ExperimentalCronetEngine) mBuilder.build();
+ HttpEngine cronetEngine = mBuilder.build();
TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCallback();
- ExperimentalBidirectionalStream.Builder builder =
+ BidirectionalStream.Builder builder =
cronetEngine.newBidirectionalStreamBuilder(url, callback, callback.getExecutor())
.setHttpMethod("GET");
BidirectionalStream stream = builder.build();
@@ -330,9 +338,9 @@ public class ExperimentalOptionsTest {
JSONObject experimentalOptions =
new JSONObject().put("bidi_stream_detect_broken_connection", heartbeatIntervalSecs);
mBuilder.setExperimentalOptions(experimentalOptions.toString());
- ExperimentalCronetEngine cronetEngine = (ExperimentalCronetEngine) mBuilder.build();
+ ExperimentalHttpEngine cronetEngine = mBuilder.build();
cronetEngine.addRequestFinishedListener(requestFinishedListener);
- ExperimentalBidirectionalStream.Builder builder =
+ BidirectionalStream.Builder builder =
cronetEngine
.newBidirectionalStreamBuilder(hangingUrl, callback, callback.getExecutor())
.setHttpMethod("GET");
@@ -344,119 +352,135 @@ public class ExperimentalOptionsTest {
assertContains("Exception in BidirectionalStream: net::ERR_HTTP2_PING_FAILED",
callback.mError.getMessage());
assertEquals(NetError.ERR_HTTP2_PING_FAILED,
- ((NetworkException) callback.mError).getCronetInternalErrorCode());
+ ((NetworkException) callback.mError).getInternalErrorCode());
cronetEngine.shutdown();
}
@Test
@MediumTest
+ @OnlyRunNativeCronet
public void testEnableDefaultNetworkConnectionMigrationApi_noBuilderSupport() {
MockCronetBuilderImpl mockBuilderImpl = MockCronetBuilderImpl.withoutNativeSetterSupport();
- CronetEngine.Builder builder = new CronetEngine.Builder(mockBuilderImpl);
+ mBuilder = new ExperimentalHttpEngine.Builder(mockBuilderImpl);
- builder.setConnectionMigrationOptions(
- ConnectionMigrationOptions.builder().enableDefaultNetworkMigration(true));
- builder.build();
+ mBuilder.setConnectionMigrationOptions(
+ ConnectionMigrationOptions.builder()
+ .setDefaultNetworkMigration(
+ ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED));
+ mBuilder.build();
- assertThat(mockBuilderImpl.mConnectionMigrationOptions).isNull();
+ assertNull(mockBuilderImpl.mConnectionMigrationOptions);
assertJsonEquals(EXPECTED_CONNECTION_MIGRATION_ENABLED_STRING,
mockBuilderImpl.mEffectiveExperimentalOptions);
}
@Test
@MediumTest
+ @OnlyRunNativeCronet
public void enableDefaultNetworkConnectionMigrationApi_builderSupport() {
MockCronetBuilderImpl mockBuilderImpl = MockCronetBuilderImpl.withNativeSetterSupport();
- CronetEngine.Builder builder = new CronetEngine.Builder(mockBuilderImpl);
+ mBuilder = new ExperimentalHttpEngine.Builder(mockBuilderImpl);
- builder.setConnectionMigrationOptions(
- ConnectionMigrationOptions.builder().enableDefaultNetworkMigration(true));
- builder.build();
+ mBuilder.setConnectionMigrationOptions(
+ ConnectionMigrationOptions.builder()
+ .setDefaultNetworkMigration(
+ ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED));
+ mBuilder.build();
- assertThat(mockBuilderImpl.mConnectionMigrationOptions.getEnableDefaultNetworkMigration())
- .isTrue();
- assertThat(mockBuilderImpl.mEffectiveExperimentalOptions).isNull();
+ assertEquals(ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED,
+ mockBuilderImpl.mConnectionMigrationOptions.getDefaultNetworkMigration());
+ assertNull(mockBuilderImpl.mEffectiveExperimentalOptions);
}
@Test
@MediumTest
+ @OnlyRunNativeCronet
public void
testEnableDefaultNetworkConnectionMigrationApi_noBuilderSupport_setterTakesPrecedence() {
MockCronetBuilderImpl mockBuilderImpl = MockCronetBuilderImpl.withoutNativeSetterSupport();
- // This test must instantiate an ExperimentalCronetEngine.Builder since we want to call
- // setExperimentalOptions. We still cast it down to CronetEngine.Builder to confirm
- // things work properly when using that (see crbug/1448520).
- CronetEngine.Builder builder = new ExperimentalCronetEngine.Builder(mockBuilderImpl);
-
- builder.setConnectionMigrationOptions(
- ConnectionMigrationOptions.builder().enableDefaultNetworkMigration(true));
- ((ExperimentalCronetEngine.Builder) builder)
- .setExperimentalOptions(
- "{\"QUIC\": {\"migrate_sessions_on_network_change_v2\": false}}");
- builder.build();
-
- assertThat(mockBuilderImpl.mConnectionMigrationOptions).isNull();
+ mBuilder = new ExperimentalHttpEngine.Builder(mockBuilderImpl);
+
+ mBuilder.setConnectionMigrationOptions(
+ ConnectionMigrationOptions.builder()
+ .setDefaultNetworkMigration(
+ ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED));
+ mBuilder.setExperimentalOptions(
+ "{\"QUIC\": {\"migrate_sessions_on_network_change_v2\": false}}");
+ mBuilder.build();
+
+ assertNull(mockBuilderImpl.mConnectionMigrationOptions);
assertJsonEquals(EXPECTED_CONNECTION_MIGRATION_ENABLED_STRING,
mockBuilderImpl.mEffectiveExperimentalOptions);
}
@Test
@MediumTest
+ @OnlyRunNativeCronet
public void testEnablePathDegradingConnectionMigration_justNonDefaultNetwork() {
MockCronetBuilderImpl mockBuilderImpl = MockCronetBuilderImpl.withoutNativeSetterSupport();
- CronetEngine.Builder builder = new CronetEngine.Builder(mockBuilderImpl);
+ mBuilder = new ExperimentalHttpEngine.Builder(mockBuilderImpl);
- builder.setConnectionMigrationOptions(
- ConnectionMigrationOptions.builder().allowNonDefaultNetworkUsage(true));
- builder.build();
+ mBuilder.setConnectionMigrationOptions(
+ ConnectionMigrationOptions.builder()
+ .setAllowNonDefaultNetworkUsage(
+ ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED));
+ mBuilder.build();
- assertThat(mockBuilderImpl.mConnectionMigrationOptions).isNull();
+ assertNull(mockBuilderImpl.mConnectionMigrationOptions);
assertJsonEquals("{\"QUIC\":{}}", mockBuilderImpl.mEffectiveExperimentalOptions);
}
@Test
@MediumTest
+ @OnlyRunNativeCronet
public void testEnablePathDegradingConnectionMigration_justPort() {
MockCronetBuilderImpl mockBuilderImpl = MockCronetBuilderImpl.withoutNativeSetterSupport();
- CronetEngine.Builder builder = new CronetEngine.Builder(mockBuilderImpl);
+ mBuilder = new ExperimentalHttpEngine.Builder(mockBuilderImpl);
- builder.setConnectionMigrationOptions(
- ConnectionMigrationOptions.builder().enablePathDegradationMigration(true));
- builder.build();
+ mBuilder.setConnectionMigrationOptions(
+ ConnectionMigrationOptions.builder()
+ .setPathDegradationMigration(
+ ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED));
+ mBuilder.build();
- assertThat(mockBuilderImpl.mConnectionMigrationOptions).isNull();
+ assertNull(mockBuilderImpl.mConnectionMigrationOptions);
assertJsonEquals("{\"QUIC\":{\"allow_port_migration\":true}}",
mockBuilderImpl.mEffectiveExperimentalOptions);
}
@Test
@MediumTest
+ @OnlyRunNativeCronet
+ @Ignore("b/267353182 fix failure")
public void testEnablePathDegradingConnectionMigration_bothTrue() {
MockCronetBuilderImpl mockBuilderImpl = MockCronetBuilderImpl.withoutNativeSetterSupport();
- CronetEngine.Builder builder = new CronetEngine.Builder(mockBuilderImpl);
+ mBuilder = new ExperimentalHttpEngine.Builder(mockBuilderImpl);
- builder.setConnectionMigrationOptions(ConnectionMigrationOptions.builder()
- .enablePathDegradationMigration(true)
- .allowNonDefaultNetworkUsage(true));
- builder.build();
+ mBuilder.setConnectionMigrationOptions(ConnectionMigrationOptions.builder()
+ .setPathDegradationMigration(ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED)
+ .setAllowNonDefaultNetworkUsage(
+ ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED));
+ mBuilder.build();
- assertThat(mockBuilderImpl.mConnectionMigrationOptions).isNull();
+ assertNull(mockBuilderImpl.mConnectionMigrationOptions);
assertJsonEquals("{\"QUIC\":{\"migrate_sessions_early_v2\":true}}",
mockBuilderImpl.mEffectiveExperimentalOptions);
}
@Test
@MediumTest
+ @OnlyRunNativeCronet
public void testEnablePathDegradingConnectionMigration_trueAndFalse() throws Exception {
MockCronetBuilderImpl mockBuilderImpl = MockCronetBuilderImpl.withoutNativeSetterSupport();
- CronetEngine.Builder builder = new CronetEngine.Builder(mockBuilderImpl);
+ mBuilder = new ExperimentalHttpEngine.Builder(mockBuilderImpl);
- builder.setConnectionMigrationOptions(ConnectionMigrationOptions.builder()
- .enablePathDegradationMigration(true)
- .allowNonDefaultNetworkUsage(false));
- builder.build();
+ mBuilder.setConnectionMigrationOptions(ConnectionMigrationOptions.builder()
+ .setPathDegradationMigration(ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED)
+ .setAllowNonDefaultNetworkUsage(
+ ConnectionMigrationOptions.MIGRATION_OPTION_DISABLED));
+ mBuilder.build();
- assertThat(mockBuilderImpl.mConnectionMigrationOptions).isNull();
+ assertNull(mockBuilderImpl.mConnectionMigrationOptions);
assertJsonEquals(
"{\"QUIC\":{\"migrate_sessions_early_v2\":false,\"allow_port_migration\":true}}",
mockBuilderImpl.mEffectiveExperimentalOptions);
@@ -464,37 +488,47 @@ public class ExperimentalOptionsTest {
@Test
@MediumTest
+ @OnlyRunNativeCronet
public void testEnablePathDegradingConnectionMigration_invalid() {
MockCronetBuilderImpl mockBuilderImpl = MockCronetBuilderImpl.withoutNativeSetterSupport();
- CronetEngine.Builder builder = new CronetEngine.Builder(mockBuilderImpl);
+ mBuilder = new ExperimentalHttpEngine.Builder(mockBuilderImpl);
- builder.setConnectionMigrationOptions(ConnectionMigrationOptions.builder()
- .enablePathDegradationMigration(false)
- .allowNonDefaultNetworkUsage(true));
+ mBuilder.setConnectionMigrationOptions(ConnectionMigrationOptions.builder()
+ .setPathDegradationMigration(ConnectionMigrationOptions.MIGRATION_OPTION_DISABLED)
+ .setAllowNonDefaultNetworkUsage(
+ ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED));
- IllegalArgumentException e = assertThrows(IllegalArgumentException.class, builder::build);
- assertThat(e).hasMessageThat().contains(
- "Unable to turn on non-default network usage without path degradation migration");
+ try {
+ mBuilder.build();
+ fail();
+ } catch (IllegalArgumentException expected) {
+ assertTrue(expected.getMessage().contains(
+ "Unable to turn on non-default network usage without path degradation"
+ + " migration"));
+ }
}
@Test
@MediumTest
+ @OnlyRunNativeCronet
public void testExperimentalOptions_allSet_viaExperimentalEngine() throws Exception {
MockCronetBuilderImpl mockBuilderImpl = MockCronetBuilderImpl.withoutNativeSetterSupport();
testExperimentalOptionsAllSetImpl(
- new CronetEngine.Builder(mockBuilderImpl), mockBuilderImpl);
+ new ExperimentalHttpEngine.Builder(mockBuilderImpl), mockBuilderImpl);
}
@Test
@MediumTest
+ @OnlyRunNativeCronet
public void testExperimentalOptions_allSet_viaNonExperimentalEngine() throws Exception {
MockCronetBuilderImpl mockBuilderImpl = MockCronetBuilderImpl.withoutNativeSetterSupport();
testExperimentalOptionsAllSetImpl(
- new CronetEngine.Builder(mockBuilderImpl), mockBuilderImpl);
+ new HttpEngine.Builder(mockBuilderImpl), mockBuilderImpl);
}
private static void testExperimentalOptionsAllSetImpl(
- CronetEngine.Builder builder, MockCronetBuilderImpl mockBuilderImpl) throws Exception {
+ HttpEngine.Builder builder,
+ MockCronetBuilderImpl mockBuilderImpl) throws Exception {
QuicOptions quicOptions =
QuicOptions.builder()
.addAllowedQuicHost("quicHost1.com")
@@ -511,56 +545,70 @@ public class ExperimentalOptionsTest {
.addExtraQuicheFlag("extraQuicheFlag1")
.addExtraQuicheFlag("extraQuicheFlag2")
.addExtraQuicheFlag("extraQuicheFlag1")
- .setCryptoHandshakeTimeoutSeconds(toTelephoneKeyboardSequence("cryptoHs"))
- .setIdleConnectionTimeoutSeconds(
- toTelephoneKeyboardSequence("idleConTimeout"))
+ .setCryptoHandshakeTimeout(Duration.ofSeconds(
+ toTelephoneKeyboardSequence("cryptoHs")))
+ .setIdleConnectionTimeout(
+ Duration.ofSeconds(
+ toTelephoneKeyboardSequence("idleConTimeout")))
.setHandshakeUserAgent("handshakeUserAgent")
.setInitialBrokenServicePeriodSeconds(
- toTelephoneKeyboardSequence("initialBrokenServicePeriod"))
+ Duration.ofSeconds(
+ toTelephoneKeyboardSequence(
+ "initialBrokenServicePeriod")))
.setInMemoryServerConfigsCacheSize(
toTelephoneKeyboardSequence("inMemoryCacheSize"))
- .setPreCryptoHandshakeIdleTimeoutSeconds(
- toTelephoneKeyboardSequence("preCryptoHs"))
- .setRetransmittableOnWireTimeoutMillis(
- toTelephoneKeyboardSequence("retransmitOnWireTo"))
- .retryWithoutAltSvcOnQuicErrors(false)
- .enableTlsZeroRtt(true)
- .closeSessionsOnIpChange(false)
- .goawaySessionsOnIpChange(true)
- .delayJobsWithAvailableSpdySession(false)
- .increaseBrokenServicePeriodExponentially(true)
+ .setPreCryptoHandshakeIdleTimeout(
+ Duration.ofSeconds(toTelephoneKeyboardSequence("preCryptoHs")))
+ .setRetransmittableOnWireTimeout(
+ Duration.ofMillis(
+ toTelephoneKeyboardSequence("retransmitOnWireTo")))
+ .setRetryWithoutAltSvcOnQuicErrors(false)
+ .setEnableTlsZeroRtt(true)
+ .setCloseSessionsOnIpChange(false)
+ .setGoawaySessionsOnIpChange(true)
+ .setDelayJobsWithAvailableSpdySession(false)
+ .setIncreaseBrokenServicePeriodExponentially(true)
.build();
DnsOptions dnsOptions =
DnsOptions.builder()
- .enableStaleDns(true)
- .preestablishConnectionsToStaleDnsResults(false)
- .persistHostCache(true)
- .setPersistHostCachePeriodMillis(
- toTelephoneKeyboardSequence("persistDelay"))
- .useBuiltInDnsResolver(false)
+ .setStaleDns(DnsOptions.DNS_OPTION_ENABLED)
+ .setPreestablishConnectionsToStaleDnsResults(DnsOptions.DNS_OPTION_DISABLED)
+ .setPersistHostCache(DnsOptions.DNS_OPTION_ENABLED)
+ .setPersistHostCachePeriod(
+ Duration.ofMillis(
+ toTelephoneKeyboardSequence("persistDelay")))
+ .setUseHttpStackDnsResolver(DnsOptions.DNS_OPTION_DISABLED)
.setStaleDnsOptions(
StaleDnsOptions.builder()
- .allowCrossNetworkUsage(true)
- .setFreshLookupTimeoutMillis(
- toTelephoneKeyboardSequence("freshLookup"))
- .setMaxExpiredDelayMillis(
- toTelephoneKeyboardSequence("maxExpAge"))
- .useStaleOnNameNotResolved(false))
+ .setAllowCrossNetworkUsage(DnsOptions.DNS_OPTION_ENABLED)
+ .setFreshLookupTimeout(
+ Duration.ofMillis(
+ toTelephoneKeyboardSequence(
+ "freshLookup")))
+ .setMaxExpiredDelay(
+ Duration.ofMillis(
+ toTelephoneKeyboardSequence(
+ "maxExpAge")))
+ .setUseStaleOnNameNotResolved(
+ DnsOptions.DNS_OPTION_DISABLED))
.build();
ConnectionMigrationOptions connectionMigrationOptions =
ConnectionMigrationOptions.builder()
- .enableDefaultNetworkMigration(false)
- .enablePathDegradationMigration(true)
- .allowServerMigration(false)
- .migrateIdleConnections(true)
- .setIdleConnectionMigrationPeriodSeconds(
- toTelephoneKeyboardSequence("idlePeriod"))
- .retryPreHandshakeErrorsOnNonDefaultNetwork(false)
- .allowNonDefaultNetworkUsage(true)
+ .setDefaultNetworkMigration(
+ ConnectionMigrationOptions.MIGRATION_OPTION_DISABLED)
+ .setPathDegradationMigration(
+ ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED)
+ .setAllowServerMigration(false)
+ .setMigrateIdleConnections(true)
+ .setIdleMigrationPeriodSeconds(
+ Duration.ofSeconds(toTelephoneKeyboardSequence("idlePeriod")))
+ .setAllowNonDefaultNetworkUsage(
+ ConnectionMigrationOptions.MIGRATION_OPTION_ENABLED)
.setMaxTimeOnNonDefaultNetworkSeconds(
- toTelephoneKeyboardSequence("maxTimeNotDefault"))
+ Duration.ofSeconds(toTelephoneKeyboardSequence(
+ "maxTimeNotDefault")))
.setMaxWriteErrorNonDefaultNetworkMigrationsCount(
toTelephoneKeyboardSequence("writeErr"))
.setMaxPathDegradingNonDefaultNetworkMigrationsCount(
@@ -591,7 +639,6 @@ public class ExperimentalOptionsTest {
+ " \"allow_server_migration\": false,"
+ " \"migrate_idle_sessions\": true,"
+ " \"idle_session_migration_period_seconds\": 435370463,"
- + " \"retry_on_alternate_network_before_handshake\": false,"
+ " \"max_time_on_non_default_network_seconds\": 629840858,"
+ " \"max_migrations_to_non_default_network_on_path_degrading\": 223720377,"
+ " \"max_migrations_to_non_default_network_on_write_error\": 7483377,"
@@ -623,15 +670,16 @@ public class ExperimentalOptionsTest {
@Test
@MediumTest
+ @OnlyRunNativeCronet
public void testExperimentalOptions_noneSet() {
MockCronetBuilderImpl mockBuilderImpl = MockCronetBuilderImpl.withoutNativeSetterSupport();
- CronetEngine.Builder builder =
- new CronetEngine.Builder(mockBuilderImpl)
- .setQuicOptions(QuicOptions.builder().build())
- .setConnectionMigrationOptions(ConnectionMigrationOptions.builder().build())
- .setDnsOptions(DnsOptions.builder().build());
+ mBuilder = new ExperimentalHttpEngine.Builder(mockBuilderImpl);
+
+ mBuilder.setQuicOptions(QuicOptions.builder().build())
+ .setConnectionMigrationOptions(ConnectionMigrationOptions.builder().build())
+ .setDnsOptions(DnsOptions.builder().build());
- builder.build();
+ mBuilder.build();
assertJsonEquals("{\"QUIC\":{},\"AsyncDNS\":{},\"StaleDNS\":{}}",
mockBuilderImpl.mEffectiveExperimentalOptions);
}
@@ -674,15 +722,15 @@ public class ExperimentalOptionsTest {
JSONObject expectedJson = new JSONObject(expected);
JSONObject actualJson = new JSONObject(actual);
- assertJsonEquals(expectedJson, actualJson, "");
+ assertJsonEquals(expectedJson, actualJson);
} catch (JSONException e) {
throw new AssertionError(e);
}
}
- private static void assertJsonEquals(JSONObject expected, JSONObject actual, String currentPath)
+ private static void assertJsonEquals(JSONObject expected, JSONObject actual)
throws JSONException {
- assertThat(jsonKeys(actual)).isEqualTo(jsonKeys(expected));
+ assertEquals(jsonKeys(expected), jsonKeys(actual));
for (String key : jsonKeys(expected)) {
Object expectedValue = expected.get(key);
@@ -690,16 +738,15 @@ public class ExperimentalOptionsTest {
if (expectedValue == actualValue) {
continue;
}
- String fullKey = currentPath.isEmpty() ? key : currentPath + "." + key;
if (expectedValue instanceof JSONObject) {
- assertWithMessage("key is '" + fullKey + "'")
- .that(actualValue)
- .isInstanceOf(JSONObject.class);
- assertJsonEquals((JSONObject) expectedValue, (JSONObject) actualValue, fullKey);
+ if (actualValue instanceof JSONObject) {
+ assertJsonEquals((JSONObject) expectedValue, (JSONObject) actualValue);
+ } else {
+ fail("key [" + key + "]: expected [" + expectedValue + "] but got ["
+ + actualValue + "]");
+ }
} else {
- assertWithMessage("key is '" + fullKey + "'")
- .that(actualValue)
- .isEqualTo(expectedValue);
+ assertEquals(expectedValue, actualValue);
}
}
}
@@ -718,7 +765,7 @@ public class ExperimentalOptionsTest {
}
// Mocks make life downstream miserable so use a custom mock-like class.
- private static class MockCronetBuilderImpl extends ICronetEngineBuilder {
+ private static class MockCronetBuilderImpl extends IHttpEngineBuilder {
private ConnectionMigrationOptions mConnectionMigrationOptions;
private String mTempExperimentalOptions;
private String mEffectiveExperimentalOptions;
@@ -738,60 +785,55 @@ public class ExperimentalOptionsTest {
}
@Override
- public ICronetEngineBuilder addPublicKeyPins(String hostName, Set<byte[]> pinsSha256,
- boolean includeSubdomains, Date expirationDate) {
+ public IHttpEngineBuilder addPublicKeyPins(String hostName, Set<byte[]> pinsSha256,
+ boolean includeSubdomains, Instant expirationDate) {
throw new UnsupportedOperationException();
}
@Override
- public ICronetEngineBuilder addQuicHint(String host, int port, int alternatePort) {
+ public IHttpEngineBuilder addQuicHint(String host, int port, int alternatePort) {
throw new UnsupportedOperationException();
}
@Override
- public ICronetEngineBuilder enableHttp2(boolean value) {
+ public IHttpEngineBuilder enableHttp2(boolean value) {
throw new UnsupportedOperationException();
}
@Override
- public ICronetEngineBuilder enableHttpCache(int cacheMode, long maxSize) {
+ public IHttpEngineBuilder enableHttpCache(int cacheMode, long maxSize) {
throw new UnsupportedOperationException();
}
@Override
- public ICronetEngineBuilder enablePublicKeyPinningBypassForLocalTrustAnchors(
+ public IHttpEngineBuilder enablePublicKeyPinningBypassForLocalTrustAnchors(
boolean value) {
throw new UnsupportedOperationException();
}
@Override
- public ICronetEngineBuilder enableQuic(boolean value) {
+ public IHttpEngineBuilder enableQuic(boolean value) {
throw new UnsupportedOperationException();
}
@Override
- public ICronetEngineBuilder enableSdch(boolean value) {
+ public IHttpEngineBuilder enableSdch(boolean value) {
throw new UnsupportedOperationException();
}
@Override
- public ICronetEngineBuilder setExperimentalOptions(String options) {
+ public IHttpEngineBuilder setExperimentalOptions(String options) {
mTempExperimentalOptions = options;
return this;
}
@Override
- public ICronetEngineBuilder setLibraryLoader(CronetEngine.Builder.LibraryLoader loader) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public ICronetEngineBuilder setStoragePath(String value) {
+ public IHttpEngineBuilder setStoragePath(String value) {
throw new UnsupportedOperationException();
}
@Override
- public ICronetEngineBuilder setUserAgent(String userAgent) {
+ public IHttpEngineBuilder setUserAgent(String userAgent) {
throw new UnsupportedOperationException();
}
@@ -801,7 +843,7 @@ public class ExperimentalOptionsTest {
}
@Override
- public ICronetEngineBuilder setConnectionMigrationOptions(
+ public IHttpEngineBuilder setConnectionMigrationOptions(
ConnectionMigrationOptions options) {
mConnectionMigrationOptions = options;
return this;
@@ -810,14 +852,14 @@ public class ExperimentalOptionsTest {
@Override
public Set<Integer> getSupportedConfigOptions() {
if (mSupportsConnectionMigrationConfigOption) {
- return Collections.singleton(ICronetEngineBuilder.CONNECTION_MIGRATION_OPTIONS);
+ return Collections.singleton(IHttpEngineBuilder.CONNECTION_MIGRATION_OPTIONS);
} else {
return Collections.emptySet();
}
}
@Override
- public ExperimentalCronetEngine build() {
+ public ExperimentalHttpEngine build() {
mEffectiveExperimentalOptions = mTempExperimentalOptions;
return null;
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/GetStatusTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/GetStatusTest.java
index d2844c3b2..4e3a0a432 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/GetStatusTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/GetStatusTest.java
@@ -10,6 +10,7 @@ import static org.junit.Assert.fail;
import static org.chromium.net.CronetTestRule.getContext;
+import android.net.http.UrlRequest;
import android.os.ConditionVariable;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -25,8 +26,8 @@ import org.junit.runner.RunWith;
import org.chromium.net.CronetTestRule.CronetTestFramework;
import org.chromium.net.CronetTestRule.OnlyRunNativeCronet;
import org.chromium.net.TestUrlRequestCallback.ResponseStep;
-import org.chromium.net.UrlRequest.Status;
-import org.chromium.net.UrlRequest.StatusListener;
+import android.net.http.UrlRequest.Status;
+import android.net.http.UrlRequest.StatusListener;
import org.chromium.net.impl.LoadState;
import org.chromium.net.impl.UrlRequestBase;
@@ -47,7 +48,7 @@ public class GetStatusTest {
private CronetTestFramework mTestFramework;
- private static class TestStatusListener extends StatusListener {
+ private static class TestStatusListener implements StatusListener {
boolean mOnStatusCalled;
int mStatus = Integer.MAX_VALUE;
private final ConditionVariable mBlock = new ConditionVariable();
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/MetricsTestUtil.java b/components/cronet/android/test/javatests/src/org/chromium/net/MetricsTestUtil.java
index 2cbbe76db..b40114eb8 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/MetricsTestUtil.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/MetricsTestUtil.java
@@ -4,12 +4,16 @@
package org.chromium.net;
+import static java.time.temporal.ChronoUnit.MILLIS;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import java.util.Date;
+import android.net.http.RequestFinishedInfo;
+
+import java.time.Instant;
import java.util.LinkedList;
import java.util.NoSuchElementException;
import java.util.concurrent.Executor;
@@ -42,11 +46,12 @@ public class MetricsTestUtil {
}
// Helper method to assert date1 is equals to or after date2.
- // Some implementation of java.util.Date broke the symmetric property, so
- // check both directions.
- public static void assertAfter(Date date1, Date date2) {
- assertTrue("date1: " + date1.getTime() + ", date2: " + date2.getTime(),
- date1.after(date2) || date1.equals(date2) || date2.equals(date1));
+ // Truncate to MILLIS because CronetMetrics are in MILLIS.
+ public static void assertAfter(Instant date1, Instant date2) {
+ Instant date1Ms = date1.truncatedTo(MILLIS);
+ Instant date2Ms = date2.truncatedTo(MILLIS);
+ assertTrue("date1: " + date1 + ", date2: " + date2Ms,
+ date1Ms.isAfter(date2Ms) || date1Ms.equals(date2Ms));
}
/**
@@ -57,7 +62,7 @@ public class MetricsTestUtil {
* Don't check push times here.
*/
public static void checkTimingMetrics(
- RequestFinishedInfo.Metrics metrics, Date startTime, Date endTime) {
+ RequestFinishedInfo.Metrics metrics, Instant startTime, Instant endTime) {
assertNotNull(metrics.getRequestStart());
assertAfter(metrics.getRequestStart(), startTime);
assertNotNull(metrics.getSendingStart());
@@ -76,7 +81,7 @@ public class MetricsTestUtil {
* except SSL times in the case of non-https requests.
*/
public static void checkHasConnectTiming(
- RequestFinishedInfo.Metrics metrics, Date startTime, Date endTime, boolean isSsl) {
+ RequestFinishedInfo.Metrics metrics, Instant startTime, Instant endTime, boolean isSsl) {
assertNotNull(metrics.getDnsStart());
assertAfter(metrics.getDnsStart(), startTime);
assertNotNull(metrics.getDnsEnd());
@@ -112,16 +117,13 @@ public class MetricsTestUtil {
* Check that RequestFinishedInfo looks the way it should look for a normal successful request.
*/
public static void checkRequestFinishedInfo(
- RequestFinishedInfo info, String url, Date startTime, Date endTime) {
+ RequestFinishedInfo info, String url, Instant startTime, Instant endTime) {
assertNotNull("RequestFinishedInfo.Listener must be called", info);
assertEquals(url, info.getUrl());
assertNotNull(info.getResponseInfo());
assertNull(info.getException());
RequestFinishedInfo.Metrics metrics = info.getMetrics();
assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metrics);
- // Check old (deprecated) timing metrics
- assertTrue(metrics.getTotalTimeMs() >= 0);
- assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs());
// Check new timing metrics
checkTimingMetrics(metrics, startTime, endTime);
assertNull(metrics.getPushStart());
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/MockCertVerifierTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/MockCertVerifierTest.java
index b6edd457e..809cda051 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/MockCertVerifierTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/MockCertVerifierTest.java
@@ -10,6 +10,9 @@ import static org.chromium.net.CronetTestRule.SERVER_CERT_PEM;
import static org.chromium.net.CronetTestRule.SERVER_KEY_PKCS8_PEM;
import static org.chromium.net.CronetTestRule.getContext;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.UrlRequest;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -29,7 +32,7 @@ public class MockCertVerifierTest {
@Rule
public final CronetTestRule mTestRule = new CronetTestRule();
- private ExperimentalCronetEngine mCronetEngine;
+ private ExperimentalHttpEngine mCronetEngine;
@Before
public void setUp() throws Exception {
@@ -51,8 +54,8 @@ public class MockCertVerifierTest {
@Test
@SmallTest
public void testRequest_failsWithoutMockVerifier() {
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
mCronetEngine = builder.build();
String url = Http2TestServer.getEchoAllHeadersUrl();
@@ -64,8 +67,8 @@ public class MockCertVerifierTest {
@Test
@SmallTest
public void testRequest_passesWithMockVerifier() {
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
CronetTestUtil.setMockCertVerifierForTesting(
builder, MockCertVerifier.createFreeForAllMockCertVerifier());
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java b/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java
index f63b3ae80..097ea880a 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java
@@ -11,6 +11,8 @@ import static org.junit.Assert.fail;
import static org.chromium.net.CronetTestRule.getContext;
import static org.chromium.net.CronetTestRule.getTestStorage;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.UrlRequest;
import android.os.StrictMode;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -92,9 +94,9 @@ public class NQETest {
@SmallTest
@OnlyRunNativeCronet
public void testNotEnabled() throws Exception {
- ExperimentalCronetEngine.Builder cronetEngineBuilder =
- new ExperimentalCronetEngine.Builder(getContext());
- final ExperimentalCronetEngine cronetEngine = cronetEngineBuilder.build();
+ ExperimentalHttpEngine.Builder cronetEngineBuilder =
+ new ExperimentalHttpEngine.Builder(getContext());
+ final ExperimentalHttpEngine cronetEngine = cronetEngineBuilder.build();
Executor networkQualityExecutor = Executors.newSingleThreadExecutor();
TestNetworkQualityRttListener rttListener =
new TestNetworkQualityRttListener(networkQualityExecutor);
@@ -126,13 +128,13 @@ public class NQETest {
@SmallTest
@OnlyRunNativeCronet
public void testListenerRemoved() throws Exception {
- ExperimentalCronetEngine.Builder cronetEngineBuilder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder cronetEngineBuilder =
+ new ExperimentalHttpEngine.Builder(getContext());
TestExecutor networkQualityExecutor = new TestExecutor();
TestNetworkQualityRttListener rttListener =
new TestNetworkQualityRttListener(networkQualityExecutor);
cronetEngineBuilder.enableNetworkQualityEstimator(true);
- final ExperimentalCronetEngine cronetEngine = cronetEngineBuilder.build();
+ final ExperimentalHttpEngine cronetEngine = cronetEngineBuilder.build();
cronetEngine.configureNetworkQualityEstimatorForTesting(true, true, false);
cronetEngine.addRttListener(rttListener);
@@ -164,15 +166,16 @@ public class NQETest {
@DisabledTest(message = "crbug.com/796260")
@Ignore("crbug.com/796260")
public void testQuicDisabled() throws Exception {
- ExperimentalCronetEngine.Builder cronetEngineBuilder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder cronetEngineBuilder =
+ new ExperimentalHttpEngine.Builder(getContext());
assertTrue(RttThroughputValues.INVALID_RTT_THROUGHPUT < 0);
Executor listenersExecutor = Executors.newSingleThreadExecutor(new ExecutorThreadFactory());
TestNetworkQualityRttListener rttListener =
new TestNetworkQualityRttListener(listenersExecutor);
TestNetworkQualityThroughputListener throughputListener =
new TestNetworkQualityThroughputListener(listenersExecutor);
- cronetEngineBuilder.enableNetworkQualityEstimator(true).enableHttp2(true).enableQuic(false);
+ cronetEngineBuilder.enableNetworkQualityEstimator(true).setEnableHttp2(true)
+ .setEnableQuic(false);
// The pref may not be written if the computed Effective Connection Type (ECT) matches the
// default ECT for the current connection type. Force the ECT to "Slow-2G". Since "Slow-2G"
@@ -184,7 +187,7 @@ public class NQETest {
cronetEngineBuilder.setExperimentalOptions(experimentalOptions.toString());
cronetEngineBuilder.setStoragePath(getTestStorage(getContext()));
- final ExperimentalCronetEngine cronetEngine = cronetEngineBuilder.build();
+ final ExperimentalHttpEngine cronetEngine = cronetEngineBuilder.build();
cronetEngine.configureNetworkQualityEstimatorForTesting(true, true, true);
cronetEngine.addRttListener(rttListener);
@@ -276,15 +279,15 @@ public class NQETest {
// When the loop is run for the first time, network quality is written to the disk. The
// test verifies that in the next loop, the network quality is read back.
for (int i = 0; i <= 1; ++i) {
- ExperimentalCronetEngine.Builder cronetEngineBuilder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder cronetEngineBuilder =
+ new ExperimentalHttpEngine.Builder(getContext());
assertTrue(RttThroughputValues.INVALID_RTT_THROUGHPUT < 0);
Executor listenersExecutor =
Executors.newSingleThreadExecutor(new ExecutorThreadFactory());
TestNetworkQualityRttListener rttListener =
new TestNetworkQualityRttListener(listenersExecutor);
- cronetEngineBuilder.enableNetworkQualityEstimator(true).enableHttp2(true).enableQuic(
- false);
+ cronetEngineBuilder.enableNetworkQualityEstimator(true).setEnableHttp2(true)
+ .setEnableQuic(false);
// The pref may not be written if the computed Effective Connection Type (ECT) matches
// the default ECT for the current connection type. Force the ECT to "Slow-2G". Since
@@ -299,7 +302,7 @@ public class NQETest {
cronetEngineBuilder.setStoragePath(getTestStorage(getContext()));
- final ExperimentalCronetEngine cronetEngine = cronetEngineBuilder.build();
+ final ExperimentalHttpEngine cronetEngine = cronetEngineBuilder.build();
cronetEngine.configureNetworkQualityEstimatorForTesting(true, true, true);
cronetEngine.addRttListener(rttListener);
@@ -374,8 +377,8 @@ public class NQETest {
@DisabledTest(message = "crbug.com/796260")
@Ignore("crbug.com/796260")
public void testQuicDisabledWithParams() throws Exception {
- ExperimentalCronetEngine.Builder cronetEngineBuilder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder cronetEngineBuilder =
+ new ExperimentalHttpEngine.Builder(getContext());
Executor listenersExecutor = Executors.newSingleThreadExecutor(new ExecutorThreadFactory());
TestNetworkQualityRttListener rttListener =
new TestNetworkQualityRttListener(listenersExecutor);
@@ -391,9 +394,10 @@ public class NQETest {
new JSONObject().put("NetworkQualityEstimator", nqeOptions);
experimentalOptions.put("SomeOtherFieldTrialName", new JSONObject());
- cronetEngineBuilder.enableNetworkQualityEstimator(true).enableHttp2(true).enableQuic(false);
+ cronetEngineBuilder.enableNetworkQualityEstimator(true).setEnableHttp2(true)
+ .setEnableQuic(false);
cronetEngineBuilder.setExperimentalOptions(experimentalOptions.toString());
- final ExperimentalCronetEngine cronetEngine = cronetEngineBuilder.build();
+ final ExperimentalHttpEngine cronetEngine = cronetEngineBuilder.build();
cronetEngine.configureNetworkQualityEstimatorForTesting(true, true, false);
cronetEngine.addRttListener(rttListener);
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java
index 457737c9d..0d4ed6a31 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java
@@ -13,6 +13,8 @@ import static org.junit.Assert.assertTrue;
import static org.chromium.net.CronetTestRule.assertContains;
+import android.net.http.NetworkException;
+import android.net.http.UrlRequest;
import android.os.Build;
import android.system.Os;
@@ -93,7 +95,8 @@ public class NetworkChangeNotifierTest {
CronetLibraryLoader.postToInitThread(new Runnable() {
@Override
public void run() {
- NetworkChangeNotifier.getInstance().notifyObserversOfConnectionTypeChange(
+ NetworkChangeNotifier.fakeDefaultNetwork(
+ NetworkChangeNotifier.getInstance().getCurrentDefaultNetId(),
ConnectionType.CONNECTION_4G);
}
});
@@ -103,7 +106,7 @@ public class NetworkChangeNotifierTest {
assertNotNull(callback.mError);
assertTrue(callback.mOnErrorCalled);
assertEquals(NetError.ERR_NETWORK_CHANGED,
- ((NetworkException) callback.mError).getCronetInternalErrorCode());
+ ((NetworkException) callback.mError).getInternalErrorCode());
assertContains("Exception in CronetUrlRequest: net::ERR_NETWORK_CHANGED",
callback.mError.getMessage());
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/NetworkErrorLoggingTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/NetworkErrorLoggingTest.java
index 1ea48f07f..942728ad5 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/NetworkErrorLoggingTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/NetworkErrorLoggingTest.java
@@ -11,6 +11,10 @@ import static org.chromium.net.CronetTestRule.SERVER_CERT_PEM;
import static org.chromium.net.CronetTestRule.SERVER_KEY_PKCS8_PEM;
import static org.chromium.net.CronetTestRule.getContext;
+import android.net.http.HttpEngine;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.UrlRequest;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -30,7 +34,7 @@ public class NetworkErrorLoggingTest {
@Rule
public final CronetTestRule mTestRule = new CronetTestRule();
- private CronetEngine mCronetEngine;
+ private HttpEngine mCronetEngine;
@Before
public void setUp() throws Exception {
@@ -51,8 +55,8 @@ public class NetworkErrorLoggingTest {
@SmallTest
@OnlyRunNativeCronet
public void testManualReportUpload() throws Exception {
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
CronetTestUtil.setMockCertVerifierForTesting(
builder, QuicTestServer.createMockCertVerifier());
mCronetEngine = builder.build();
@@ -77,8 +81,8 @@ public class NetworkErrorLoggingTest {
@SmallTest
@OnlyRunNativeCronet
public void testUploadNELReportsFromHeaders() throws Exception {
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
builder.setExperimentalOptions("{\"NetworkErrorLogging\": {\"enable\": true}}");
CronetTestUtil.setMockCertVerifierForTesting(
builder, QuicTestServer.createMockCertVerifier());
@@ -112,8 +116,8 @@ public class NetworkErrorLoggingTest {
@SmallTest
@OnlyRunNativeCronet
public void testUploadNELReportsFromPreloadedPolicy() throws Exception {
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
String serverOrigin = Http2TestServer.getServerUrl();
String collectorUrl = Http2TestServer.getReportingCollectorUrl();
builder.setExperimentalOptions(""
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/PkpTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/PkpTest.java
index 4d96be3fd..7a232aae9 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/PkpTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/PkpTest.java
@@ -14,6 +14,11 @@ import static org.chromium.net.CronetTestRule.SERVER_KEY_PKCS8_PEM;
import static org.chromium.net.CronetTestRule.getContext;
import static org.chromium.net.CronetTestRule.getTestStorage;
+import android.net.http.HttpEngine;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.NetworkException;
+import android.net.http.UrlRequest;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -30,9 +35,9 @@ import org.chromium.net.test.util.CertTestUtil;
import java.io.ByteArrayInputStream;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
+import java.time.Duration;
+import java.time.Instant;
import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Date;
import java.util.HashSet;
import java.util.Set;
@@ -41,7 +46,7 @@ import java.util.Set;
*/
@RunWith(AndroidJUnit4.class)
public class PkpTest {
- private static final int DISTANT_FUTURE = Integer.MAX_VALUE;
+ private static final Duration DISTANT_FUTURE = Duration.ofDays(999999);
private static final boolean INCLUDE_SUBDOMAINS = true;
private static final boolean EXCLUDE_SUBDOMAINS = false;
private static final boolean KNOWN_ROOT = true;
@@ -52,8 +57,8 @@ public class PkpTest {
@Rule
public final CronetTestRule mTestRule = new CronetTestRule();
- private CronetEngine mCronetEngine;
- private ExperimentalCronetEngine.Builder mBuilder;
+ private HttpEngine mCronetEngine;
+ private ExperimentalHttpEngine.Builder mBuilder;
private TestUrlRequestCallback mListener;
private String mServerUrl; // https://test.example.com:8443
private String mServerHost; // test.example.com
@@ -344,7 +349,7 @@ public class PkpTest {
/**
* Tests that NullPointerException is thrown if the host name or the collection of pins or
- * the expiration date is null.
+ * the expiration instant is null.
*
* @throws Exception
*/
@@ -382,7 +387,7 @@ public class PkpTest {
*/
private void assertErrorResponse() {
assertNotNull("Expected an error", mListener.mError);
- int errorCode = ((NetworkException) mListener.mError).getCronetInternalErrorCode();
+ int errorCode = ((NetworkException) mListener.mError).getInternalErrorCode();
Set<Integer> expectedErrors = new HashSet<>();
expectedErrors.add(NetError.ERR_CONNECTION_REFUSED);
expectedErrors.add(NetError.ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN);
@@ -397,7 +402,7 @@ public class PkpTest {
private void assertSuccessfulResponse() {
if (mListener.mError != null) {
fail("Did not expect an error but got error code "
- + ((NetworkException) mListener.mError).getCronetInternalErrorCode());
+ + ((NetworkException) mListener.mError).getInternalErrorCode());
}
assertNotNull("Expected non-null response from the server", mListener.mResponseInfo);
assertEquals(200, mListener.mResponseInfo.getHttpStatusCode());
@@ -406,14 +411,14 @@ public class PkpTest {
private void createCronetEngineBuilder(boolean bypassPinningForLocalAnchors, boolean knownRoot)
throws Exception {
// Set common CronetEngine parameters
- mBuilder = new ExperimentalCronetEngine.Builder(getContext());
- mBuilder.enablePublicKeyPinningBypassForLocalTrustAnchors(bypassPinningForLocalAnchors);
+ mBuilder = new ExperimentalHttpEngine.Builder(getContext());
+ mBuilder.setEnablePublicKeyPinningBypassForLocalTrustAnchors(bypassPinningForLocalAnchors);
JSONObject hostResolverParams = CronetTestUtil.generateHostResolverRules();
JSONObject experimentalOptions = new JSONObject()
.put("HostResolverRules", hostResolverParams);
mBuilder.setExperimentalOptions(experimentalOptions.toString());
mBuilder.setStoragePath(getTestStorage(getContext()));
- mBuilder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP, 1000 * 1024);
+ mBuilder.setEnableHttpCache(HttpEngine.Builder.HTTP_CACHE_DISK_NO_HTTP, 1000 * 1024);
final String[] server_certs = {SERVER_CERT_PEM};
CronetTestUtil.setMockCertVerifierForTesting(
mBuilder, MockCertVerifier.createMockCertVerifier(server_certs, knownRoot));
@@ -438,10 +443,10 @@ public class PkpTest {
@SuppressWarnings("ArrayAsKeyOfSetOrMap")
private void addPkpSha256(
- String host, byte[] pinHashValue, boolean includeSubdomain, int maxAgeInSec) {
+ String host, byte[] pinHashValue, boolean includeSubdomain, Duration maxAge) {
Set<byte[]> hashes = new HashSet<>();
hashes.add(pinHashValue);
- mBuilder.addPublicKeyPins(host, hashes, includeSubdomain, dateInFuture(maxAgeInSec));
+ mBuilder.addPublicKeyPins(host, hashes, includeSubdomain, instantInFuture(maxAge));
}
private void sendRequestAndWaitForResult() {
@@ -460,10 +465,8 @@ public class PkpTest {
return (X509Certificate) certFactory.generateCertificate(new ByteArrayInputStream(certDer));
}
- private Date dateInFuture(int secondsIntoFuture) {
- Calendar cal = Calendar.getInstance();
- cal.add(Calendar.SECOND, secondsIntoFuture);
- return cal.getTime();
+ private Instant instantInFuture(Duration howFarFromNow) {
+ return Instant.now().plus(howFarFromNow);
}
private void assertNoExceptionWhenHostNameIsValid(String hostName) {
@@ -487,14 +490,14 @@ public class PkpTest {
@SuppressWarnings("ArrayAsKeyOfSetOrMap")
private void verifyExceptionWhenAddPkpArgumentIsNull(
- boolean hostNameIsNull, boolean pinsAreNull, boolean expirationDataIsNull) {
+ boolean hostNameIsNull, boolean pinsAreNull, boolean expirationInstantIsNull) {
String hostName = hostNameIsNull ? null : "some-host.com";
- Set<byte[]> pins = pinsAreNull ? null : new HashSet<byte[]>();
- Date expirationDate = expirationDataIsNull ? null : new Date();
+ Set<byte[]> pins = pinsAreNull ? null : new HashSet<>();
+ Instant expirationInstant = expirationInstantIsNull ? null : Instant.now();
- boolean shouldThrowNpe = hostNameIsNull || pinsAreNull || expirationDataIsNull;
+ boolean shouldThrowNpe = hostNameIsNull || pinsAreNull || expirationInstantIsNull;
try {
- mBuilder.addPublicKeyPins(hostName, pins, INCLUDE_SUBDOMAINS, expirationDate);
+ mBuilder.addPublicKeyPins(hostName, pins, INCLUDE_SUBDOMAINS, expirationInstant);
} catch (NullPointerException ex) {
if (!shouldThrowNpe) {
fail("Null pointer exception was not expected: " + ex.toString());
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java
index 472ba25c0..185f4db8e 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java
@@ -10,6 +10,12 @@ import static org.junit.Assert.assertTrue;
import static org.chromium.net.CronetTestRule.getContext;
import static org.chromium.net.CronetTestRule.getTestStorage;
+import android.net.http.HttpEngine;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.RequestFinishedInfo;
+import android.net.http.UrlRequest;
+import android.net.http.UrlResponseInfo;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.filters.SmallTest;
@@ -28,7 +34,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.util.Date;
+import java.time.Instant;
import java.util.concurrent.Executors;
/**
@@ -40,7 +46,7 @@ public class QuicTest {
public final CronetTestRule mTestRule = new CronetTestRule();
private static final String TAG = QuicTest.class.getSimpleName();
- private ExperimentalCronetEngine.Builder mBuilder;
+ private ExperimentalHttpEngine.Builder mBuilder;
@Before
public void setUp() throws Exception {
@@ -48,8 +54,8 @@ public class QuicTest {
System.loadLibrary("cronet_tests");
QuicTestServer.startQuicTestServer(getContext());
- mBuilder = new ExperimentalCronetEngine.Builder(getContext());
- mBuilder.enableNetworkQualityEstimator(true).enableQuic(true);
+ mBuilder = new ExperimentalHttpEngine.Builder(getContext());
+ mBuilder.enableNetworkQualityEstimator(true).setEnableQuic(true);
mBuilder.addQuicHint(QuicTestServer.getServerHost(), QuicTestServer.getServerPort(),
QuicTestServer.getServerPort());
@@ -73,7 +79,7 @@ public class QuicTest {
.put("NetworkQualityEstimator", nqeParams);
mBuilder.setExperimentalOptions(experimentalOptions.toString());
mBuilder.setStoragePath(getTestStorage(getContext()));
- mBuilder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP, 1000 * 1024);
+ mBuilder.setEnableHttpCache(HttpEngine.Builder.HTTP_CACHE_DISK_NO_HTTP, 1000 * 1024);
CronetTestUtil.setMockCertVerifierForTesting(
mBuilder, QuicTestServer.createMockCertVerifier());
}
@@ -87,7 +93,7 @@ public class QuicTest {
@LargeTest
@OnlyRunNativeCronet
public void testQuicLoadUrl() throws Exception {
- ExperimentalCronetEngine cronetEngine = mBuilder.build();
+ ExperimentalHttpEngine cronetEngine = mBuilder.build();
String quicURL = QuicTestServer.getServerURL() + "/simple.txt";
TestUrlRequestCallback callback = new TestUrlRequestCallback();
@@ -125,11 +131,11 @@ public class QuicTest {
cronetEngine.shutdown();
// Make another request using a new context but with no QUIC hints.
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
builder.setStoragePath(getTestStorage(getContext()));
- builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1000 * 1024);
- builder.enableQuic(true);
+ builder.setEnableHttpCache(HttpEngine.Builder.HTTP_CACHE_DISK, 1000 * 1024);
+ builder.setEnableQuic(true);
JSONObject hostResolverParams = CronetTestUtil.generateHostResolverRules();
JSONObject experimentalOptions = new JSONObject()
.put("HostResolverRules", hostResolverParams);
@@ -169,7 +175,7 @@ public class QuicTest {
@OnlyRunNativeCronet
@SuppressWarnings("deprecation")
public void testNQEWithQuic() throws Exception {
- ExperimentalCronetEngine cronetEngine = mBuilder.build();
+ ExperimentalHttpEngine cronetEngine = mBuilder.build();
String quicURL = QuicTestServer.getServerURL() + "/simple.txt";
TestNetworkQualityRttListener rttListener =
@@ -247,7 +253,7 @@ public class QuicTest {
@SmallTest
@OnlyRunNativeCronet
public void testMetricsWithQuic() throws Exception {
- ExperimentalCronetEngine cronetEngine = mBuilder.build();
+ ExperimentalHttpEngine cronetEngine = mBuilder.build();
TestRequestFinishedListener requestFinishedListener = new TestRequestFinishedListener();
cronetEngine.addRequestFinishedListener(requestFinishedListener);
@@ -256,11 +262,11 @@ public class QuicTest {
UrlRequest.Builder requestBuilder =
cronetEngine.newUrlRequestBuilder(quicURL, callback, callback.getExecutor());
- Date startTime = new Date();
+ Instant startTime = Instant.now();
requestBuilder.build().start();
callback.blockForDone();
requestFinishedListener.blockUntilDone();
- Date endTime = new Date();
+ Instant endTime = Instant.now();
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
assertIsQuic(callback.mResponseInfo);
@@ -275,11 +281,11 @@ public class QuicTest {
requestFinishedListener.reset();
requestBuilder =
cronetEngine.newUrlRequestBuilder(quicURL, callback, callback.getExecutor());
- startTime = new Date();
+ startTime = Instant.now();
requestBuilder.build().start();
callback.blockForDone();
requestFinishedListener.blockUntilDone();
- endTime = new Date();
+ endTime = Instant.now();
assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
assertIsQuic(callback.mResponseInfo);
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java
index fd7b3f48a..b40ee3480 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java
@@ -13,6 +13,12 @@ import static org.junit.Assert.fail;
import static org.chromium.base.CollectionUtil.newHashSet;
import static org.chromium.net.CronetTestRule.getContext;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.ExperimentalUrlRequest;
+import android.net.http.NetworkException;
+import android.net.http.RequestFinishedInfo;
+import android.net.http.UrlRequest;
+import android.net.http.UrlResponseInfo;
import android.os.ConditionVariable;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -30,6 +36,7 @@ import org.chromium.net.CronetTestRule.RequiresMinApi;
import org.chromium.net.MetricsTestUtil.TestExecutor;
import org.chromium.net.impl.CronetMetrics;
+import java.time.Instant;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
@@ -78,7 +85,7 @@ public class RequestFinishedInfoTest {
@After
public void tearDown() throws Exception {
- mTestFramework.shutdownEngine();
+ mTestFramework.mCronetEngine.shutdown();
NativeTestServer.shutdownNativeTestServer();
}
@@ -124,14 +131,14 @@ public class RequestFinishedInfoTest {
ExperimentalUrlRequest.Builder urlRequestBuilder =
(ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.newUrlRequestBuilder(
mUrl, callback, callback.getExecutor());
- Date startTime = new Date();
+ Instant startTime = Instant.now();
urlRequestBuilder.addRequestAnnotation("request annotation")
.addRequestAnnotation(this)
.build()
.start();
callback.blockForDone();
requestFinishedListener.blockUntilDone();
- Date endTime = new Date();
+ Instant endTime = Instant.now();
RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo();
MetricsTestUtil.checkRequestFinishedInfo(requestInfo, mUrl, startTime, endTime);
@@ -154,7 +161,7 @@ public class RequestFinishedInfoTest {
ExperimentalUrlRequest.Builder urlRequestBuilder =
(ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.newUrlRequestBuilder(
mUrl, callback, callback.getExecutor());
- Date startTime = new Date();
+ Instant startTime = Instant.now();
urlRequestBuilder.addRequestAnnotation("request annotation")
.addRequestAnnotation(this)
.build()
@@ -163,7 +170,7 @@ public class RequestFinishedInfoTest {
// Block on the executor, not the listener, since blocking on the listener doesn't work when
// it's created with a non-default executor.
testExecutor.blockUntilDone();
- Date endTime = new Date();
+ Instant endTime = Instant.now();
RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo();
MetricsTestUtil.checkRequestFinishedInfo(requestInfo, mUrl, startTime, endTime);
@@ -186,7 +193,7 @@ public class RequestFinishedInfoTest {
ExperimentalUrlRequest.Builder urlRequestBuilder =
(ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.newUrlRequestBuilder(
mUrl, callback, callback.getExecutor());
- Date startTime = new Date();
+ Instant startTime = Instant.now();
urlRequestBuilder.addRequestAnnotation("request annotation")
.addRequestAnnotation(this)
.build()
@@ -194,7 +201,7 @@ public class RequestFinishedInfoTest {
callback.blockForDone();
firstListener.blockUntilDone();
secondListener.blockUntilDone();
- Date endTime = new Date();
+ Instant endTime = Instant.now();
RequestFinishedInfo firstRequestInfo = firstListener.getRequestInfo();
RequestFinishedInfo secondRequestInfo = secondListener.getRequestInfo();
@@ -226,12 +233,12 @@ public class RequestFinishedInfoTest {
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder urlRequestBuilder = mTestFramework.mCronetEngine.newUrlRequestBuilder(
connectionRefusedUrl, callback, callback.getExecutor());
- Date startTime = new Date();
+ Instant startTime = Instant.now();
urlRequestBuilder.build().start();
callback.blockForDone();
assertTrue(callback.mOnErrorCalled);
requestFinishedListener.blockUntilDone();
- Date endTime = new Date();
+ Instant endTime = Instant.now();
RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo();
assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo);
@@ -243,9 +250,6 @@ public class RequestFinishedInfoTest {
((NetworkException) requestInfo.getException()).getErrorCode());
RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics();
assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metrics);
- // The failure is occasionally fast enough that time reported is 0, so just check for null
- assertNotNull(metrics.getTotalTimeMs());
- assertNull(metrics.getTtfbMs());
// Check the timing metrics
assertNotNull(metrics.getRequestStart());
@@ -297,16 +301,16 @@ public class RequestFinishedInfoTest {
}
};
ExperimentalUrlRequest.Builder urlRequestBuilder =
- mTestFramework.mCronetEngine.newUrlRequestBuilder(
+ (ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.newUrlRequestBuilder(
mUrl, callback, callback.getExecutor());
- Date startTime = new Date();
+ Instant startTime = Instant.now();
urlRequestBuilder.addRequestAnnotation("request annotation")
.addRequestAnnotation(this)
.build()
.start();
callback.blockForDone();
requestFinishedListener.blockUntilDone();
- Date endTime = new Date();
+ Instant endTime = Instant.now();
RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo();
MetricsTestUtil.checkRequestFinishedInfo(requestInfo, mUrl, startTime, endTime);
@@ -336,7 +340,7 @@ public class RequestFinishedInfoTest {
new TestRequestFinishedListener(executor);
mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedListener);
TestUrlRequestCallback callback = new TestUrlRequestCallback();
- ExperimentalUrlRequest.Builder urlRequestBuilder =
+ UrlRequest.Builder urlRequestBuilder =
mTestFramework.mCronetEngine.newUrlRequestBuilder(
mUrl, callback, callback.getExecutor());
// Empty headers are invalid and will cause start() to throw an exception.
@@ -372,18 +376,18 @@ public class RequestFinishedInfoTest {
RequestFinishedInfo.Metrics metrics = new CronetMetrics(requestStart, dnsStart, dnsEnd,
connectStart, connectEnd, sslStart, sslEnd, sendingStart, sendingEnd, pushStart,
pushEnd, responseStart, requestEnd, socketReused, sentByteCount, receivedByteCount);
- assertEquals(new Date(requestStart), metrics.getRequestStart());
+ assertEquals(Instant.ofEpochMilli(requestStart), metrics.getRequestStart());
// -1 timestamp should translate to null
assertNull(metrics.getDnsEnd());
- assertEquals(new Date(dnsStart), metrics.getDnsStart());
- assertEquals(new Date(connectStart), metrics.getConnectStart());
- assertEquals(new Date(connectEnd), metrics.getConnectEnd());
- assertEquals(new Date(sslStart), metrics.getSslStart());
- assertEquals(new Date(sslEnd), metrics.getSslEnd());
- assertEquals(new Date(pushStart), metrics.getPushStart());
- assertEquals(new Date(pushEnd), metrics.getPushEnd());
- assertEquals(new Date(responseStart), metrics.getResponseStart());
- assertEquals(new Date(requestEnd), metrics.getRequestEnd());
+ assertEquals(Instant.ofEpochMilli(dnsStart), metrics.getDnsStart());
+ assertEquals(Instant.ofEpochMilli(connectStart), metrics.getConnectStart());
+ assertEquals(Instant.ofEpochMilli(connectEnd), metrics.getConnectEnd());
+ assertEquals(Instant.ofEpochMilli(sslStart), metrics.getSslStart());
+ assertEquals(Instant.ofEpochMilli(sslEnd), metrics.getSslEnd());
+ assertEquals(Instant.ofEpochMilli(pushStart), metrics.getPushStart());
+ assertEquals(Instant.ofEpochMilli(pushEnd), metrics.getPushEnd());
+ assertEquals(Instant.ofEpochMilli(responseStart), metrics.getResponseStart());
+ assertEquals(Instant.ofEpochMilli(requestEnd), metrics.getRequestEnd());
assertEquals(socketReused, metrics.getSocketReused());
assertEquals(sentByteCount, (long) metrics.getSentByteCount());
assertEquals(receivedByteCount, (long) metrics.getReceivedByteCount());
@@ -401,14 +405,14 @@ public class RequestFinishedInfoTest {
ExperimentalUrlRequest.Builder urlRequestBuilder =
(ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.newUrlRequestBuilder(
mUrl, callback, callback.getExecutor());
- Date startTime = new Date();
+ Instant startTime = Instant.now();
urlRequestBuilder.addRequestAnnotation("request annotation")
.addRequestAnnotation(this)
.build()
.start();
callback.blockForDone();
requestFinishedListener.blockUntilDone();
- Date endTime = new Date();
+ Instant endTime = Instant.now();
RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo();
MetricsTestUtil.checkRequestFinishedInfo(requestInfo, mUrl, startTime, endTime);
@@ -438,14 +442,14 @@ public class RequestFinishedInfoTest {
ExperimentalUrlRequest.Builder urlRequestBuilder =
(ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.newUrlRequestBuilder(
mUrl, callback, callback.getExecutor());
- Date startTime = new Date();
+ Instant startTime = Instant.now();
urlRequestBuilder.addRequestAnnotation(requestAnnotation)
.setRequestFinishedListener(requestFinishedListener)
.build()
.start();
callback.blockForDone();
requestFinishedListener.blockUntilDone();
- Date endTime = new Date();
+ Instant endTime = Instant.now();
RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo();
MetricsTestUtil.checkRequestFinishedInfo(requestInfo, mUrl, startTime, endTime);
assertEquals(RequestFinishedInfo.SUCCEEDED, requestInfo.getFinishedReason());
@@ -531,16 +535,16 @@ public class RequestFinishedInfoTest {
new AssertCallbackDoneRequestFinishedListener(callback);
mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedListener);
ExperimentalUrlRequest.Builder urlRequestBuilder =
- mTestFramework.mCronetEngine.newUrlRequestBuilder(
+ (ExperimentalUrlRequest.Builder) mTestFramework.mCronetEngine.newUrlRequestBuilder(
mUrl, callback, callback.getExecutor());
- Date startTime = new Date();
+ Instant startTime = Instant.now();
urlRequestBuilder.addRequestAnnotation("request annotation")
.addRequestAnnotation(this)
.build()
.start();
callback.blockForDone();
requestFinishedListener.blockUntilDone();
- Date endTime = new Date();
+ Instant endTime = Instant.now();
RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo();
MetricsTestUtil.checkRequestFinishedInfo(requestInfo, mUrl, startTime, endTime);
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java b/components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java
index b006c7d94..11d728b0c 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java
@@ -4,6 +4,10 @@
package org.chromium.net;
+import android.net.http.BidirectionalStream;
+import android.net.http.HttpException;
+import android.net.http.HeaderBlock;
+import android.net.http.UrlResponseInfo;
import android.os.ConditionVariable;
import static junit.framework.Assert.assertEquals;
@@ -24,9 +28,9 @@ import java.util.concurrent.ThreadFactory;
* method to block thread until the stream completes on another thread.
* Allows to cancel, block stream or throw an exception from an arbitrary step.
*/
-public class TestBidirectionalStreamCallback extends BidirectionalStream.Callback {
+public class TestBidirectionalStreamCallback implements BidirectionalStream.Callback {
public UrlResponseInfo mResponseInfo;
- public CronetException mError;
+ public HttpException mError;
public ResponseStep mResponseStep = ResponseStep.NOTHING;
@@ -36,7 +40,7 @@ public class TestBidirectionalStreamCallback extends BidirectionalStream.Callbac
public int mHttpResponseDataLength;
public String mResponseAsString = "";
- public UrlResponseInfo.HeaderBlock mTrailers;
+ public HeaderBlock mTrailers;
private static final int READ_BUFFER_SIZE = 32 * 1024;
@@ -262,7 +266,7 @@ public class TestBidirectionalStreamCallback extends BidirectionalStream.Callbac
@Override
public void onResponseTrailersReceived(BidirectionalStream stream, UrlResponseInfo info,
- UrlResponseInfo.HeaderBlock trailers) {
+ HeaderBlock trailers) {
checkOnValidThread();
assertFalse(stream.isDone());
assertNull(mError);
@@ -295,7 +299,7 @@ public class TestBidirectionalStreamCallback extends BidirectionalStream.Callbac
}
@Override
- public void onFailed(BidirectionalStream stream, UrlResponseInfo info, CronetException error) {
+ public void onFailed(BidirectionalStream stream, UrlResponseInfo info, HttpException error) {
checkOnValidThread();
assertTrue(stream.isDone());
// Shouldn't happen after success.
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/TestDrivenDataProvider.java b/components/cronet/android/test/javatests/src/org/chromium/net/TestDrivenDataProvider.java
index 812d17951..cd41e370d 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/TestDrivenDataProvider.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/TestDrivenDataProvider.java
@@ -4,6 +4,8 @@
package org.chromium.net;
+import android.net.http.UploadDataProvider;
+import android.net.http.UploadDataSink;
import android.os.ConditionVariable;
import java.io.IOException;
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/TestNetworkQualityRttListener.java b/components/cronet/android/test/javatests/src/org/chromium/net/TestNetworkQualityRttListener.java
index 16f3470bb..cd737927e 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/TestNetworkQualityRttListener.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/TestNetworkQualityRttListener.java
@@ -6,9 +6,11 @@ package org.chromium.net;
import static junit.framework.Assert.assertEquals;
+import android.net.http.NetworkQualityRttListener;
import android.os.ConditionVariable;
import android.util.SparseIntArray;
+import java.time.Instant;
import java.util.concurrent.Executor;
class TestNetworkQualityRttListener extends NetworkQualityRttListener {
@@ -35,7 +37,7 @@ class TestNetworkQualityRttListener extends NetworkQualityRttListener {
}
@Override
- public void onRttObservation(int rttMs, long when, int source) {
+ public void onRttObservation(int rttMs, Instant when, int source) {
synchronized (mLock) {
if (source == 0) {
// Source 0 indicates that the RTT was observed at the URL request layer.
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/TestNetworkQualityThroughputListener.java b/components/cronet/android/test/javatests/src/org/chromium/net/TestNetworkQualityThroughputListener.java
index e549347cd..525d7077c 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/TestNetworkQualityThroughputListener.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/TestNetworkQualityThroughputListener.java
@@ -6,8 +6,10 @@ package org.chromium.net;
import static junit.framework.Assert.assertEquals;
+import android.net.http.NetworkQualityThroughputListener;
import android.os.ConditionVariable;
+import java.time.Instant;
import java.util.concurrent.Executor;
class TestNetworkQualityThroughputListener extends NetworkQualityThroughputListener {
@@ -29,7 +31,7 @@ class TestNetworkQualityThroughputListener extends NetworkQualityThroughputListe
}
@Override
- public void onThroughputObservation(int throughputKbps, long when, int source) {
+ public void onThroughputObservation(int throughputKbps, Instant when, int source) {
synchronized (mLock) {
mWaitForThroughput.open();
mThroughputObservationCount++;
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/TestRequestFinishedListener.java b/components/cronet/android/test/javatests/src/org/chromium/net/TestRequestFinishedListener.java
index b717c5c2f..b795c17f1 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/TestRequestFinishedListener.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/TestRequestFinishedListener.java
@@ -7,6 +7,7 @@ package org.chromium.net;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import android.net.http.RequestFinishedInfo;
import android.os.ConditionVariable;
import java.util.concurrent.Executor;
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/TestUploadDataProvider.java b/components/cronet/android/test/javatests/src/org/chromium/net/TestUploadDataProvider.java
index aea39a868..2dd01cc0f 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/TestUploadDataProvider.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/TestUploadDataProvider.java
@@ -4,6 +4,8 @@
package org.chromium.net;
+import android.net.http.UploadDataProvider;
+import android.net.http.UploadDataSink;
import android.os.ConditionVariable;
import java.io.IOException;
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/TestUrlRequestCallback.java b/components/cronet/android/test/javatests/src/org/chromium/net/TestUrlRequestCallback.java
index 9f4213c54..692fe2a9e 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/TestUrlRequestCallback.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/TestUrlRequestCallback.java
@@ -12,6 +12,11 @@ import static junit.framework.Assert.assertTrue;
import static org.chromium.net.CronetTestRule.assertContains;
+import android.net.http.CallbackException;
+import android.net.http.HttpException;
+import android.net.http.InlineExecutionProhibitedException;
+import android.net.http.UrlRequest;
+import android.net.http.UrlResponseInfo;
import android.os.ConditionVariable;
import android.os.StrictMode;
@@ -27,11 +32,11 @@ import java.util.concurrent.TimeUnit;
* method to block thread until the request completes on another thread.
* Allows to cancel, block request or throw an exception from an arbitrary step.
*/
-public class TestUrlRequestCallback extends UrlRequest.Callback {
+public class TestUrlRequestCallback implements UrlRequest.Callback {
public ArrayList<UrlResponseInfo> mRedirectResponseInfoList = new ArrayList<UrlResponseInfo>();
public ArrayList<String> mRedirectUrlList = new ArrayList<String>();
public UrlResponseInfo mResponseInfo;
- public CronetException mError;
+ public HttpException mError;
public ResponseStep mResponseStep = ResponseStep.NOTHING;
@@ -294,7 +299,7 @@ public class TestUrlRequestCallback extends UrlRequest.Callback {
}
@Override
- public void onFailed(UrlRequest request, UrlResponseInfo info, CronetException error) {
+ public void onFailed(UrlRequest request, UrlResponseInfo info, HttpException error) {
// If the failure is because of prohibited direct execution, the test shouldn't fail
// since the request already did.
if (error.getCause() instanceof InlineExecutionProhibitedException) {
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/UrlResponseInfoTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/UrlResponseInfoTest.java
index 40897cd69..4538d89a0 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/UrlResponseInfoTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/UrlResponseInfoTest.java
@@ -4,6 +4,8 @@
package org.chromium.net;
+import android.net.http.UrlResponseInfo;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -55,21 +57,22 @@ public class UrlResponseInfoTest {
}
Assert.assertEquals(info.getHttpStatusCode(), httpStatusCode);
Assert.assertEquals(info.getHttpStatusText(), httpStatusText);
- Assert.assertEquals(info.getAllHeadersAsList(), allHeadersList);
+ Assert.assertEquals(info.getHeaders().getAsList(), allHeadersList);
try {
- info.getAllHeadersAsList().add(
+ info.getHeaders().getAsList().add(
new AbstractMap.SimpleImmutableEntry<String, String>("X", "Y"));
- Assert.fail("getAllHeadersAsList() returned modifyable list.");
+ Assert.fail("getHeaders().getAsList() returned modifyable list.");
} catch (UnsupportedOperationException e) {
// Expected.
}
- Assert.assertEquals(info.getAllHeaders().size(), allHeadersList.size());
- Assert.assertEquals(info.getAllHeaders().get(allHeadersList.get(0).getKey()).size(), 1);
- Assert.assertEquals(info.getAllHeaders().get(allHeadersList.get(0).getKey()).get(0),
+ Assert.assertEquals(info.getHeaders().getAsMap().size(), allHeadersList.size());
+ Assert.assertEquals(
+ info.getHeaders().getAsMap().get(allHeadersList.get(0).getKey()).size(), 1);
+ Assert.assertEquals(info.getHeaders().getAsMap().get(allHeadersList.get(0).getKey()).get(0),
allHeadersList.get(0).getValue());
Assert.assertEquals(info.wasCached(), wasCached);
Assert.assertEquals(info.getNegotiatedProtocol(), negotiatedProtocol);
Assert.assertEquals(info.getProxyServer(), proxyServer);
Assert.assertEquals(info.getReceivedByteCount(), receivedByteCount);
}
-} \ No newline at end of file
+}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/ContentTypeParametersParserTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/ContentTypeParametersParserTest.java
index ddb9673d1..94eecdd53 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/ContentTypeParametersParserTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/ContentTypeParametersParserTest.java
@@ -9,6 +9,8 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import android.net.http.apihelpers.ContentTypeParametersParser;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/UploadDataProvidersTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/UploadDataProvidersTest.java
index a77d3c4d2..912bc7daa 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/UploadDataProvidersTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/UploadDataProvidersTest.java
@@ -11,6 +11,7 @@ import static org.junit.Assert.assertTrue;
import static org.chromium.net.CronetTestRule.assertContains;
import static org.chromium.net.CronetTestRule.getContext;
+import android.net.http.apihelpers.UploadDataProviders;
import android.os.ConditionVariable;
import android.os.ParcelFileDescriptor;
@@ -23,15 +24,15 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.chromium.net.CallbackException;
+import android.net.http.CallbackException;
import org.chromium.net.CronetTestRule;
import org.chromium.net.CronetTestRule.CronetTestFramework;
import org.chromium.net.CronetTestRule.OnlyRunNativeCronet;
import org.chromium.net.NativeTestServer;
import org.chromium.net.TestUrlRequestCallback;
-import org.chromium.net.UploadDataProvider;
-import org.chromium.net.UploadDataSink;
-import org.chromium.net.UrlRequest;
+import android.net.http.UploadDataProvider;
+import android.net.http.UploadDataSink;
+import android.net.http.UrlRequest;
import java.io.File;
import java.io.FileOutputStream;
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetLoggerTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetLoggerTest.java
index 999401ed9..039c53b25 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetLoggerTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetLoggerTest.java
@@ -13,9 +13,11 @@ import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import static org.chromium.net.CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP;
+import static android.net.http.HttpEngine.Builder.HTTP_CACHE_DISK_NO_HTTP;
import android.content.Context;
+import android.net.http.HeaderBlock;
+import android.net.http.HttpEngine;
import android.os.Build;
import android.os.ConditionVariable;
@@ -31,16 +33,15 @@ import org.junit.rules.RuleChain;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
-import org.chromium.net.CronetEngine;
import org.chromium.net.CronetLoggerTestRule;
import org.chromium.net.CronetTestRule;
import org.chromium.net.CronetTestRule.CronetTestFramework;
import org.chromium.net.CronetTestRule.OnlyRunNativeCronet;
import org.chromium.net.CronetTestRule.RequiresMinAndroidApi;
-import org.chromium.net.ExperimentalCronetEngine;
+import android.net.http.ExperimentalHttpEngine;
import org.chromium.net.NativeTestServer;
import org.chromium.net.TestUrlRequestCallback;
-import org.chromium.net.UrlRequest;
+import android.net.http.UrlRequest;
import org.chromium.net.impl.CronetEngineBuilderImpl.HttpCacheMode;
import org.chromium.net.impl.CronetLogger.CronetEngineBuilderInfo;
import org.chromium.net.impl.CronetLogger.CronetSource;
@@ -65,7 +66,7 @@ import java.util.concurrent.atomic.AtomicReference;
@RequiresMinAndroidApi(Build.VERSION_CODES.O)
public final class CronetLoggerTest {
private final CronetTestRule mTestRule = new CronetTestRule();
- private final CronetLoggerTestRule mLoggerTestRule = new CronetLoggerTestRule(TestLogger.class);
+ private final CronetLoggerTestRule mLoggerTestRule = new CronetLoggerTestRule(new TestLogger());
@Rule
public final RuleChain chain = RuleChain.outerRule(mTestRule).around(mLoggerTestRule);
@@ -172,7 +173,7 @@ public final class CronetLoggerTest {
assertEquals(builder.quicEnabled(), builderInfo.isQuicEnabled());
assertEquals(builder.http2Enabled(), builderInfo.isHttp2Enabled());
assertEquals(builder.brotliEnabled(), builderInfo.isBrotliEnabled());
- assertEquals(builder.publicBuilderHttpCacheMode(), builderInfo.getHttpCacheMode());
+ assertEquals(builder.httpCacheMode(), builderInfo.getHttpCacheMode());
assertEquals(builder.experimentalOptions(), builderInfo.getExperimentalOptions());
assertEquals(builder.networkQualityEstimatorEnabled(),
builderInfo.isNetworkQualityEstimatorEnabled());
@@ -198,9 +199,9 @@ public final class CronetLoggerTest {
@Test
@SmallTest
public void testHttpCacheModeEnum() {
- final int publicBuilderHttpCacheModes[] = {CronetEngine.Builder.HTTP_CACHE_DISABLED,
- CronetEngine.Builder.HTTP_CACHE_IN_MEMORY,
- CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP, CronetEngine.Builder.HTTP_CACHE_DISK};
+ final int publicBuilderHttpCacheModes[] = {HttpEngine.Builder.HTTP_CACHE_DISABLED,
+ HttpEngine.Builder.HTTP_CACHE_IN_MEMORY,
+ HttpEngine.Builder.HTTP_CACHE_DISK_NO_HTTP, HttpEngine.Builder.HTTP_CACHE_DISK};
for (int publicBuilderHttpCacheMode : publicBuilderHttpCacheModes) {
HttpCacheMode cacheModeEnum =
HttpCacheMode.fromPublicBuilderCacheMode(publicBuilderHttpCacheMode);
@@ -231,7 +232,7 @@ public final class CronetLoggerTest {
final String url = NativeTestServer.getEchoBodyURL();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
- CronetEngine engine = mTestFramework.startEngine();
+ HttpEngine engine = mTestFramework.startEngine();
UrlRequest.Builder requestBuilder =
engine.newUrlRequestBuilder(url, callback, callback.getExecutor());
UrlRequest request = requestBuilder.build();
@@ -266,22 +267,23 @@ public final class CronetLoggerTest {
final boolean isNetworkQualityEstimatorEnabled = true;
final int threadPriority = THREAD_PRIORITY_DEFAULT;
- ExperimentalCronetEngine.Builder builder =
- (ExperimentalCronetEngine.Builder) mTestFramework.mBuilder;
+ ExperimentalHttpEngine.Builder builder =
+ (ExperimentalHttpEngine.Builder) mTestFramework.mBuilder;
builder.setExperimentalOptions(experimentalOptions);
- builder.enablePublicKeyPinningBypassForLocalTrustAnchors(
+ builder.setEnablePublicKeyPinningBypassForLocalTrustAnchors(
isPublicKeyPinningBypassForLocalTrustAnchorsEnabled);
builder.setUserAgent(userAgent);
builder.setStoragePath(storagePath);
- builder.enableQuic(isQuicEnabled);
- builder.enableHttp2(isHttp2Enabled);
- builder.enableBrotli(isBrotliEnabled);
- builder.enableHttpCache(cacheMode, 0);
+ builder.setEnableQuic(isQuicEnabled);
+ builder.setEnableHttp2(isHttp2Enabled);
+ builder.setEnableBrotli(isBrotliEnabled);
+ builder.setEnableHttpCache(cacheMode, 0);
+
builder.enableNetworkQualityEstimator(isNetworkQualityEstimatorEnabled);
builder.setThreadPriority(threadPriority);
- CronetEngine engine = mTestFramework.startEngine();
+ mTestFramework.startEngine();
final CronetEngineBuilderInfo builderInfo = mTestLogger.getLastCronetEngineBuilderInfo();
final CronetVersion version = mTestLogger.getLastCronetVersion();
final CronetSource source = mTestLogger.getLastCronetSource();
@@ -296,7 +298,7 @@ public final class CronetLoggerTest {
assertEquals(cacheMode, builderInfo.getHttpCacheMode());
assertEquals(experimentalOptions, builderInfo.getExperimentalOptions());
assertEquals(
- isNetworkQualityEstimatorEnabled, builderInfo.isNetworkQualityEstimatorEnabled());
+ isNetworkQualityEstimatorEnabled, builderInfo.isNetworkQualityEstimatorEnabled());
assertEquals(threadPriority, builderInfo.getThreadPriority());
assertEquals(ImplVersion.getCronetVersion(), version.toString());
if (mTestRule.testingJavaImpl()) {
@@ -316,10 +318,10 @@ public final class CronetLoggerTest {
JSONObject jsonExperimentalOptions = new JSONObject().put("enable_telemetry", true);
final String experimentalOptions = jsonExperimentalOptions.toString();
final String url = "www.example.com";
- ExperimentalCronetEngine.Builder builder =
- (ExperimentalCronetEngine.Builder) mTestFramework.mBuilder;
+ ExperimentalHttpEngine.Builder builder =
+ (ExperimentalHttpEngine.Builder) mTestFramework.mBuilder;
builder.setExperimentalOptions(experimentalOptions);
- CronetEngine engine = mTestFramework.startEngine();
+ HttpEngine engine = mTestFramework.startEngine();
final int engineId = mTestLogger.getLastCronetEngineId();
TestUrlRequestCallback callback1 = new TestUrlRequestCallback();
@@ -355,13 +357,13 @@ public final class CronetLoggerTest {
JSONObject jsonExperimentalOptions = new JSONObject().put("enable_telemetry", true);
final String experimentalOptions = jsonExperimentalOptions.toString();
final String url = "www.example.com";
- ExperimentalCronetEngine.Builder engineBuilder =
- (ExperimentalCronetEngine.Builder) mTestFramework.mBuilder;
+ ExperimentalHttpEngine.Builder engineBuilder =
+ (ExperimentalHttpEngine.Builder) mTestFramework.mBuilder;
engineBuilder.setExperimentalOptions(experimentalOptions);
- CronetEngine engine1 = engineBuilder.build();
+ HttpEngine engine1 = engineBuilder.build();
final int engine1Id = mTestLogger.getLastCronetEngineId();
- CronetEngine engine2 = engineBuilder.build();
+ HttpEngine engine2 = engineBuilder.build();
final int engine2Id = mTestLogger.getLastCronetEngineId();
TestUrlRequestCallback callback1 = new TestUrlRequestCallback();
@@ -400,10 +402,10 @@ public final class CronetLoggerTest {
JSONObject jsonExperimentalOptions = new JSONObject().put("enable_telemetry", true);
final String experimentalOptions = jsonExperimentalOptions.toString();
final String url = NativeTestServer.getEchoBodyURL();
- ExperimentalCronetEngine.Builder engineBuilder =
- (ExperimentalCronetEngine.Builder) mTestFramework.mBuilder;
+ ExperimentalHttpEngine.Builder engineBuilder =
+ (ExperimentalHttpEngine.Builder) mTestFramework.mBuilder;
engineBuilder.setExperimentalOptions(experimentalOptions);
- CronetEngine engine = mTestFramework.startEngine();
+ HttpEngine engine = mTestFramework.startEngine();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder requestBuilder =
@@ -438,10 +440,10 @@ public final class CronetLoggerTest {
JSONObject jsonExperimentalOptions = new JSONObject().put("enable_telemetry", true);
final String url = "www.unreachable-url.com";
final String experimentalOptions = jsonExperimentalOptions.toString();
- ExperimentalCronetEngine.Builder engineBuilder =
- (ExperimentalCronetEngine.Builder) mTestFramework.mBuilder;
+ ExperimentalHttpEngine.Builder engineBuilder =
+ (ExperimentalHttpEngine.Builder) mTestFramework.mBuilder;
engineBuilder.setExperimentalOptions(experimentalOptions);
- CronetEngine engine = mTestFramework.startEngine();
+ HttpEngine engine = mTestFramework.startEngine();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
UrlRequest.Builder requestBuilder =
@@ -477,10 +479,10 @@ public final class CronetLoggerTest {
JSONObject jsonExperimentalOptions = new JSONObject().put("enable_telemetry", true);
final String experimentalOptions = jsonExperimentalOptions.toString();
final String url = NativeTestServer.getEchoBodyURL();
- ExperimentalCronetEngine.Builder engineBuilder =
- (ExperimentalCronetEngine.Builder) mTestFramework.mBuilder;
+ ExperimentalHttpEngine.Builder engineBuilder =
+ (ExperimentalHttpEngine.Builder) mTestFramework.mBuilder;
engineBuilder.setExperimentalOptions(experimentalOptions);
- CronetEngine engine = mTestFramework.startEngine();
+ HttpEngine engine = mTestFramework.startEngine();
TestUrlRequestCallback callback = new TestUrlRequestCallback();
callback.setAutoAdvance(false);
@@ -520,10 +522,10 @@ public final class CronetLoggerTest {
headers = null;
assertEquals(0, CronetUrlRequest.estimateHeadersSizeInBytes(headers));
- CronetUrlRequest.HeadersList headersList = new CronetUrlRequest.HeadersList();
- assertEquals(0, CronetUrlRequest.estimateHeadersSizeInBytes(headersList));
- headersList = null;
- assertEquals(0, CronetUrlRequest.estimateHeadersSizeInBytes(headersList));
+ HeaderBlock headerBlock = asHeaderBlock(new CronetUrlRequest.HeadersList());
+ assertEquals(0, CronetUrlRequest.estimateHeadersSizeInBytes(headerBlock));
+ headerBlock = null;
+ assertEquals(0, CronetUrlRequest.estimateHeadersSizeInBytes(headerBlock));
}
@Test
@@ -553,6 +555,10 @@ public final class CronetLoggerTest {
headersList.add(
new AbstractMap.SimpleImmutableEntry<String, String>(null, "") // 33 + 0 + 0 = 33
);
- assertEquals(33, CronetUrlRequest.estimateHeadersSizeInBytes(headersList));
+ assertEquals(33, CronetUrlRequest.estimateHeadersSizeInBytes(asHeaderBlock(headersList)));
+ }
+
+ private static HeaderBlock asHeaderBlock(List<Map.Entry<String, String>> headers) {
+ return new HeaderBlockImpl(headers);
}
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetBufferedOutputStreamTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetBufferedOutputStreamTest.java
index f65359c5a..6faeea798 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetBufferedOutputStreamTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetBufferedOutputStreamTest.java
@@ -19,7 +19,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.chromium.net.CronetEngine;
+import android.net.http.HttpEngine;
import org.chromium.net.CronetTestRule;
import org.chromium.net.CronetTestRule.CompareDefaultWithCronet;
import org.chromium.net.CronetTestRule.OnlyRunCronetHttpURLConnection;
@@ -40,7 +40,7 @@ public class CronetBufferedOutputStreamTest {
@Before
public void setUp() throws Exception {
- mTestRule.setStreamHandlerFactory(new CronetEngine.Builder(getContext()).build());
+ mTestRule.setStreamHandlerFactory(new HttpEngine.Builder(getContext()).build());
assertTrue(NativeTestServer.startNativeTestServer(getContext()));
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetChunkedOutputStreamTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetChunkedOutputStreamTest.java
index f203dae1b..da15186a6 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetChunkedOutputStreamTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetChunkedOutputStreamTest.java
@@ -19,12 +19,12 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.chromium.net.CronetEngine;
+import android.net.http.HttpEngine;
import org.chromium.net.CronetTestRule;
import org.chromium.net.CronetTestRule.CompareDefaultWithCronet;
import org.chromium.net.CronetTestRule.OnlyRunCronetHttpURLConnection;
import org.chromium.net.NativeTestServer;
-import org.chromium.net.NetworkException;
+import android.net.http.NetworkException;
import java.io.IOException;
import java.io.OutputStream;
@@ -51,7 +51,7 @@ public class CronetChunkedOutputStreamTest {
@Before
public void setUp() throws Exception {
- mTestRule.setStreamHandlerFactory(new CronetEngine.Builder(getContext()).build());
+ mTestRule.setStreamHandlerFactory(new HttpEngine.Builder(getContext()).build());
assertTrue(NativeTestServer.startNativeTestServer(getContext()));
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetFixedModeOutputStreamTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetFixedModeOutputStreamTest.java
index 936bb3351..8acbdf191 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetFixedModeOutputStreamTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetFixedModeOutputStreamTest.java
@@ -24,12 +24,12 @@ import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
-import org.chromium.net.CronetEngine;
+import android.net.http.HttpEngine;
import org.chromium.net.CronetTestRule;
import org.chromium.net.CronetTestRule.CompareDefaultWithCronet;
import org.chromium.net.CronetTestRule.OnlyRunCronetHttpURLConnection;
import org.chromium.net.NativeTestServer;
-import org.chromium.net.NetworkException;
+import android.net.http.NetworkException;
import org.chromium.net.impl.CallbackExceptionImpl;
import java.io.IOException;
@@ -57,7 +57,7 @@ public class CronetFixedModeOutputStreamTest {
@Before
public void setUp() throws Exception {
- mTestRule.setStreamHandlerFactory(new CronetEngine.Builder(getContext()).build());
+ mTestRule.setStreamHandlerFactory(new HttpEngine.Builder(getContext()).build());
assertTrue(NativeTestServer.startNativeTestServer(getContext()));
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java
index 8a76b21c4..33d6eb944 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java
@@ -26,8 +26,8 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.chromium.base.Log;
-import org.chromium.net.CronetEngine;
-import org.chromium.net.CronetException;
+import android.net.http.HttpEngine;
+import android.net.http.HttpException;
import org.chromium.net.CronetTestRule;
import org.chromium.net.CronetTestRule.CompareDefaultWithCronet;
import org.chromium.net.CronetTestRule.OnlyRunCronetHttpURLConnection;
@@ -74,11 +74,11 @@ public class CronetHttpURLConnectionTest {
@Rule
public final CronetTestRule mTestRule = new CronetTestRule();
- private CronetEngine mCronetEngine;
+ private HttpEngine mCronetEngine;
@Before
public void setUp() throws Exception {
- mCronetEngine = mTestRule.enableDiskCache(new CronetEngine.Builder(getContext())).build();
+ mCronetEngine = mTestRule.enableDiskCache(new HttpEngine.Builder(getContext())).build();
mTestRule.setStreamHandlerFactory(mCronetEngine);
assertTrue(NativeTestServer.startNativeTestServer(getContext()));
}
@@ -309,7 +309,7 @@ public class CronetHttpURLConnectionTest {
secondConnection.getResponseCode();
fail();
} catch (IOException e) {
- assertTrue(e instanceof java.net.ConnectException || e instanceof CronetException);
+ assertTrue(e instanceof java.net.ConnectException || e instanceof HttpException);
assertTrue(e.getMessage().contains("ECONNREFUSED")
|| e.getMessage().contains("Connection refused")
|| e.getMessage().contains("net::ERR_CONNECTION_REFUSED")
@@ -336,7 +336,7 @@ public class CronetHttpURLConnectionTest {
urlConnection.getResponseCode();
fail();
} catch (IOException e) {
- assertTrue(e instanceof java.net.ConnectException || e instanceof CronetException);
+ assertTrue(e instanceof java.net.ConnectException || e instanceof HttpException);
assertTrue(e.getMessage().contains("ECONNREFUSED")
|| e.getMessage().contains("Connection refused")
|| e.getMessage().contains("net::ERR_CONNECTION_REFUSED")
@@ -361,7 +361,7 @@ public class CronetHttpURLConnectionTest {
fail();
} catch (java.net.UnknownHostException e) {
// Expected.
- } catch (CronetException e) {
+ } catch (HttpException e) {
// Expected.
}
checkExceptionsAreThrown(urlConnection);
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/QuicUploadTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/QuicUploadTest.java
index fc93a9e33..bfb044c9f 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/QuicUploadTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/QuicUploadTest.java
@@ -17,11 +17,11 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.chromium.net.CronetEngine;
+import android.net.http.HttpEngine;
import org.chromium.net.CronetTestRule;
import org.chromium.net.CronetTestRule.OnlyRunNativeCronet;
import org.chromium.net.CronetTestUtil;
-import org.chromium.net.ExperimentalCronetEngine;
+import android.net.http.ExperimentalHttpEngine;
import org.chromium.net.QuicTestServer;
import java.io.OutputStream;
@@ -37,18 +37,18 @@ public class QuicUploadTest {
@Rule
public final CronetTestRule mTestRule = new CronetTestRule();
- private CronetEngine mCronetEngine;
+ private HttpEngine mCronetEngine;
@Before
public void setUp() throws Exception {
// Load library first to create MockCertVerifier.
System.loadLibrary("cronet_tests");
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
+ ExperimentalHttpEngine.Builder builder =
+ new ExperimentalHttpEngine.Builder(getContext());
QuicTestServer.startQuicTestServer(getContext());
- builder.enableQuic(true);
+ builder.setEnableQuic(true);
JSONObject hostResolverParams = CronetTestUtil.generateHostResolverRules();
JSONObject experimentalOptions = new JSONObject()
.put("HostResolverRules", hostResolverParams);
diff --git a/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java b/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java
index 7023fa59a..19ab9fec8 100644
--- a/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java
+++ b/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java
@@ -5,8 +5,10 @@
package org.chromium.net;
import android.net.Network;
-import org.chromium.net.CronetEngine;
-import org.chromium.net.UrlRequest;
+import android.net.http.ExperimentalHttpEngine;
+import android.net.http.ExperimentalOptionsTranslatingHttpEngineBuilder;
+import android.net.http.HttpEngine;
+import android.net.http.UrlRequest;
import org.json.JSONException;
import org.json.JSONObject;
@@ -63,7 +65,7 @@ public class CronetTestUtil {
public static class NetworkThreadTestConnector {
private final CronetUrlRequestContext mRequestContext;
- public NetworkThreadTestConnector(CronetEngine cronetEngine) {
+ public NetworkThreadTestConnector(HttpEngine cronetEngine) {
mRequestContext = (CronetUrlRequestContext) cronetEngine;
CronetTestUtilJni.get().prepareNetworkThread(
mRequestContext.getUrlRequestContextAdapter());
@@ -85,20 +87,20 @@ public class CronetTestUtil {
}
public static boolean doesURLRequestContextExistForTesting(
- CronetEngine engine, Network network) {
+ HttpEngine engine, Network network) {
CronetUrlRequestContext context = (CronetUrlRequestContext) engine;
return CronetTestUtilJni.get().uRLRequestContextExistsForTesting(
context.getUrlRequestContextAdapter(), network.getNetworkHandle());
}
public static void setMockCertVerifierForTesting(
- ExperimentalCronetEngine.Builder builder, long mockCertVerifier) {
+ ExperimentalHttpEngine.Builder builder, long mockCertVerifier) {
getCronetEngineBuilderImpl(builder).setMockCertVerifierForTesting(mockCertVerifier);
}
public static CronetEngineBuilderImpl getCronetEngineBuilderImpl(
- ExperimentalCronetEngine.Builder builder) {
- return (CronetEngineBuilderImpl) ((ExperimentalOptionsTranslatingCronetEngineBuilder)
+ ExperimentalHttpEngine.Builder builder) {
+ return (CronetEngineBuilderImpl) ((ExperimentalOptionsTranslatingHttpEngineBuilder)
builder.getBuilderDelegate())
.getDelegate();
}
diff --git a/components/cronet/android/test/src/org/chromium/net/MockUrlRequestJobFactory.java b/components/cronet/android/test/src/org/chromium/net/MockUrlRequestJobFactory.java
index 5aa93cfcf..d1d2e7fd4 100644
--- a/components/cronet/android/test/src/org/chromium/net/MockUrlRequestJobFactory.java
+++ b/components/cronet/android/test/src/org/chromium/net/MockUrlRequestJobFactory.java
@@ -6,7 +6,7 @@ package org.chromium.net;
import static junit.framework.Assert.assertTrue;
-import org.chromium.net.CronetEngine;
+import android.net.http.HttpEngine;
import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.annotations.NativeMethods;
@@ -24,7 +24,7 @@ public final class MockUrlRequestJobFactory {
/**
* Sets up URL interceptors.
*/
- public MockUrlRequestJobFactory(CronetEngine cronetEngine) {
+ public MockUrlRequestJobFactory(HttpEngine cronetEngine) {
mNetworkThreadTestConnector = new CronetTestUtil.NetworkThreadTestConnector(cronetEngine);
mInterceptorHandle = MockUrlRequestJobFactoryJni.get().addUrlInterceptors(
diff --git a/components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java b/components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java
index af64409ce..cb6840ba7 100644
--- a/components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java
+++ b/components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java
@@ -5,7 +5,7 @@
package org.chromium.net;
import android.content.Context;
-import org.chromium.net.CronetEngine;
+import android.net.http.HttpEngine;
import android.os.ConditionVariable;
import org.junit.Assert;
@@ -23,7 +23,7 @@ import org.chromium.net.impl.CronetUrlRequestContext;
@JNINamespace("cronet")
public final class TestUploadDataStreamHandler {
private final CronetTestUtil.NetworkThreadTestConnector mNetworkThreadTestConnector;
- private final CronetEngine mCronetEngine;
+ private final HttpEngine mCronetEngine;
private long mTestUploadDataStreamHandler;
private ConditionVariable mWaitInitCalled = new ConditionVariable();
private ConditionVariable mWaitInitComplete = new ConditionVariable();
@@ -38,7 +38,7 @@ public final class TestUploadDataStreamHandler {
private String mData = "";
public TestUploadDataStreamHandler(Context context, final long uploadDataStream) {
- mCronetEngine = new CronetEngine.Builder(context).build();
+ mCronetEngine = new HttpEngine.Builder(context).build();
mNetworkThreadTestConnector = new CronetTestUtil.NetworkThreadTestConnector(mCronetEngine);
CronetUrlRequestContext requestContext = (CronetUrlRequestContext) mCronetEngine;
mTestUploadDataStreamHandler =