Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(301)

Side by Side Diff: content/browser/loader/resource_loader_unittest.cc

Issue 2596983003: Use net::TestNetworkQualityEstimator in resource loader unittests (Closed)
Patch Set: Rebased, bengr comments Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "content/browser/loader/resource_loader.h" 5 #include "content/browser/loader/resource_loader.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <deque> 10 #include <deque>
(...skipping 27 matching lines...) Expand all
38 #include "content/test/test_web_contents.h" 38 #include "content/test/test_web_contents.h"
39 #include "ipc/ipc_message.h" 39 #include "ipc/ipc_message.h"
40 #include "net/base/chunked_upload_data_stream.h" 40 #include "net/base/chunked_upload_data_stream.h"
41 #include "net/base/io_buffer.h" 41 #include "net/base/io_buffer.h"
42 #include "net/base/mock_file_stream.h" 42 #include "net/base/mock_file_stream.h"
43 #include "net/base/net_errors.h" 43 #include "net/base/net_errors.h"
44 #include "net/base/request_priority.h" 44 #include "net/base/request_priority.h"
45 #include "net/base/upload_bytes_element_reader.h" 45 #include "net/base/upload_bytes_element_reader.h"
46 #include "net/cert/x509_certificate.h" 46 #include "net/cert/x509_certificate.h"
47 #include "net/nqe/effective_connection_type.h" 47 #include "net/nqe/effective_connection_type.h"
48 #include "net/nqe/network_quality_estimator.h" 48 #include "net/nqe/network_quality_estimator_test_util.h"
49 #include "net/ssl/client_cert_store.h" 49 #include "net/ssl/client_cert_store.h"
50 #include "net/ssl/ssl_cert_request_info.h" 50 #include "net/ssl/ssl_cert_request_info.h"
51 #include "net/ssl/ssl_private_key.h" 51 #include "net/ssl/ssl_private_key.h"
52 #include "net/test/cert_test_util.h" 52 #include "net/test/cert_test_util.h"
53 #include "net/test/embedded_test_server/embedded_test_server.h" 53 #include "net/test/embedded_test_server/embedded_test_server.h"
54 #include "net/test/test_data_directory.h" 54 #include "net/test/test_data_directory.h"
55 #include "net/test/url_request/url_request_failed_job.h" 55 #include "net/test/url_request/url_request_failed_job.h"
56 #include "net/url_request/url_request.h" 56 #include "net/url_request/url_request.h"
57 #include "net/url_request/url_request_filter.h" 57 #include "net/url_request/url_request_filter.h"
58 #include "net/url_request/url_request_interceptor.h" 58 #include "net/url_request/url_request_interceptor.h"
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 base::File::Error error, 354 base::File::Error error,
355 const CreateTemporaryFileStreamCallback& callback) { 355 const CreateTemporaryFileStreamCallback& callback) {
356 base::ThreadTaskRunnerHandle::Get()->PostTask( 356 base::ThreadTaskRunnerHandle::Get()->PostTask(
357 FROM_HERE, 357 FROM_HERE,
358 base::Bind(callback, error, 358 base::Bind(callback, error,
359 base::Passed(std::unique_ptr<net::FileStream>()), nullptr)); 359 base::Passed(std::unique_ptr<net::FileStream>()), nullptr));
360 } 360 }
361 361
362 } // namespace 362 } // namespace
363 363
364 class TestNetworkQualityEstimator : public net::NetworkQualityEstimator {
365 public:
366 TestNetworkQualityEstimator()
367 : net::NetworkQualityEstimator(nullptr,
368 std::map<std::string, std::string>()),
369 type_(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN) {}
370 ~TestNetworkQualityEstimator() override {}
371
372 net::EffectiveConnectionType GetEffectiveConnectionType() const override {
373 return type_;
374 }
375
376 void set_effective_connection_type(net::EffectiveConnectionType type) {
377 type_ = type;
378 }
379
380 private:
381 net::EffectiveConnectionType type_;
382
383 DISALLOW_COPY_AND_ASSIGN(TestNetworkQualityEstimator);
384 };
385
386 class ResourceLoaderTest : public testing::Test, 364 class ResourceLoaderTest : public testing::Test,
387 public ResourceLoaderDelegate { 365 public ResourceLoaderDelegate {
388 protected: 366 protected:
389 ResourceLoaderTest() 367 ResourceLoaderTest()
390 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP), 368 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP),
391 test_url_request_context_(true), 369 test_url_request_context_(true),
392 resource_context_(&test_url_request_context_), 370 resource_context_(&test_url_request_context_),
393 raw_ptr_resource_handler_(NULL), 371 raw_ptr_resource_handler_(NULL),
394 raw_ptr_to_request_(NULL) { 372 raw_ptr_to_request_(NULL) {
395 test_url_request_context_.set_job_factory(&job_factory_); 373 test_url_request_context_.set_job_factory(&job_factory_);
(...skipping 14 matching lines...) Expand all
410 // URL that redirects to test_sync_url(). The ResourceLoader is set up to 388 // URL that redirects to test_sync_url(). The ResourceLoader is set up to
411 // use this URL by default. 389 // use this URL by default.
412 GURL test_redirect_url() const { 390 GURL test_redirect_url() const {
413 return net::URLRequestTestJob::test_url_redirect_to_url_1(); 391 return net::URLRequestTestJob::test_url_redirect_to_url_1();
414 } 392 }
415 393
416 std::string test_data() const { 394 std::string test_data() const {
417 return net::URLRequestTestJob::test_data_1(); 395 return net::URLRequestTestJob::test_data_1();
418 } 396 }
419 397
420 TestNetworkQualityEstimator* network_quality_estimator() { 398 net::TestNetworkQualityEstimator* network_quality_estimator() {
421 return &network_quality_estimator_; 399 return &network_quality_estimator_;
422 } 400 }
423 401
424 virtual std::unique_ptr<net::URLRequestJobFactory::ProtocolHandler> 402 virtual std::unique_ptr<net::URLRequestJobFactory::ProtocolHandler>
425 CreateProtocolHandler() { 403 CreateProtocolHandler() {
426 return net::URLRequestTestJob::CreateProtocolHandler(); 404 return net::URLRequestTestJob::CreateProtocolHandler();
427 } 405 }
428 406
429 virtual std::unique_ptr<ResourceHandler> WrapResourceHandler( 407 virtual std::unique_ptr<ResourceHandler> WrapResourceHandler(
430 std::unique_ptr<TestResourceHandler> leaf_handler, 408 std::unique_ptr<TestResourceHandler> leaf_handler,
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 int did_receive_response_ = 0; 540 int did_receive_response_ = 0;
563 int did_finish_loading_ = 0; 541 int did_finish_loading_ = 0;
564 int handle_external_protocol_ = 0; 542 int handle_external_protocol_ = 0;
565 543
566 // Allows controlling the return values of sequential calls to 544 // Allows controlling the return values of sequential calls to
567 // HandleExternalProtocol. Values are removed by the measure they are used 545 // HandleExternalProtocol. Values are removed by the measure they are used
568 // but the last one which is used for all following calls. 546 // but the last one which is used for all following calls.
569 std::deque<bool> handle_external_protocol_results_{false}; 547 std::deque<bool> handle_external_protocol_results_{false};
570 548
571 net::URLRequestJobFactoryImpl job_factory_; 549 net::URLRequestJobFactoryImpl job_factory_;
572 TestNetworkQualityEstimator network_quality_estimator_; 550 net::TestNetworkQualityEstimator network_quality_estimator_;
573 net::TestURLRequestContext test_url_request_context_; 551 net::TestURLRequestContext test_url_request_context_;
574 MockResourceContext resource_context_; 552 MockResourceContext resource_context_;
575 std::unique_ptr<TestBrowserContext> browser_context_; 553 std::unique_ptr<TestBrowserContext> browser_context_;
576 std::unique_ptr<TestWebContents> web_contents_; 554 std::unique_ptr<TestWebContents> web_contents_;
577 std::unique_ptr<net::ClientCertStore> dummy_cert_store_; 555 std::unique_ptr<net::ClientCertStore> dummy_cert_store_;
578 556
579 // The ResourceLoader owns the URLRequest and the ResourceHandler. 557 // The ResourceLoader owns the URLRequest and the ResourceHandler.
580 TestResourceHandler* raw_ptr_resource_handler_; 558 TestResourceHandler* raw_ptr_resource_handler_;
581 net::URLRequest* raw_ptr_to_request_; 559 net::URLRequest* raw_ptr_to_request_;
582 std::unique_ptr<ResourceLoader> loader_; 560 std::unique_ptr<ResourceLoader> loader_;
(...skipping 1158 matching lines...) Expand 10 before | Expand all | Expand 10 after
1741 1719
1742 // Tests that the effective connection type is not set on non-main frame 1720 // Tests that the effective connection type is not set on non-main frame
1743 // requests. 1721 // requests.
1744 TEST_F(EffectiveConnectionTypeResourceLoaderTest, DoesNotBelongToMainFrame) { 1722 TEST_F(EffectiveConnectionTypeResourceLoaderTest, DoesNotBelongToMainFrame) {
1745 VerifyEffectiveConnectionType(RESOURCE_TYPE_OBJECT, false, 1723 VerifyEffectiveConnectionType(RESOURCE_TYPE_OBJECT, false,
1746 net::EFFECTIVE_CONNECTION_TYPE_3G, 1724 net::EFFECTIVE_CONNECTION_TYPE_3G,
1747 net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN); 1725 net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN);
1748 } 1726 }
1749 1727
1750 } // namespace content 1728 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698