summaryrefslogtreecommitdiffstats
path: root/luni
diff options
context:
space:
mode:
authorJesse Wilson <jessewilson@google.com>2011-12-19 19:45:31 -0500
committerJesse Wilson <jessewilson@google.com>2011-12-19 19:47:23 -0500
commitabe4e615f473b387b1c00a738062a7c428f05a33 (patch)
tree530ac5d2aefb55fe9598cdce5f2b60b13864565d /luni
parent5757cb35ad2e58d7accb7f5d3db6f2d5e72f097d (diff)
downloadlibcore-abe4e615f473b387b1c00a738062a7c428f05a33.zip
libcore-abe4e615f473b387b1c00a738062a7c428f05a33.tar.gz
libcore-abe4e615f473b387b1c00a738062a7c428f05a33.tar.bz2
Unit test SSL fallback.
Bug: http://b/4462288 Change-Id: I9a29c70b24f235df15aa9a763ae5217e10e42f83
Diffstat (limited to 'luni')
-rw-r--r--luni/src/test/java/libcore/java/net/URLConnectionTest.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/luni/src/test/java/libcore/java/net/URLConnectionTest.java b/luni/src/test/java/libcore/java/net/URLConnectionTest.java
index 8777aa0..d16f14a 100644
--- a/luni/src/test/java/libcore/java/net/URLConnectionTest.java
+++ b/luni/src/test/java/libcore/java/net/URLConnectionTest.java
@@ -449,6 +449,7 @@ public final class URLConnectionTest extends TestCase {
RecordedRequest request = server.takeRequest();
assertEquals("GET /foo HTTP/1.1", request.getRequestLine());
+ assertEquals("TLSv1", request.getSslProtocol());
}
public void testConnectViaHttpsReusingConnections() throws IOException, InterruptedException {
@@ -2031,6 +2032,25 @@ public final class URLConnectionTest extends TestCase {
}
}
+ public void testSslFallback() throws Exception {
+ TestSSLContext testSSLContext = TestSSLContext.create();
+ server.useHttps(testSSLContext.serverContext.getSocketFactory(), false);
+ server.enqueue(new MockResponse().setSocketPolicy(SocketPolicy.FAIL_HANDSHAKE));
+ server.enqueue(new MockResponse().setBody("This required a 2nd handshake"));
+ server.play();
+
+ HttpsURLConnection connection = (HttpsURLConnection) server.getUrl("/").openConnection();
+ connection.setSSLSocketFactory(testSSLContext.clientContext.getSocketFactory());
+ assertEquals("This required a 2nd handshake",
+ readAscii(connection.getInputStream(), Integer.MAX_VALUE));
+
+ RecordedRequest first = server.takeRequest();
+ assertEquals(0, first.getSequenceNumber());
+ RecordedRequest retry = server.takeRequest();
+ assertEquals(0, retry.getSequenceNumber());
+ assertEquals("SSLv3", retry.getSslProtocol());
+ }
+
/**
* Returns a gzipped copy of {@code bytes}.
*/