summaryrefslogtreecommitdiffstats
path: root/net/http/http_network_transaction_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/http/http_network_transaction_unittest.cc')
-rw-r--r--net/http/http_network_transaction_unittest.cc55
1 files changed, 35 insertions, 20 deletions
diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc
index 68a643e..903f6d9 100644
--- a/net/http/http_network_transaction_unittest.cc
+++ b/net/http/http_network_transaction_unittest.cc
@@ -200,15 +200,13 @@ class MockClientSocketFactory : public net::ClientSocketFactory {
MockClientSocketFactory mock_socket_factory;
-net::HttpNetworkSession* CreateSession(net::ProxyResolver* proxy_resolver) {
- if (!proxy_resolver) {
- proxy_resolver = new net::ProxyResolverNull();
- }
- return new net::HttpNetworkSession(proxy_resolver);
+// Create a proxy service which fails on all requests (falls back to direct).
+net::ProxyService* CreateNullProxyService() {
+ return new net::ProxyService(new net::ProxyResolverNull);
}
-net::HttpNetworkSession* CreateSession() {
- return CreateSession(NULL);
+net::HttpNetworkSession* CreateSession(net::ProxyService* proxy_service) {
+ return new net::HttpNetworkSession(proxy_service);
}
class HttpNetworkTransactionTest : public PlatformTest {
@@ -238,8 +236,9 @@ struct SimpleGetHelperResult {
SimpleGetHelperResult SimpleGetHelper(MockRead data_reads[]) {
SimpleGetHelperResult out;
+ scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
- CreateSession(), &mock_socket_factory));
+ CreateSession(proxy_service.get()), &mock_socket_factory));
net::HttpRequestInfo request;
request.method = "GET";
@@ -290,8 +289,9 @@ void FillLargeHeadersString(std::string* str, int size) {
//-----------------------------------------------------------------------------
TEST_F(HttpNetworkTransactionTest, Basic) {
+ scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
- CreateSession(), &mock_socket_factory));
+ CreateSession(proxy_service.get()), &mock_socket_factory));
}
TEST_F(HttpNetworkTransactionTest, SimpleGET) {
@@ -398,7 +398,9 @@ TEST_F(HttpNetworkTransactionTest, StopsReading204) {
}
TEST_F(HttpNetworkTransactionTest, ReuseConnection) {
- scoped_refptr<net::HttpNetworkSession> session = CreateSession();
+ scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
+ scoped_refptr<net::HttpNetworkSession> session =
+ CreateSession(proxy_service.get());
MockRead data_reads[] = {
MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"),
@@ -447,8 +449,9 @@ TEST_F(HttpNetworkTransactionTest, ReuseConnection) {
}
TEST_F(HttpNetworkTransactionTest, Ignores100) {
+ scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
- CreateSession(), &mock_socket_factory));
+ CreateSession(proxy_service.get()), &mock_socket_factory));
net::HttpRequestInfo request;
request.method = "POST";
@@ -492,7 +495,9 @@ TEST_F(HttpNetworkTransactionTest, Ignores100) {
// transaction to resend the request.
void HttpNetworkTransactionTest::KeepAliveConnectionResendRequestTest(
const MockRead& read_failure) {
- scoped_refptr<net::HttpNetworkSession> session = CreateSession();
+ scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
+ scoped_refptr<net::HttpNetworkSession> session =
+ CreateSession(proxy_service.get());
net::HttpRequestInfo request;
request.method = "GET";
@@ -557,8 +562,9 @@ TEST_F(HttpNetworkTransactionTest, KeepAliveConnectionEOF) {
}
TEST_F(HttpNetworkTransactionTest, NonKeepAliveConnectionReset) {
+ scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
- CreateSession(), &mock_socket_factory));
+ CreateSession(proxy_service.get()), &mock_socket_factory));
net::HttpRequestInfo request;
request.method = "GET";
@@ -611,8 +617,9 @@ TEST_F(HttpNetworkTransactionTest, NonKeepAliveConnectionEOF) {
// Test the request-challenge-retry sequence for basic auth.
// (basic auth is the easiest to mock, because it has no randomness).
TEST_F(HttpNetworkTransactionTest, BasicAuth) {
+ scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
- CreateSession(), &mock_socket_factory));
+ CreateSession(proxy_service.get()), &mock_socket_factory));
net::HttpRequestInfo request;
request.method = "GET";
@@ -704,10 +711,11 @@ TEST_F(HttpNetworkTransactionTest, BasicAuth) {
TEST_F(HttpNetworkTransactionTest, BasicAuthProxyThenServer) {
net::ProxyInfo proxy_info;
proxy_info.UseNamedProxy("myproxy:70");
+ net::ProxyService proxy_service(new net::ProxyResolverFixed(proxy_info));
// Configure against proxy server "myproxy:70".
scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
- CreateSession(new net::ProxyResolverFixed(proxy_info)),
+ CreateSession(&proxy_service),
&mock_socket_factory));
net::HttpRequestInfo request;
@@ -840,8 +848,9 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthProxyThenServer) {
// After some maximum number of bytes is consumed, the transaction should
// fail with ERR_RESPONSE_HEADERS_TOO_BIG.
TEST_F(HttpNetworkTransactionTest, LargeHeadersNoBody) {
+ scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
- CreateSession(), &mock_socket_factory));
+ CreateSession(proxy_service.get()), &mock_socket_factory));
net::HttpRequestInfo request;
request.method = "GET";
@@ -882,9 +891,10 @@ TEST_F(HttpNetworkTransactionTest, DontRecycleTCPSocketForSSLTunnel) {
// Configure against proxy server "myproxy:70".
net::ProxyInfo proxy_info;
proxy_info.UseNamedProxy("myproxy:70");
+ net::ProxyService proxy_service(new net::ProxyResolverFixed(proxy_info));
scoped_refptr<net::HttpNetworkSession> session(
- CreateSession(new net::ProxyResolverFixed(proxy_info)));
+ CreateSession(&proxy_service));
scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
session.get(), &mock_socket_factory));
@@ -961,7 +971,9 @@ TEST_F(HttpNetworkTransactionTest, ResendRequestOnWriteBodyError) {
request[1].upload_data->AppendBytes("foo", 3);
request[1].load_flags = 0;
- scoped_refptr<net::HttpNetworkSession> session = CreateSession();
+ scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
+ scoped_refptr<net::HttpNetworkSession> session =
+ CreateSession(proxy_service.get());
// The first socket is used for transaction 1 and the first attempt of
// transaction 2.
@@ -1037,8 +1049,9 @@ TEST_F(HttpNetworkTransactionTest, ResendRequestOnWriteBodyError) {
// an identity in the URL. The request should be sent as normal, but when
// it fails the identity from the URL is used to answer the challenge.
TEST_F(HttpNetworkTransactionTest, AuthIdentityInUrl) {
+ scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
- CreateSession(), &mock_socket_factory));
+ CreateSession(proxy_service.get()), &mock_socket_factory));
net::HttpRequestInfo request;
request.method = "GET";
@@ -1106,7 +1119,9 @@ TEST_F(HttpNetworkTransactionTest, AuthIdentityInUrl) {
// Test that previously tried username/passwords for a realm get re-used.
TEST_F(HttpNetworkTransactionTest, BasicAuthCacheAndPreauth) {
- scoped_refptr<net::HttpNetworkSession> session = CreateSession();
+ scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
+ scoped_refptr<net::HttpNetworkSession> session =
+ CreateSession(proxy_service.get());
// Transaction 1: authenticate (foo, bar) on MyRealm1
{