aboutsummaryrefslogtreecommitdiff
path: root/okhttp-tests/src/test/java/com/squareup/okhttp/CallTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'okhttp-tests/src/test/java/com/squareup/okhttp/CallTest.java')
-rw-r--r--okhttp-tests/src/test/java/com/squareup/okhttp/CallTest.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/okhttp-tests/src/test/java/com/squareup/okhttp/CallTest.java b/okhttp-tests/src/test/java/com/squareup/okhttp/CallTest.java
index 0b18783..605ca68 100644
--- a/okhttp-tests/src/test/java/com/squareup/okhttp/CallTest.java
+++ b/okhttp-tests/src/test/java/com/squareup/okhttp/CallTest.java
@@ -90,6 +90,20 @@ public final class CallTest {
@Rule public final MockWebServer server2 = new MockWebServer();
@Rule public final InMemoryFileSystem fileSystem = new InMemoryFileSystem();
+ // Android-added: Use TLS 1.3 and 1.2 for testing
+ private static final ConnectionSpec TLS_SPEC_1_3 =
+ new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
+ .tlsVersions(TlsVersion.TLS_1_3)
+ .build();
+
+ private static final ConnectionSpec TLS_SPEC_1_2 =
+ new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
+ .tlsVersions(TlsVersion.TLS_1_2)
+ .build();
+
+ private static final List<ConnectionSpec> TLS_SPEC_NO_V1
+ = Arrays.asList(TLS_SPEC_1_3, TLS_SPEC_1_2);
+
private SSLContext sslContext = SslContextBuilder.localhost();
private OkHttpClient client = new OkHttpClient();
private RecordingCallback callback = new RecordingCallback();
@@ -915,6 +929,8 @@ public final class CallTest {
server.enqueue(new MockResponse().setBody("abc"));
suppressTlsFallbackScsv(client);
+ // Android-added: Use TLS 1.3 and 1.2 for testing
+ client.setConnectionSpecs(TLS_SPEC_NO_V1);
client.setHostnameVerifier(new RecordingHostnameVerifier());
client.setDns(new SingleInetAddressDns());
@@ -933,12 +949,18 @@ public final class CallTest {
server.useHttps(sslContext.getSocketFactory(), false);
server.enqueue(new MockResponse().setSocketPolicy(SocketPolicy.FAIL_HANDSHAKE));
+ // Android-added: Need an extra handshake fail when using TLS 1.3 and 1.2 for testing.
+ // Seems to be a testing quirk due to adding two ConnectionSpecs and has no impact
+ // on the logic being tested or the expected outcomes, so not gonna dig too deep.
+ server.enqueue(new MockResponse().setSocketPolicy(SocketPolicy.FAIL_HANDSHAKE));
RecordingSSLSocketFactory clientSocketFactory =
new RecordingSSLSocketFactory(sslContext.getSocketFactory());
client.setSslSocketFactory(clientSocketFactory);
client.setHostnameVerifier(new RecordingHostnameVerifier());
client.setDns(new SingleInetAddressDns());
+ // Android-added: Use TLS 1.3 and 1.2 for testing
+ client.setConnectionSpecs(TLS_SPEC_NO_V1);
Request request = new Request.Builder().url(server.url("/")).build();
try {
@@ -961,6 +983,8 @@ public final class CallTest {
suppressTlsFallbackScsv(client);
client.setHostnameVerifier(new RecordingHostnameVerifier());
+ // Android-added: Use TLS 1.3 and 1.2 for testing
+ client.setConnectionSpecs(TLS_SPEC_NO_V1);
Request request = new Request.Builder()
.url(server.url("/"))