| 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 25 matching lines...) Expand all Loading... |
| 36 #include "base/power_monitor/power_monitor_source.h" | 36 #include "base/power_monitor/power_monitor_source.h" |
| 37 #include "base/run_loop.h" | 37 #include "base/run_loop.h" |
| 38 #include "base/single_thread_task_runner.h" | 38 #include "base/single_thread_task_runner.h" |
| 39 #include "base/strings/string_number_conversions.h" | 39 #include "base/strings/string_number_conversions.h" |
| 40 #include "base/strings/string_piece.h" | 40 #include "base/strings/string_piece.h" |
| 41 #include "base/strings/string_split.h" | 41 #include "base/strings/string_split.h" |
| 42 #include "base/strings/string_util.h" | 42 #include "base/strings/string_util.h" |
| 43 #include "base/strings/stringprintf.h" | 43 #include "base/strings/stringprintf.h" |
| 44 #include "base/strings/utf_string_conversions.h" | 44 #include "base/strings/utf_string_conversions.h" |
| 45 #include "base/test/histogram_tester.h" | 45 #include "base/test/histogram_tester.h" |
| 46 #include "base/test/scoped_async_task_scheduler.h" |
| 46 #include "base/test/scoped_task_scheduler.h" | 47 #include "base/test/scoped_task_scheduler.h" |
| 47 #include "base/threading/thread_task_runner_handle.h" | 48 #include "base/threading/thread_task_runner_handle.h" |
| 48 #include "base/values.h" | 49 #include "base/values.h" |
| 49 #include "net/base/chunked_upload_data_stream.h" | 50 #include "net/base/chunked_upload_data_stream.h" |
| 50 #include "net/base/directory_listing.h" | 51 #include "net/base/directory_listing.h" |
| 51 #include "net/base/elements_upload_data_stream.h" | 52 #include "net/base/elements_upload_data_stream.h" |
| 52 #include "net/base/load_flags.h" | 53 #include "net/base/load_flags.h" |
| 53 #include "net/base/load_timing_info.h" | 54 #include "net/base/load_timing_info.h" |
| 54 #include "net/base/load_timing_info_test_util.h" | 55 #include "net/base/load_timing_info_test_util.h" |
| 55 #include "net/base/net_errors.h" | 56 #include "net/base/net_errors.h" |
| (...skipping 708 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 764 private: | 765 private: |
| 765 bool on_ssl_certificate_error_called_ = false; | 766 bool on_ssl_certificate_error_called_ = false; |
| 766 SSLInfo ssl_info_; | 767 SSLInfo ssl_info_; |
| 767 }; | 768 }; |
| 768 | 769 |
| 769 } // namespace | 770 } // namespace |
| 770 | 771 |
| 771 // Inherit PlatformTest since we require the autorelease pool on Mac OS X. | 772 // Inherit PlatformTest since we require the autorelease pool on Mac OS X. |
| 772 class URLRequestTest : public PlatformTest { | 773 class URLRequestTest : public PlatformTest { |
| 773 public: | 774 public: |
| 774 URLRequestTest() : default_context_(true) { | 775 URLRequestTest() |
| 776 : scoped_task_scheduler_(base::MessageLoop::current()), |
| 777 default_context_(true) { |
| 775 default_context_.set_network_delegate(&default_network_delegate_); | 778 default_context_.set_network_delegate(&default_network_delegate_); |
| 776 default_context_.set_net_log(&net_log_); | 779 default_context_.set_net_log(&net_log_); |
| 777 job_factory_impl_ = new URLRequestJobFactoryImpl(); | 780 job_factory_impl_ = new URLRequestJobFactoryImpl(); |
| 778 job_factory_.reset(job_factory_impl_); | 781 job_factory_.reset(job_factory_impl_); |
| 779 } | 782 } |
| 780 | 783 |
| 781 ~URLRequestTest() override { | 784 ~URLRequestTest() override { |
| 782 // URLRequestJobs may post clean-up tasks on destruction. | 785 // URLRequestJobs may post clean-up tasks on destruction. |
| 783 base::RunLoop().RunUntilIdle(); | 786 base::RunLoop().RunUntilIdle(); |
| 784 } | 787 } |
| (...skipping 27 matching lines...) Expand all Loading... |
| 812 // Adds the TestJobInterceptor to the default context. | 815 // Adds the TestJobInterceptor to the default context. |
| 813 TestJobInterceptor* AddTestInterceptor() { | 816 TestJobInterceptor* AddTestInterceptor() { |
| 814 TestJobInterceptor* protocol_handler_ = new TestJobInterceptor(); | 817 TestJobInterceptor* protocol_handler_ = new TestJobInterceptor(); |
| 815 job_factory_impl_->SetProtocolHandler("http", nullptr); | 818 job_factory_impl_->SetProtocolHandler("http", nullptr); |
| 816 job_factory_impl_->SetProtocolHandler("http", | 819 job_factory_impl_->SetProtocolHandler("http", |
| 817 base::WrapUnique(protocol_handler_)); | 820 base::WrapUnique(protocol_handler_)); |
| 818 return protocol_handler_; | 821 return protocol_handler_; |
| 819 } | 822 } |
| 820 | 823 |
| 821 protected: | 824 protected: |
| 825 // Required by ChannelIDService and MultiThreadedCertVerifier. |
| 826 base::test::ScopedTaskScheduler scoped_task_scheduler_; |
| 822 TestNetLog net_log_; | 827 TestNetLog net_log_; |
| 823 TestNetworkDelegate default_network_delegate_; // Must outlive URLRequest. | 828 TestNetworkDelegate default_network_delegate_; // Must outlive URLRequest. |
| 824 URLRequestJobFactoryImpl* job_factory_impl_; | 829 URLRequestJobFactoryImpl* job_factory_impl_; |
| 825 std::unique_ptr<URLRequestJobFactory> job_factory_; | 830 std::unique_ptr<URLRequestJobFactory> job_factory_; |
| 826 TestURLRequestContext default_context_; | 831 TestURLRequestContext default_context_; |
| 827 }; | 832 }; |
| 828 | 833 |
| 829 TEST_F(URLRequestTest, AboutBlankTest) { | 834 TEST_F(URLRequestTest, AboutBlankTest) { |
| 830 TestDelegate d; | 835 TestDelegate d; |
| 831 { | 836 { |
| (...skipping 2605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3437 const bool online_rev_checking_; | 3442 const bool online_rev_checking_; |
| 3438 const bool rev_checking_required_local_anchors_; | 3443 const bool rev_checking_required_local_anchors_; |
| 3439 const bool token_binding_enabled_; | 3444 const bool token_binding_enabled_; |
| 3440 uint16_t min_version_; | 3445 uint16_t min_version_; |
| 3441 }; | 3446 }; |
| 3442 | 3447 |
| 3443 // TODO(svaldez): Update tests to use EmbeddedTestServer. | 3448 // TODO(svaldez): Update tests to use EmbeddedTestServer. |
| 3444 #if !defined(OS_IOS) | 3449 #if !defined(OS_IOS) |
| 3445 class TokenBindingURLRequestTest : public URLRequestTestHTTP { | 3450 class TokenBindingURLRequestTest : public URLRequestTestHTTP { |
| 3446 public: | 3451 public: |
| 3447 TokenBindingURLRequestTest() | 3452 TokenBindingURLRequestTest() = default; |
| 3448 : scoped_task_scheduler_(base::MessageLoop::current()) {} | |
| 3449 | 3453 |
| 3450 void SetUp() override { | 3454 void SetUp() override { |
| 3451 default_context_.set_ssl_config_service( | 3455 default_context_.set_ssl_config_service( |
| 3452 new TestSSLConfigService(false, false, false, true)); | 3456 new TestSSLConfigService(false, false, false, true)); |
| 3453 channel_id_service_.reset( | 3457 channel_id_service_.reset( |
| 3454 new ChannelIDService(new DefaultChannelIDStore(NULL))); | 3458 new ChannelIDService(new DefaultChannelIDStore(NULL))); |
| 3455 default_context_.set_channel_id_service(channel_id_service_.get()); | 3459 default_context_.set_channel_id_service(channel_id_service_.get()); |
| 3456 URLRequestTestHTTP::SetUp(); | 3460 URLRequestTestHTTP::SetUp(); |
| 3457 } | 3461 } |
| 3458 | 3462 |
| 3459 protected: | 3463 protected: |
| 3460 // Required by ChannelIDService. | |
| 3461 base::test::ScopedTaskScheduler scoped_task_scheduler_; | |
| 3462 std::unique_ptr<ChannelIDService> channel_id_service_; | 3464 std::unique_ptr<ChannelIDService> channel_id_service_; |
| 3463 }; | 3465 }; |
| 3464 | 3466 |
| 3465 TEST_F(TokenBindingURLRequestTest, TokenBindingTest) { | 3467 TEST_F(TokenBindingURLRequestTest, TokenBindingTest) { |
| 3466 SpawnedTestServer::SSLOptions ssl_options; | 3468 SpawnedTestServer::SSLOptions ssl_options; |
| 3467 ssl_options.supported_token_binding_params.push_back(TB_PARAM_ECDSAP256); | 3469 ssl_options.supported_token_binding_params.push_back(TB_PARAM_ECDSAP256); |
| 3468 SpawnedTestServer https_test_server(SpawnedTestServer::TYPE_HTTPS, | 3470 SpawnedTestServer https_test_server(SpawnedTestServer::TYPE_HTTPS, |
| 3469 ssl_options, | 3471 ssl_options, |
| 3470 base::FilePath(kTestFilePath)); | 3472 base::FilePath(kTestFilePath)); |
| 3471 ASSERT_TRUE(https_test_server.Start()); | 3473 ASSERT_TRUE(https_test_server.Start()); |
| (...skipping 5058 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8530 origin_server()->GetURL("/path/to/file.html"), | 8532 origin_server()->GetURL("/path/to/file.html"), |
| 8531 origin_server()->GetURL("/")); | 8533 origin_server()->GetURL("/")); |
| 8532 | 8534 |
| 8533 VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, | 8535 VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, |
| 8534 origin_server()->GetURL("/path/to/file.html"), | 8536 origin_server()->GetURL("/path/to/file.html"), |
| 8535 origin_server()->GetURL("/path/to/file.html")); | 8537 origin_server()->GetURL("/path/to/file.html")); |
| 8536 } | 8538 } |
| 8537 | 8539 |
| 8538 class HTTPSRequestTest : public testing::Test { | 8540 class HTTPSRequestTest : public testing::Test { |
| 8539 public: | 8541 public: |
| 8540 HTTPSRequestTest() | 8542 HTTPSRequestTest() : default_context_(true) { |
| 8541 : scoped_task_scheduler_(base::MessageLoop::current()), | |
| 8542 default_context_(true) { | |
| 8543 default_context_.set_network_delegate(&default_network_delegate_); | 8543 default_context_.set_network_delegate(&default_network_delegate_); |
| 8544 default_context_.Init(); | 8544 default_context_.Init(); |
| 8545 } | 8545 } |
| 8546 ~HTTPSRequestTest() override {} | 8546 ~HTTPSRequestTest() override {} |
| 8547 | 8547 |
| 8548 protected: | 8548 protected: |
| 8549 // Required by ChannelIDService. | 8549 // Required by ChannelIDService and MultiThreadedCertVerifier. Needs to be a |
| 8550 base::test::ScopedTaskScheduler scoped_task_scheduler_; | 8550 // ScopedAsyncTaskScheduler rather than a ScopedTaskScheduler because the task |
| 8551 // posted by MultiThreadedCertVerifier synchronously waits for a task running |
| 8552 // on the main thread (OCSPRequestSession::Wait). |
| 8553 base::test::ScopedAsyncTaskScheduler scoped_async_task_scheduler_; |
| 8554 |
| 8555 protected: |
| 8551 TestNetworkDelegate default_network_delegate_; // Must outlive URLRequest. | 8556 TestNetworkDelegate default_network_delegate_; // Must outlive URLRequest. |
| 8552 TestURLRequestContext default_context_; | 8557 TestURLRequestContext default_context_; |
| 8553 }; | 8558 }; |
| 8554 | 8559 |
| 8555 TEST_F(HTTPSRequestTest, HTTPSGetTest) { | 8560 TEST_F(HTTPSRequestTest, HTTPSGetTest) { |
| 8556 EmbeddedTestServer test_server(net::EmbeddedTestServer::TYPE_HTTPS); | 8561 EmbeddedTestServer test_server(net::EmbeddedTestServer::TYPE_HTTPS); |
| 8557 test_server.AddDefaultHandlers( | 8562 test_server.AddDefaultHandlers( |
| 8558 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 8563 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
| 8559 ASSERT_TRUE(test_server.Start()); | 8564 ASSERT_TRUE(test_server.Start()); |
| 8560 | 8565 |
| (...skipping 2179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10740 AddTestInterceptor()->set_main_intercept_job(std::move(job)); | 10745 AddTestInterceptor()->set_main_intercept_job(std::move(job)); |
| 10741 | 10746 |
| 10742 req->Start(); | 10747 req->Start(); |
| 10743 req->Cancel(); | 10748 req->Cancel(); |
| 10744 base::RunLoop().RunUntilIdle(); | 10749 base::RunLoop().RunUntilIdle(); |
| 10745 EXPECT_EQ(ERR_ABORTED, d.request_status()); | 10750 EXPECT_EQ(ERR_ABORTED, d.request_status()); |
| 10746 EXPECT_EQ(0, d.received_redirect_count()); | 10751 EXPECT_EQ(0, d.received_redirect_count()); |
| 10747 } | 10752 } |
| 10748 | 10753 |
| 10749 } // namespace net | 10754 } // namespace net |
| OLD | NEW |