diff options
Diffstat (limited to 'net/http/http_network_transaction_unittest.cc')
-rw-r--r-- | net/http/http_network_transaction_unittest.cc | 55 |
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 { |