Tracking merge of dalvik-dev to master
Change-Id: Id4c19401ad0aa238219aaf5d9a20d2889d0a4b18
This commit is contained in:
@@ -268066,7 +268066,7 @@
|
|||||||
</constructor>
|
</constructor>
|
||||||
</class>
|
</class>
|
||||||
<class name="UnrecoverableKeyException"
|
<class name="UnrecoverableKeyException"
|
||||||
extends="java.security.GeneralSecurityException"
|
extends="java.security.UnrecoverableEntryException"
|
||||||
abstract="false"
|
abstract="false"
|
||||||
static="false"
|
static="false"
|
||||||
final="false"
|
final="false"
|
||||||
|
|||||||
@@ -234967,7 +234967,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="java.io.File">
|
<parameter name="newPath" type="java.io.File">
|
||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
<method name="setExecutable"
|
<method name="setExecutable"
|
||||||
@@ -238965,7 +238965,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="java.io.PipedInputStream">
|
<parameter name="target" type="java.io.PipedInputStream">
|
||||||
</parameter>
|
</parameter>
|
||||||
<exception name="IOException" type="java.io.IOException">
|
<exception name="IOException" type="java.io.IOException">
|
||||||
</exception>
|
</exception>
|
||||||
@@ -242177,9 +242177,9 @@
|
|||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="end" type="int">
|
<parameter name="end" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="dest" type="char[]">
|
<parameter name="dst" type="char[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="destStart" type="int">
|
<parameter name="dstStart" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
<method name="indexOf"
|
<method name="indexOf"
|
||||||
@@ -246604,7 +246604,7 @@
|
|||||||
<method name="getName"
|
<method name="getName"
|
||||||
return="java.lang.String"
|
return="java.lang.String"
|
||||||
abstract="false"
|
abstract="false"
|
||||||
native="true"
|
native="false"
|
||||||
synchronized="false"
|
synchronized="false"
|
||||||
static="false"
|
static="false"
|
||||||
final="false"
|
final="false"
|
||||||
@@ -250570,7 +250570,7 @@
|
|||||||
return="double"
|
return="double"
|
||||||
abstract="false"
|
abstract="false"
|
||||||
native="false"
|
native="false"
|
||||||
synchronized="false"
|
synchronized="true"
|
||||||
static="true"
|
static="true"
|
||||||
final="false"
|
final="false"
|
||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
@@ -254070,7 +254070,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="string" type="java.lang.String">
|
<parameter name="toCopy" type="java.lang.String">
|
||||||
</parameter>
|
</parameter>
|
||||||
</constructor>
|
</constructor>
|
||||||
<constructor name="String"
|
<constructor name="String"
|
||||||
@@ -256022,9 +256022,9 @@
|
|||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="srcPos" type="int">
|
<parameter name="srcPos" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="dest" type="java.lang.Object">
|
<parameter name="dst" type="java.lang.Object">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="destPos" type="int">
|
<parameter name="dstPos" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="length" type="int">
|
<parameter name="length" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
@@ -256109,7 +256109,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="prop" type="java.lang.String">
|
<parameter name="propertyName" type="java.lang.String">
|
||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
<method name="getProperty"
|
<method name="getProperty"
|
||||||
@@ -264697,7 +264697,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="chunklen" type="int">
|
<parameter name="chunkLength" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
<method name="setFixedLengthStreamingMode"
|
<method name="setFixedLengthStreamingMode"
|
||||||
@@ -271174,7 +271174,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="byte[]">
|
<parameter name="dst" type="byte[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
<method name="get"
|
<method name="get"
|
||||||
@@ -271187,7 +271187,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="byte[]">
|
<parameter name="dst" type="byte[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="off" type="int">
|
<parameter name="off" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
@@ -271892,7 +271892,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="char[]">
|
<parameter name="dst" type="char[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
<method name="get"
|
<method name="get"
|
||||||
@@ -271905,7 +271905,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="char[]">
|
<parameter name="dst" type="char[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="off" type="int">
|
<parameter name="off" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
@@ -272284,7 +272284,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="double[]">
|
<parameter name="dst" type="double[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
<method name="get"
|
<method name="get"
|
||||||
@@ -272297,7 +272297,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="double[]">
|
<parameter name="dst" type="double[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="off" type="int">
|
<parameter name="off" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
@@ -272575,7 +272575,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="float[]">
|
<parameter name="dst" type="float[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
<method name="get"
|
<method name="get"
|
||||||
@@ -272588,7 +272588,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="float[]">
|
<parameter name="dst" type="float[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="off" type="int">
|
<parameter name="off" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
@@ -272866,7 +272866,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="int[]">
|
<parameter name="dst" type="int[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
<method name="get"
|
<method name="get"
|
||||||
@@ -272879,7 +272879,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="int[]">
|
<parameter name="dst" type="int[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="off" type="int">
|
<parameter name="off" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
@@ -273174,7 +273174,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="long[]">
|
<parameter name="dst" type="long[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
<method name="get"
|
<method name="get"
|
||||||
@@ -273187,7 +273187,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="long[]">
|
<parameter name="dst" type="long[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="off" type="int">
|
<parameter name="off" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
@@ -273524,7 +273524,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="short[]">
|
<parameter name="dst" type="short[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
<method name="get"
|
<method name="get"
|
||||||
@@ -273537,7 +273537,7 @@
|
|||||||
deprecated="not deprecated"
|
deprecated="not deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="dest" type="short[]">
|
<parameter name="dst" type="short[]">
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="off" type="int">
|
<parameter name="off" type="int">
|
||||||
</parameter>
|
</parameter>
|
||||||
@@ -284432,7 +284432,7 @@
|
|||||||
</constructor>
|
</constructor>
|
||||||
</class>
|
</class>
|
||||||
<class name="UnrecoverableKeyException"
|
<class name="UnrecoverableKeyException"
|
||||||
extends="java.security.GeneralSecurityException"
|
extends="java.security.UnrecoverableEntryException"
|
||||||
abstract="false"
|
abstract="false"
|
||||||
static="false"
|
static="false"
|
||||||
final="false"
|
final="false"
|
||||||
|
|||||||
@@ -46,9 +46,9 @@ import javax.net.ssl.TrustManager;
|
|||||||
import javax.net.ssl.TrustManagerFactory;
|
import javax.net.ssl.TrustManagerFactory;
|
||||||
import javax.net.ssl.X509TrustManager;
|
import javax.net.ssl.X509TrustManager;
|
||||||
|
|
||||||
|
import org.apache.harmony.xnet.provider.jsse.OpenSSLContextImpl;
|
||||||
import org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl;
|
import org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl;
|
||||||
import org.apache.harmony.xnet.provider.jsse.SSLClientSessionCache;
|
import org.apache.harmony.xnet.provider.jsse.SSLClientSessionCache;
|
||||||
import org.apache.harmony.xnet.provider.jsse.SSLContextImpl;
|
|
||||||
import org.apache.harmony.xnet.provider.jsse.SSLParameters;
|
import org.apache.harmony.xnet.provider.jsse.SSLParameters;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -210,7 +210,7 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory {
|
|||||||
|
|
||||||
private SSLSocketFactory makeSocketFactory(TrustManager[] trustManagers) {
|
private SSLSocketFactory makeSocketFactory(TrustManager[] trustManagers) {
|
||||||
try {
|
try {
|
||||||
SSLContextImpl sslContext = new SSLContextImpl();
|
OpenSSLContextImpl sslContext = new OpenSSLContextImpl();
|
||||||
sslContext.engineInit(null, trustManagers, null, mSessionCache, null);
|
sslContext.engineInit(null, trustManagers, null, mSessionCache, null);
|
||||||
return sslContext.engineGetSocketFactory();
|
return sslContext.engineGetSocketFactory();
|
||||||
} catch (KeyManagementException e) {
|
} catch (KeyManagementException e) {
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ package android.net.http;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import org.apache.harmony.xnet.provider.jsse.FileClientSessionCache;
|
import org.apache.harmony.xnet.provider.jsse.FileClientSessionCache;
|
||||||
|
import org.apache.harmony.xnet.provider.jsse.OpenSSLContextImpl;
|
||||||
import org.apache.harmony.xnet.provider.jsse.SSLClientSessionCache;
|
import org.apache.harmony.xnet.provider.jsse.SSLClientSessionCache;
|
||||||
import org.apache.harmony.xnet.provider.jsse.SSLContextImpl;
|
|
||||||
import org.apache.http.Header;
|
import org.apache.http.Header;
|
||||||
import org.apache.http.HttpException;
|
import org.apache.http.HttpException;
|
||||||
import org.apache.http.HttpHost;
|
import org.apache.http.HttpHost;
|
||||||
@@ -79,7 +79,7 @@ public class HttpsConnection extends Connection {
|
|||||||
cache = FileClientSessionCache.usingDirectory(sessionDir);
|
cache = FileClientSessionCache.usingDirectory(sessionDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
SSLContextImpl sslContext = new SSLContextImpl();
|
OpenSSLContextImpl sslContext = new OpenSSLContextImpl();
|
||||||
|
|
||||||
// here, trust managers is a single trust-all manager
|
// here, trust managers is a single trust-all manager
|
||||||
TrustManager[] trustManagers = new TrustManager[] {
|
TrustManager[] trustManagers = new TrustManager[] {
|
||||||
|
|||||||
@@ -13,7 +13,9 @@ LOCAL_SRC_FILES := \
|
|||||||
|
|
||||||
LOCAL_STATIC_JAVA_LIBRARIES += android-common
|
LOCAL_STATIC_JAVA_LIBRARIES += android-common
|
||||||
|
|
||||||
LOCAL_JAVA_LIBRARIES := android.test.runner
|
LOCAL_DX_FLAGS := --core-library
|
||||||
|
LOCAL_STATIC_JAVA_LIBRARIES := core-tests-supportlib
|
||||||
|
LOCAL_JAVA_LIBRARIES := android.test.runner android-common
|
||||||
LOCAL_PACKAGE_NAME := FrameworksCoreTests
|
LOCAL_PACKAGE_NAME := FrameworksCoreTests
|
||||||
|
|
||||||
LOCAL_CERTIFICATE := platform
|
LOCAL_CERTIFICATE := platform
|
||||||
|
|||||||
@@ -0,0 +1,142 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2010 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package android.net.http;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.Reader;
|
||||||
|
import java.io.StringWriter;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.net.ssl.TestSSLContext;
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
import org.apache.http.HttpHost;
|
||||||
|
import org.apache.http.HttpResponse;
|
||||||
|
import org.apache.http.client.HttpClient;
|
||||||
|
import org.apache.http.client.methods.HttpGet;
|
||||||
|
import org.apache.http.conn.params.ConnRoutePNames;
|
||||||
|
import org.apache.http.conn.scheme.Scheme;
|
||||||
|
import org.apache.http.conn.ssl.AllowAllHostnameVerifier;
|
||||||
|
import org.apache.http.conn.ssl.SSLSocketFactory;
|
||||||
|
import org.apache.http.impl.client.DefaultHttpClient;
|
||||||
|
import tests.http.MockResponse;
|
||||||
|
import tests.http.MockWebServer;
|
||||||
|
import tests.http.RecordedRequest;
|
||||||
|
|
||||||
|
public class HttpsThroughHttpProxyTest extends TestCase {
|
||||||
|
|
||||||
|
public void testConnectViaHttps() throws IOException, InterruptedException {
|
||||||
|
TestSSLContext testSSLContext = TestSSLContext.create();
|
||||||
|
|
||||||
|
MockWebServer server = new MockWebServer();
|
||||||
|
server.useHttps(testSSLContext.serverContext.getSocketFactory(), false);
|
||||||
|
server.enqueue(new MockResponse()
|
||||||
|
.setResponseCode(200)
|
||||||
|
.setBody("this response comes via HTTPS"));
|
||||||
|
server.play();
|
||||||
|
|
||||||
|
HttpClient httpClient = new DefaultHttpClient();
|
||||||
|
SSLSocketFactory sslSocketFactory = new SSLSocketFactory(
|
||||||
|
testSSLContext.clientContext.getSocketFactory());
|
||||||
|
sslSocketFactory.setHostnameVerifier(new AllowAllHostnameVerifier());
|
||||||
|
httpClient.getConnectionManager().getSchemeRegistry()
|
||||||
|
.register(new Scheme("https", sslSocketFactory, server.getPort()));
|
||||||
|
|
||||||
|
HttpResponse response = httpClient.execute(
|
||||||
|
new HttpGet("https://localhost:" + server.getPort() + "/foo"));
|
||||||
|
assertEquals("this response comes via HTTPS", contentToString(response));
|
||||||
|
|
||||||
|
RecordedRequest request = server.takeRequest();
|
||||||
|
assertEquals("GET /foo HTTP/1.1", request.getRequestLine());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* http://code.google.com/p/android/issues/detail?id=2690
|
||||||
|
*/
|
||||||
|
public void testConnectViaProxy() throws IOException, InterruptedException {
|
||||||
|
MockWebServer proxy = new MockWebServer();
|
||||||
|
MockResponse mockResponse = new MockResponse()
|
||||||
|
.setResponseCode(200)
|
||||||
|
.setBody("this response comes via a proxy");
|
||||||
|
proxy.enqueue(mockResponse);
|
||||||
|
proxy.play();
|
||||||
|
|
||||||
|
HttpClient httpProxyClient = new DefaultHttpClient();
|
||||||
|
httpProxyClient.getParams().setParameter(
|
||||||
|
ConnRoutePNames.DEFAULT_PROXY, new HttpHost("localhost", proxy.getPort()));
|
||||||
|
|
||||||
|
HttpResponse response = httpProxyClient.execute(new HttpGet("http://android.com/foo"));
|
||||||
|
assertEquals("this response comes via a proxy", contentToString(response));
|
||||||
|
|
||||||
|
RecordedRequest request = proxy.takeRequest();
|
||||||
|
assertEquals("GET http://android.com/foo HTTP/1.1", request.getRequestLine());
|
||||||
|
assertContains(request.getHeaders(), "Host: android.com");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testConnectViaHttpProxyToHttps() throws IOException, InterruptedException {
|
||||||
|
TestSSLContext testSSLContext = TestSSLContext.create();
|
||||||
|
|
||||||
|
MockWebServer proxy = new MockWebServer();
|
||||||
|
proxy.useHttps(testSSLContext.serverContext.getSocketFactory(), true);
|
||||||
|
MockResponse connectResponse = new MockResponse()
|
||||||
|
.setResponseCode(200);
|
||||||
|
connectResponse.getHeaders().clear();
|
||||||
|
proxy.enqueue(connectResponse);
|
||||||
|
proxy.enqueue(new MockResponse()
|
||||||
|
.setResponseCode(200)
|
||||||
|
.setBody("this response comes via a secure proxy"));
|
||||||
|
proxy.play();
|
||||||
|
|
||||||
|
HttpClient httpProxyClient = new DefaultHttpClient();
|
||||||
|
HttpHost proxyHost = new HttpHost("localhost", proxy.getPort());
|
||||||
|
httpProxyClient.getParams().setParameter(
|
||||||
|
ConnRoutePNames.DEFAULT_PROXY, proxyHost);
|
||||||
|
SSLSocketFactory sslSocketFactory = new SSLSocketFactory(
|
||||||
|
testSSLContext.clientContext.getSocketFactory());
|
||||||
|
sslSocketFactory.setHostnameVerifier(new AllowAllHostnameVerifier());
|
||||||
|
httpProxyClient.getConnectionManager().getSchemeRegistry()
|
||||||
|
.register(new Scheme("https", sslSocketFactory, 443));
|
||||||
|
|
||||||
|
HttpResponse response = httpProxyClient.execute(new HttpGet("https://android.com/foo"));
|
||||||
|
assertEquals("this response comes via a secure proxy", contentToString(response));
|
||||||
|
|
||||||
|
RecordedRequest connect = proxy.takeRequest();
|
||||||
|
assertEquals("Connect line failure on proxy " + proxyHost.toHostString(),
|
||||||
|
"CONNECT android.com:443 HTTP/1.1", connect.getRequestLine());
|
||||||
|
assertContains(connect.getHeaders(), "Host: android.com");
|
||||||
|
|
||||||
|
RecordedRequest get = proxy.takeRequest();
|
||||||
|
assertEquals("GET /foo HTTP/1.1", get.getRequestLine());
|
||||||
|
assertContains(get.getHeaders(), "Host: android.com");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assertContains(List<String> headers, String header) {
|
||||||
|
assertTrue(headers.toString(), headers.contains(header));
|
||||||
|
}
|
||||||
|
|
||||||
|
private String contentToString(HttpResponse response) throws IOException {
|
||||||
|
StringWriter writer = new StringWriter();
|
||||||
|
char[] buffer = new char[1024];
|
||||||
|
Reader reader = new InputStreamReader(response.getEntity().getContent());
|
||||||
|
int length;
|
||||||
|
while ((length = reader.read(buffer)) != -1) {
|
||||||
|
writer.write(buffer, 0, length);
|
||||||
|
}
|
||||||
|
reader.close();
|
||||||
|
return writer.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,8 +19,8 @@ package android.core;
|
|||||||
import android.test.AndroidTestCase;
|
import android.test.AndroidTestCase;
|
||||||
import android.os.Debug;
|
import android.os.Debug;
|
||||||
import org.apache.harmony.xnet.provider.jsse.FileClientSessionCache;
|
import org.apache.harmony.xnet.provider.jsse.FileClientSessionCache;
|
||||||
|
import org.apache.harmony.xnet.provider.jsse.OpenSSLContextImpl;
|
||||||
import org.apache.harmony.xnet.provider.jsse.SSLClientSessionCache;
|
import org.apache.harmony.xnet.provider.jsse.SSLClientSessionCache;
|
||||||
import org.apache.harmony.xnet.provider.jsse.SSLContextImpl;
|
|
||||||
import org.apache.http.conn.scheme.SchemeRegistry;
|
import org.apache.http.conn.scheme.SchemeRegistry;
|
||||||
import org.apache.http.conn.scheme.Scheme;
|
import org.apache.http.conn.scheme.Scheme;
|
||||||
import org.apache.http.conn.ClientConnectionManager;
|
import org.apache.http.conn.ClientConnectionManager;
|
||||||
@@ -189,14 +189,14 @@ public class SSLPerformanceTest extends AndroidTestCase {
|
|||||||
public void testEngineInit() throws IOException, KeyManagementException {
|
public void testEngineInit() throws IOException, KeyManagementException {
|
||||||
Stopwatch stopwatch = new Stopwatch();
|
Stopwatch stopwatch = new Stopwatch();
|
||||||
|
|
||||||
new SSLContextImpl().engineInit(null, null, null);
|
new OpenSSLContextImpl().engineInit(null, null, null);
|
||||||
|
|
||||||
stopwatch.stop();
|
stopwatch.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testWebRequestWithoutCache() throws IOException,
|
public void testWebRequestWithoutCache() throws IOException,
|
||||||
KeyManagementException {
|
KeyManagementException {
|
||||||
SSLContextImpl sslContext = new SSLContextImpl();
|
OpenSSLContextImpl sslContext = new OpenSSLContextImpl();
|
||||||
sslContext.engineInit(null, null, null);
|
sslContext.engineInit(null, null, null);
|
||||||
|
|
||||||
Stopwatch stopwatch = new Stopwatch();
|
Stopwatch stopwatch = new Stopwatch();
|
||||||
@@ -210,7 +210,7 @@ public class SSLPerformanceTest extends AndroidTestCase {
|
|||||||
KeyManagementException {
|
KeyManagementException {
|
||||||
deleteDirectory();
|
deleteDirectory();
|
||||||
|
|
||||||
SSLContextImpl sslContext = new SSLContextImpl();
|
OpenSSLContextImpl sslContext = new OpenSSLContextImpl();
|
||||||
sslContext.engineInit(null, null, null,
|
sslContext.engineInit(null, null, null,
|
||||||
FileClientSessionCache.usingDirectory(getCacheDirectory()),
|
FileClientSessionCache.usingDirectory(getCacheDirectory()),
|
||||||
null);
|
null);
|
||||||
@@ -234,7 +234,7 @@ public class SSLPerformanceTest extends AndroidTestCase {
|
|||||||
KeyManagementException {
|
KeyManagementException {
|
||||||
deleteDirectory();
|
deleteDirectory();
|
||||||
|
|
||||||
SSLContextImpl sslContext = new SSLContextImpl();
|
OpenSSLContextImpl sslContext = new OpenSSLContextImpl();
|
||||||
sslContext.engineInit(null, null, null);
|
sslContext.engineInit(null, null, null);
|
||||||
|
|
||||||
// Make sure www.google.com is in the cache.
|
// Make sure www.google.com is in the cache.
|
||||||
@@ -247,7 +247,7 @@ public class SSLPerformanceTest extends AndroidTestCase {
|
|||||||
stopwatch.stop();
|
stopwatch.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getVerisignDotCom(SSLContextImpl sslContext)
|
private void getVerisignDotCom(OpenSSLContextImpl sslContext)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
SchemeRegistry schemeRegistry = new SchemeRegistry();
|
SchemeRegistry schemeRegistry = new SchemeRegistry();
|
||||||
schemeRegistry.register(new Scheme("https",
|
schemeRegistry.register(new Scheme("https",
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ package android.core;
|
|||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
import org.apache.harmony.xnet.provider.jsse.SSLContextImpl;
|
|
||||||
import org.apache.harmony.xnet.provider.jsse.SSLClientSessionCache;
|
|
||||||
import org.apache.harmony.xnet.provider.jsse.FileClientSessionCache;
|
import org.apache.harmony.xnet.provider.jsse.FileClientSessionCache;
|
||||||
|
import org.apache.harmony.xnet.provider.jsse.OpenSSLContextImpl;
|
||||||
|
import org.apache.harmony.xnet.provider.jsse.SSLClientSessionCache;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
@@ -907,7 +907,7 @@ public class SSLSocketTest extends TestCase {
|
|||||||
*/
|
*/
|
||||||
public void testClientSessionCaching() throws IOException,
|
public void testClientSessionCaching() throws IOException,
|
||||||
KeyManagementException {
|
KeyManagementException {
|
||||||
SSLContextImpl context = new SSLContextImpl();
|
OpenSSLContextImpl context = new OpenSSLContextImpl();
|
||||||
|
|
||||||
// Cache size = 2.
|
// Cache size = 2.
|
||||||
FakeClientSessionCache fakeCache = new FakeClientSessionCache();
|
FakeClientSessionCache fakeCache = new FakeClientSessionCache();
|
||||||
@@ -997,7 +997,7 @@ public class SSLSocketTest extends TestCase {
|
|||||||
|
|
||||||
public void testFileBasedClientSessionCache() throws IOException,
|
public void testFileBasedClientSessionCache() throws IOException,
|
||||||
KeyManagementException {
|
KeyManagementException {
|
||||||
SSLContextImpl context = new SSLContextImpl();
|
OpenSSLContextImpl context = new OpenSSLContextImpl();
|
||||||
String tmpDir = System.getProperty("java.io.tmpdir");
|
String tmpDir = System.getProperty("java.io.tmpdir");
|
||||||
if (tmpDir == null) {
|
if (tmpDir == null) {
|
||||||
fail("Please set 'java.io.tmpdir' system property.");
|
fail("Please set 'java.io.tmpdir' system property.");
|
||||||
|
|||||||
Reference in New Issue
Block a user