| Index: net/http/http_proxy_client_socket_pool_unittest.cc
|
| ===================================================================
|
| --- net/http/http_proxy_client_socket_pool_unittest.cc (revision 117986)
|
| +++ net/http/http_proxy_client_socket_pool_unittest.cc (working copy)
|
| @@ -131,7 +131,9 @@
|
| session_->http_auth_cache(),
|
| session_->http_auth_handler_factory(),
|
| session_->spdy_session_pool(),
|
| - tunnel));
|
| + tunnel,
|
| + base::Bind(&HttpProxyClientSocketPoolTest::OnNeedsProxyAuthCallback,
|
| + base::Unretained(this))));
|
| }
|
|
|
| scoped_refptr<HttpProxySocketParams> GetTunnelParams() {
|
| @@ -191,6 +193,14 @@
|
| return new HttpNetworkSession(params);
|
| }
|
|
|
| + void OnNeedsProxyAuthCallback(const HttpResponseInfo& response_info,
|
| + HttpAuthController* auth_controller,
|
| + CompletionCallback cb) {
|
| + // Don't add any auth, just run the callback
|
| + cb.Run(OK);
|
| + }
|
| +
|
| +
|
| private:
|
| SSLConfig ssl_config_;
|
|
|
| @@ -258,9 +268,21 @@
|
| CreateMockWrite(*req, 0, true),
|
| CreateMockWrite(*rst, 2, true),
|
| };
|
| + static const char* const kAuthChallenge[] = {
|
| + "status", "407 Proxy Authentication Required",
|
| + "version", "HTTP/1.1",
|
| + "proxy-authenticate", "Basic realm=\"MyRealm1\"",
|
| + };
|
| scoped_ptr<spdy::SpdyFrame> resp(
|
| - ConstructSpdySynReplyError(
|
| - "407 Proxy Authentication Required", NULL, 0, 1));
|
| + ConstructSpdyControlFrame(NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + LOWEST,
|
| + spdy::SYN_REPLY,
|
| + spdy::CONTROL_FLAG_NONE,
|
| + kAuthChallenge,
|
| + arraysize(kAuthChallenge)));
|
| MockRead spdy_reads[] = {
|
| CreateMockWrite(*resp, 1, true),
|
| MockRead(true, 0, 3)
|
| @@ -277,21 +299,16 @@
|
| EXPECT_FALSE(handle_.is_initialized());
|
| EXPECT_FALSE(handle_.socket());
|
|
|
| - data_->RunFor(4);
|
| + data_->RunFor(GetParam() == SPDY ? 2 : 4);
|
| rv = callback_.WaitForResult();
|
| + EXPECT_EQ(ERR_PROXY_AUTH_REQUESTED, rv);
|
| + EXPECT_TRUE(handle_.is_initialized());
|
| + ASSERT_TRUE(handle_.socket());
|
| if (GetParam() != SPDY) {
|
| - EXPECT_EQ(ERR_PROXY_AUTH_REQUESTED, rv);
|
| - EXPECT_TRUE(handle_.is_initialized());
|
| - ASSERT_TRUE(handle_.socket());
|
| HttpProxyClientSocket* tunnel_socket =
|
| static_cast<HttpProxyClientSocket*>(handle_.socket());
|
| EXPECT_FALSE(tunnel_socket->IsConnected());
|
| EXPECT_FALSE(tunnel_socket->using_spdy());
|
| - } else {
|
| - // Proxy auth is not really implemented for SPDY yet
|
| - EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, rv);
|
| - EXPECT_FALSE(handle_.is_initialized());
|
| - EXPECT_FALSE(handle_.socket());
|
| }
|
| }
|
|
|
|
|