| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <memory> | 5 #include <memory> |
| 6 #include <utility> | 6 #include <utility> |
| 7 | 7 |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 #include "net/http/http_network_session.h" | 76 #include "net/http/http_network_session.h" |
| 77 #include "net/http/http_request_headers.h" | 77 #include "net/http/http_request_headers.h" |
| 78 #include "net/http/http_response_headers.h" | 78 #include "net/http/http_response_headers.h" |
| 79 #include "net/http/http_util.h" | 79 #include "net/http/http_util.h" |
| 80 #include "net/log/net_log.h" | 80 #include "net/log/net_log.h" |
| 81 #include "net/log/net_log_event_type.h" | 81 #include "net/log/net_log_event_type.h" |
| 82 #include "net/log/test_net_log.h" | 82 #include "net/log/test_net_log.h" |
| 83 #include "net/log/test_net_log_entry.h" | 83 #include "net/log/test_net_log_entry.h" |
| 84 #include "net/log/test_net_log_util.h" | 84 #include "net/log/test_net_log_util.h" |
| 85 #include "net/nqe/external_estimate_provider.h" | 85 #include "net/nqe/external_estimate_provider.h" |
| 86 #include "net/proxy/proxy_server.h" |
| 86 #include "net/proxy/proxy_service.h" | 87 #include "net/proxy/proxy_service.h" |
| 87 #include "net/socket/ssl_client_socket.h" | 88 #include "net/socket/ssl_client_socket.h" |
| 88 #include "net/ssl/channel_id_service.h" | 89 #include "net/ssl/channel_id_service.h" |
| 89 #include "net/ssl/default_channel_id_store.h" | 90 #include "net/ssl/default_channel_id_store.h" |
| 90 #include "net/ssl/ssl_connection_status_flags.h" | 91 #include "net/ssl/ssl_connection_status_flags.h" |
| 91 #include "net/ssl/ssl_server_config.h" | 92 #include "net/ssl/ssl_server_config.h" |
| 92 #include "net/ssl/token_binding.h" | 93 #include "net/ssl/token_binding.h" |
| 93 #include "net/test/cert_test_util.h" | 94 #include "net/test/cert_test_util.h" |
| 94 #include "net/test/embedded_test_server/embedded_test_server.h" | 95 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 95 #include "net/test/embedded_test_server/http_request.h" | 96 #include "net/test/embedded_test_server/http_request.h" |
| (...skipping 2055 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2151 std::unique_ptr<URLRequest> req( | 2152 std::unique_ptr<URLRequest> req( |
| 2152 context.CreateRequest(GURL("http://example.com"), DEFAULT_PRIORITY, &d)); | 2153 context.CreateRequest(GURL("http://example.com"), DEFAULT_PRIORITY, &d)); |
| 2153 req->set_method("GET"); | 2154 req->set_method("GET"); |
| 2154 | 2155 |
| 2155 req->Start(); | 2156 req->Start(); |
| 2156 base::RunLoop().Run(); | 2157 base::RunLoop().Run(); |
| 2157 | 2158 |
| 2158 // Check we see a failed request. | 2159 // Check we see a failed request. |
| 2159 EXPECT_FALSE(req->status().is_success()); | 2160 EXPECT_FALSE(req->status().is_success()); |
| 2160 // The proxy server is not set before failure. | 2161 // The proxy server is not set before failure. |
| 2161 EXPECT_TRUE(req->proxy_server().IsEmpty()); | 2162 EXPECT_FALSE(req->proxy_server().is_valid()); |
| 2162 EXPECT_EQ(URLRequestStatus::FAILED, req->status().status()); | 2163 EXPECT_EQ(URLRequestStatus::FAILED, req->status().status()); |
| 2163 EXPECT_THAT(req->status().error(), IsError(ERR_PROXY_CONNECTION_FAILED)); | 2164 EXPECT_THAT(req->status().error(), IsError(ERR_PROXY_CONNECTION_FAILED)); |
| 2164 | 2165 |
| 2165 EXPECT_EQ(1, network_delegate.error_count()); | 2166 EXPECT_EQ(1, network_delegate.error_count()); |
| 2166 EXPECT_THAT(network_delegate.last_error(), | 2167 EXPECT_THAT(network_delegate.last_error(), |
| 2167 IsError(ERR_PROXY_CONNECTION_FAILED)); | 2168 IsError(ERR_PROXY_CONNECTION_FAILED)); |
| 2168 EXPECT_EQ(1, network_delegate.completed_requests()); | 2169 EXPECT_EQ(1, network_delegate.completed_requests()); |
| 2169 } | 2170 } |
| 2170 | 2171 |
| 2171 // Make sure that NetworkDelegate::NotifyCompleted is called if | 2172 // Make sure that NetworkDelegate::NotifyCompleted is called if |
| (...skipping 1423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3595 { | 3596 { |
| 3596 std::unique_ptr<URLRequest> r(context.CreateRequest( | 3597 std::unique_ptr<URLRequest> r(context.CreateRequest( |
| 3597 GURL("https://www.redirect.com/"), DEFAULT_PRIORITY, &d)); | 3598 GURL("https://www.redirect.com/"), DEFAULT_PRIORITY, &d)); |
| 3598 r->Start(); | 3599 r->Start(); |
| 3599 EXPECT_TRUE(r->is_pending()); | 3600 EXPECT_TRUE(r->is_pending()); |
| 3600 | 3601 |
| 3601 base::RunLoop().Run(); | 3602 base::RunLoop().Run(); |
| 3602 | 3603 |
| 3603 EXPECT_EQ(URLRequestStatus::FAILED, r->status().status()); | 3604 EXPECT_EQ(URLRequestStatus::FAILED, r->status().status()); |
| 3604 // The proxy server is not set before failure. | 3605 // The proxy server is not set before failure. |
| 3605 EXPECT_TRUE(r->proxy_server().IsEmpty()); | 3606 EXPECT_FALSE(r->proxy_server().is_valid()); |
| 3606 EXPECT_THAT(r->status().error(), IsError(ERR_TUNNEL_CONNECTION_FAILED)); | 3607 EXPECT_THAT(r->status().error(), IsError(ERR_TUNNEL_CONNECTION_FAILED)); |
| 3607 EXPECT_EQ(1, d.response_started_count()); | 3608 EXPECT_EQ(1, d.response_started_count()); |
| 3608 // We should not have followed the redirect. | 3609 // We should not have followed the redirect. |
| 3609 EXPECT_EQ(0, d.received_redirect_count()); | 3610 EXPECT_EQ(0, d.received_redirect_count()); |
| 3610 } | 3611 } |
| 3611 } | 3612 } |
| 3612 | 3613 |
| 3613 // This is the same as the previous test, but checks that the network delegate | 3614 // This is the same as the previous test, but checks that the network delegate |
| 3614 // registers the error. | 3615 // registers the error. |
| 3615 TEST_F(URLRequestTestHTTP, NetworkDelegateTunnelConnectionFailed) { | 3616 TEST_F(URLRequestTestHTTP, NetworkDelegateTunnelConnectionFailed) { |
| 3616 ASSERT_TRUE(http_test_server()->Start()); | 3617 ASSERT_TRUE(http_test_server()->Start()); |
| 3617 | 3618 |
| 3618 TestNetworkDelegate network_delegate; // Must outlive URLRequest. | 3619 TestNetworkDelegate network_delegate; // Must outlive URLRequest. |
| 3619 TestURLRequestContextWithProxy context( | 3620 TestURLRequestContextWithProxy context( |
| 3620 http_test_server()->host_port_pair().ToString(), &network_delegate); | 3621 http_test_server()->host_port_pair().ToString(), &network_delegate); |
| 3621 | 3622 |
| 3622 TestDelegate d; | 3623 TestDelegate d; |
| 3623 { | 3624 { |
| 3624 std::unique_ptr<URLRequest> r(context.CreateRequest( | 3625 std::unique_ptr<URLRequest> r(context.CreateRequest( |
| 3625 GURL("https://www.redirect.com/"), DEFAULT_PRIORITY, &d)); | 3626 GURL("https://www.redirect.com/"), DEFAULT_PRIORITY, &d)); |
| 3626 r->Start(); | 3627 r->Start(); |
| 3627 EXPECT_TRUE(r->is_pending()); | 3628 EXPECT_TRUE(r->is_pending()); |
| 3628 | 3629 |
| 3629 base::RunLoop().Run(); | 3630 base::RunLoop().Run(); |
| 3630 | 3631 |
| 3631 EXPECT_EQ(URLRequestStatus::FAILED, r->status().status()); | 3632 EXPECT_EQ(URLRequestStatus::FAILED, r->status().status()); |
| 3632 // The proxy server is not set before failure. | 3633 // The proxy server is not set before failure. |
| 3633 EXPECT_TRUE(r->proxy_server().IsEmpty()); | 3634 EXPECT_FALSE(r->proxy_server().is_valid()); |
| 3634 EXPECT_THAT(r->status().error(), IsError(ERR_TUNNEL_CONNECTION_FAILED)); | 3635 EXPECT_THAT(r->status().error(), IsError(ERR_TUNNEL_CONNECTION_FAILED)); |
| 3635 EXPECT_EQ(1, d.response_started_count()); | 3636 EXPECT_EQ(1, d.response_started_count()); |
| 3636 // We should not have followed the redirect. | 3637 // We should not have followed the redirect. |
| 3637 EXPECT_EQ(0, d.received_redirect_count()); | 3638 EXPECT_EQ(0, d.received_redirect_count()); |
| 3638 | 3639 |
| 3639 EXPECT_EQ(1, network_delegate.error_count()); | 3640 EXPECT_EQ(1, network_delegate.error_count()); |
| 3640 EXPECT_THAT(network_delegate.last_error(), | 3641 EXPECT_THAT(network_delegate.last_error(), |
| 3641 IsError(ERR_TUNNEL_CONNECTION_FAILED)); | 3642 IsError(ERR_TUNNEL_CONNECTION_FAILED)); |
| 3642 } | 3643 } |
| 3643 } | 3644 } |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3700 | 3701 |
| 3701 { | 3702 { |
| 3702 std::unique_ptr<URLRequest> r(context.CreateRequest( | 3703 std::unique_ptr<URLRequest> r(context.CreateRequest( |
| 3703 http_test_server()->GetURL("/"), DEFAULT_PRIORITY, &d)); | 3704 http_test_server()->GetURL("/"), DEFAULT_PRIORITY, &d)); |
| 3704 | 3705 |
| 3705 r->Start(); | 3706 r->Start(); |
| 3706 base::RunLoop().Run(); | 3707 base::RunLoop().Run(); |
| 3707 | 3708 |
| 3708 EXPECT_EQ(URLRequestStatus::FAILED, r->status().status()); | 3709 EXPECT_EQ(URLRequestStatus::FAILED, r->status().status()); |
| 3709 // The proxy server is not set before cancellation. | 3710 // The proxy server is not set before cancellation. |
| 3710 EXPECT_TRUE(r->proxy_server().IsEmpty()); | 3711 EXPECT_FALSE(r->proxy_server().is_valid()); |
| 3711 EXPECT_THAT(r->status().error(), IsError(ERR_EMPTY_RESPONSE)); | 3712 EXPECT_THAT(r->status().error(), IsError(ERR_EMPTY_RESPONSE)); |
| 3712 EXPECT_EQ(1, network_delegate.created_requests()); | 3713 EXPECT_EQ(1, network_delegate.created_requests()); |
| 3713 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 3714 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
| 3714 } | 3715 } |
| 3715 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 3716 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
| 3716 } | 3717 } |
| 3717 | 3718 |
| 3718 // Helper function for NetworkDelegateCancelRequestAsynchronously and | 3719 // Helper function for NetworkDelegateCancelRequestAsynchronously and |
| 3719 // NetworkDelegateCancelRequestSynchronously. Sets up a blocking network | 3720 // NetworkDelegateCancelRequestSynchronously. Sets up a blocking network |
| 3720 // delegate operating in |block_mode| and a request for |url|. It blocks the | 3721 // delegate operating in |block_mode| and a request for |url|. It blocks the |
| (...skipping 12 matching lines...) Expand all Loading... |
| 3733 | 3734 |
| 3734 { | 3735 { |
| 3735 std::unique_ptr<URLRequest> r( | 3736 std::unique_ptr<URLRequest> r( |
| 3736 context.CreateRequest(url, DEFAULT_PRIORITY, &d)); | 3737 context.CreateRequest(url, DEFAULT_PRIORITY, &d)); |
| 3737 | 3738 |
| 3738 r->Start(); | 3739 r->Start(); |
| 3739 base::RunLoop().Run(); | 3740 base::RunLoop().Run(); |
| 3740 | 3741 |
| 3741 EXPECT_EQ(URLRequestStatus::FAILED, r->status().status()); | 3742 EXPECT_EQ(URLRequestStatus::FAILED, r->status().status()); |
| 3742 // The proxy server is not set before cancellation. | 3743 // The proxy server is not set before cancellation. |
| 3743 EXPECT_TRUE(r->proxy_server().IsEmpty()); | 3744 EXPECT_FALSE(r->proxy_server().is_valid()); |
| 3744 EXPECT_THAT(r->status().error(), IsError(ERR_BLOCKED_BY_CLIENT)); | 3745 EXPECT_THAT(r->status().error(), IsError(ERR_BLOCKED_BY_CLIENT)); |
| 3745 EXPECT_EQ(1, network_delegate.created_requests()); | 3746 EXPECT_EQ(1, network_delegate.created_requests()); |
| 3746 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 3747 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
| 3747 } | 3748 } |
| 3748 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 3749 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
| 3749 } | 3750 } |
| 3750 | 3751 |
| 3751 // The following 3 tests check that the network delegate can cancel a request | 3752 // The following 3 tests check that the network delegate can cancel a request |
| 3752 // synchronously in various stages of the request. | 3753 // synchronously in various stages of the request. |
| 3753 TEST_F(URLRequestTestHTTP, NetworkDelegateCancelRequestSynchronously1) { | 3754 TEST_F(URLRequestTestHTTP, NetworkDelegateCancelRequestSynchronously1) { |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3825 EXPECT_EQ(307, r->response_headers()->response_code()); | 3826 EXPECT_EQ(307, r->response_headers()->response_code()); |
| 3826 std::string location; | 3827 std::string location; |
| 3827 ASSERT_TRUE(r->response_headers()->EnumerateHeader(NULL, "Location", | 3828 ASSERT_TRUE(r->response_headers()->EnumerateHeader(NULL, "Location", |
| 3828 &location)); | 3829 &location)); |
| 3829 EXPECT_EQ(redirect_url, GURL(location)); | 3830 EXPECT_EQ(redirect_url, GURL(location)); |
| 3830 | 3831 |
| 3831 // Let the request finish. | 3832 // Let the request finish. |
| 3832 r->FollowDeferredRedirect(); | 3833 r->FollowDeferredRedirect(); |
| 3833 base::RunLoop().Run(); | 3834 base::RunLoop().Run(); |
| 3834 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); | 3835 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); |
| 3835 EXPECT_TRUE(r->proxy_server().Equals(http_test_server()->host_port_pair())); | 3836 EXPECT_EQ(ProxyServer(ProxyServer::SCHEME_HTTP, |
| 3837 http_test_server()->host_port_pair()), |
| 3838 r->proxy_server()); |
| 3836 // before_send_headers_with_proxy_count only increments for headers sent | 3839 // before_send_headers_with_proxy_count only increments for headers sent |
| 3837 // through an untunneled proxy. | 3840 // through an untunneled proxy. |
| 3838 EXPECT_EQ(1, network_delegate.before_send_headers_with_proxy_count()); | 3841 EXPECT_EQ(1, network_delegate.before_send_headers_with_proxy_count()); |
| 3839 EXPECT_TRUE(network_delegate.last_observed_proxy().Equals( | 3842 EXPECT_TRUE(network_delegate.last_observed_proxy().Equals( |
| 3840 http_test_server()->host_port_pair())); | 3843 http_test_server()->host_port_pair())); |
| 3841 | 3844 |
| 3842 EXPECT_EQ(0, r->status().error()); | 3845 EXPECT_EQ(0, r->status().error()); |
| 3843 EXPECT_EQ(redirect_url, r->url()); | 3846 EXPECT_EQ(redirect_url, r->url()); |
| 3844 EXPECT_EQ(original_url, r->original_url()); | 3847 EXPECT_EQ(original_url, r->original_url()); |
| 3845 EXPECT_EQ(2U, r->url_chain().size()); | 3848 EXPECT_EQ(2U, r->url_chain().size()); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3880 std::string location; | 3883 std::string location; |
| 3881 ASSERT_TRUE(r->response_headers()->EnumerateHeader(NULL, "Location", | 3884 ASSERT_TRUE(r->response_headers()->EnumerateHeader(NULL, "Location", |
| 3882 &location)); | 3885 &location)); |
| 3883 EXPECT_EQ(redirect_url, GURL(location)); | 3886 EXPECT_EQ(redirect_url, GURL(location)); |
| 3884 | 3887 |
| 3885 // Let the request finish. | 3888 // Let the request finish. |
| 3886 r->FollowDeferredRedirect(); | 3889 r->FollowDeferredRedirect(); |
| 3887 base::RunLoop().Run(); | 3890 base::RunLoop().Run(); |
| 3888 | 3891 |
| 3889 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); | 3892 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); |
| 3890 EXPECT_TRUE(r->proxy_server().Equals(http_test_server()->host_port_pair())); | 3893 EXPECT_EQ(ProxyServer(ProxyServer::SCHEME_HTTP, |
| 3894 http_test_server()->host_port_pair()), |
| 3895 r->proxy_server()); |
| 3891 // before_send_headers_with_proxy_count only increments for headers sent | 3896 // before_send_headers_with_proxy_count only increments for headers sent |
| 3892 // through an untunneled proxy. | 3897 // through an untunneled proxy. |
| 3893 EXPECT_EQ(1, network_delegate.before_send_headers_with_proxy_count()); | 3898 EXPECT_EQ(1, network_delegate.before_send_headers_with_proxy_count()); |
| 3894 EXPECT_TRUE(network_delegate.last_observed_proxy().Equals( | 3899 EXPECT_TRUE(network_delegate.last_observed_proxy().Equals( |
| 3895 http_test_server()->host_port_pair())); | 3900 http_test_server()->host_port_pair())); |
| 3896 EXPECT_EQ(0, r->status().error()); | 3901 EXPECT_EQ(0, r->status().error()); |
| 3897 EXPECT_EQ(redirect_url, r->url()); | 3902 EXPECT_EQ(redirect_url, r->url()); |
| 3898 EXPECT_EQ(original_url, r->original_url()); | 3903 EXPECT_EQ(original_url, r->original_url()); |
| 3899 EXPECT_EQ(2U, r->url_chain().size()); | 3904 EXPECT_EQ(2U, r->url_chain().size()); |
| 3900 EXPECT_EQ(1, network_delegate.created_requests()); | 3905 EXPECT_EQ(1, network_delegate.created_requests()); |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3979 | 3984 |
| 3980 { | 3985 { |
| 3981 GURL original_url(http_test_server()->GetURL("/defaultresponse")); | 3986 GURL original_url(http_test_server()->GetURL("/defaultresponse")); |
| 3982 std::unique_ptr<URLRequest> r( | 3987 std::unique_ptr<URLRequest> r( |
| 3983 context.CreateRequest(original_url, DEFAULT_PRIORITY, &d)); | 3988 context.CreateRequest(original_url, DEFAULT_PRIORITY, &d)); |
| 3984 | 3989 |
| 3985 r->Start(); | 3990 r->Start(); |
| 3986 base::RunLoop().Run(); | 3991 base::RunLoop().Run(); |
| 3987 | 3992 |
| 3988 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); | 3993 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); |
| 3989 EXPECT_TRUE(r->proxy_server().Equals(http_test_server()->host_port_pair())); | 3994 EXPECT_EQ(ProxyServer(ProxyServer::SCHEME_HTTP, |
| 3995 http_test_server()->host_port_pair()), |
| 3996 r->proxy_server()); |
| 3990 // before_send_headers_with_proxy_count only increments for headers sent | 3997 // before_send_headers_with_proxy_count only increments for headers sent |
| 3991 // through an untunneled proxy. | 3998 // through an untunneled proxy. |
| 3992 EXPECT_EQ(2, network_delegate.before_send_headers_with_proxy_count()); | 3999 EXPECT_EQ(2, network_delegate.before_send_headers_with_proxy_count()); |
| 3993 EXPECT_TRUE(network_delegate.last_observed_proxy().Equals( | 4000 EXPECT_TRUE(network_delegate.last_observed_proxy().Equals( |
| 3994 http_test_server()->host_port_pair())); | 4001 http_test_server()->host_port_pair())); |
| 3995 | 4002 |
| 3996 EXPECT_THAT(r->status().error(), IsOk()); | 4003 EXPECT_THAT(r->status().error(), IsOk()); |
| 3997 EXPECT_EQ(redirect_url, r->url()); | 4004 EXPECT_EQ(redirect_url, r->url()); |
| 3998 EXPECT_EQ(original_url, r->original_url()); | 4005 EXPECT_EQ(original_url, r->original_url()); |
| 3999 EXPECT_EQ(2U, r->url_chain().size()); | 4006 EXPECT_EQ(2U, r->url_chain().size()); |
| (...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4474 std::unique_ptr<URLRequest> r(context.CreateRequest( | 4481 std::unique_ptr<URLRequest> r(context.CreateRequest( |
| 4475 GURL("https://www.server-auth.com/"), DEFAULT_PRIORITY, &d)); | 4482 GURL("https://www.server-auth.com/"), DEFAULT_PRIORITY, &d)); |
| 4476 | 4483 |
| 4477 r->Start(); | 4484 r->Start(); |
| 4478 EXPECT_TRUE(r->is_pending()); | 4485 EXPECT_TRUE(r->is_pending()); |
| 4479 | 4486 |
| 4480 base::RunLoop().Run(); | 4487 base::RunLoop().Run(); |
| 4481 | 4488 |
| 4482 EXPECT_EQ(URLRequestStatus::FAILED, r->status().status()); | 4489 EXPECT_EQ(URLRequestStatus::FAILED, r->status().status()); |
| 4483 // The proxy server is not set before failure. | 4490 // The proxy server is not set before failure. |
| 4484 EXPECT_TRUE(r->proxy_server().IsEmpty()); | 4491 EXPECT_FALSE(r->proxy_server().is_valid()); |
| 4485 EXPECT_THAT(r->status().error(), IsError(ERR_TUNNEL_CONNECTION_FAILED)); | 4492 EXPECT_THAT(r->status().error(), IsError(ERR_TUNNEL_CONNECTION_FAILED)); |
| 4486 } | 4493 } |
| 4487 } | 4494 } |
| 4488 | 4495 |
| 4489 TEST_F(URLRequestTestHTTP, GetTest_NoCache) { | 4496 TEST_F(URLRequestTestHTTP, GetTest_NoCache) { |
| 4490 ASSERT_TRUE(http_test_server()->Start()); | 4497 ASSERT_TRUE(http_test_server()->Start()); |
| 4491 | 4498 |
| 4492 TestDelegate d; | 4499 TestDelegate d; |
| 4493 { | 4500 { |
| 4494 std::unique_ptr<URLRequest> r(default_context_.CreateRequest( | 4501 std::unique_ptr<URLRequest> r(default_context_.CreateRequest( |
| (...skipping 5744 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10239 AddTestInterceptor()->set_main_intercept_job(std::move(job)); | 10246 AddTestInterceptor()->set_main_intercept_job(std::move(job)); |
| 10240 | 10247 |
| 10241 req->Start(); | 10248 req->Start(); |
| 10242 req->Cancel(); | 10249 req->Cancel(); |
| 10243 base::RunLoop().RunUntilIdle(); | 10250 base::RunLoop().RunUntilIdle(); |
| 10244 EXPECT_EQ(URLRequestStatus::CANCELED, req->status().status()); | 10251 EXPECT_EQ(URLRequestStatus::CANCELED, req->status().status()); |
| 10245 EXPECT_EQ(0, d.received_redirect_count()); | 10252 EXPECT_EQ(0, d.received_redirect_count()); |
| 10246 } | 10253 } |
| 10247 | 10254 |
| 10248 } // namespace net | 10255 } // namespace net |
| OLD | NEW |