diff options
author | rsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-04 17:34:15 +0000 |
---|---|---|
committer | rsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-04 17:34:15 +0000 |
commit | 61a6ba3f707e431f607ae71280c752854f1081d8 (patch) | |
tree | 345cef8f9235a96e84e612572d19e542807485d0 /components | |
parent | 4f03a4f75217e698c5b71323424d7a4b178e079e (diff) | |
download | chromium_src-61a6ba3f707e431f607ae71280c752854f1081d8.zip chromium_src-61a6ba3f707e431f607ae71280c752854f1081d8.tar.gz chromium_src-61a6ba3f707e431f607ae71280c752854f1081d8.tar.bz2 |
[sync] Allow FakeURLFetcher to return arbitrary HTTP response codes
As of today, FakeURLFetcher takes a boolean "success" parameter, and
returns one of two HTTP response codes: 200 for success and 500 for
failure.
In order to write sync tests for auth errors, we need to be able to fake
arbitrary HTTP response codes.
This patch modifies FakeURLFetcher to return arbitrary HTTP response
codes and fixes all existing call sites. Tests that return arbitrary
error codes will be added in a separate CL.
R=achuith@chromium.org, ajwong@chromium.org, akalin@chromium.org, bengr@chromium.org, nyquist@chromium.org, sergeyu@chromium.org, vitalybuka@chromium.org
TBR=battre, mattm, sky, stevenjb, tim
BUG=313905
TEST=All existing tests pass trybots and waterfall
Review URL: https://codereview.chromium.org/48713008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232724 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'components')
-rw-r--r-- | components/dom_distiller/core/distiller_url_fetcher_unittest.cc | 7 | ||||
-rw-r--r-- | components/precache/core/precache_fetcher_unittest.cc | 46 |
2 files changed, 35 insertions, 18 deletions
diff --git a/components/dom_distiller/core/distiller_url_fetcher_unittest.cc b/components/dom_distiller/core/distiller_url_fetcher_unittest.cc index 58e58c2..8dddd2f 100644 --- a/components/dom_distiller/core/distiller_url_fetcher_unittest.cc +++ b/components/dom_distiller/core/distiller_url_fetcher_unittest.cc @@ -6,6 +6,7 @@ #include "base/bind_helpers.h" #include "base/message_loop/message_loop.h" #include "components/dom_distiller/core/distiller_url_fetcher.h" +#include "net/http/http_status_code.h" #include "net/url_request/test_url_fetcher_factory.h" #include "net/url_request/url_fetcher.h" #include "net/url_request/url_request_context_getter.h" @@ -31,10 +32,12 @@ public: factory_.reset(new net::FakeURLFetcherFactory(NULL)); factory_->SetFakeResponse( GURL(kTestPageA), - std::string(kTestPageAResponse, sizeof(kTestPageAResponse)), true); + std::string(kTestPageAResponse, sizeof(kTestPageAResponse)), + net::HTTP_OK); factory_->SetFakeResponse( GURL(kTestPageB), - std::string(kTestPageBResponse, sizeof(kTestPageBResponse)), false); + std::string(kTestPageBResponse, sizeof(kTestPageBResponse)), + net::HTTP_INTERNAL_SERVER_ERROR); } void Fetch(const std::string& url, diff --git a/components/precache/core/precache_fetcher_unittest.cc b/components/precache/core/precache_fetcher_unittest.cc index da2bdca..e2fe2ad 100644 --- a/components/precache/core/precache_fetcher_unittest.cc +++ b/components/precache/core/precache_fetcher_unittest.cc @@ -17,6 +17,7 @@ #include "components/precache/core/precache_switches.h" #include "components/precache/core/proto/precache.pb.h" #include "net/http/http_response_headers.h" +#include "net/http/http_status_code.h" #include "net/url_request/test_url_fetcher_factory.h" #include "net/url_request/url_request_test_util.h" #include "testing/gtest/include/gtest/gtest.h" @@ -29,11 +30,11 @@ class TestURLFetcherCallback { public: scoped_ptr<net::FakeURLFetcher> CreateURLFetcher( const GURL& url, net::URLFetcherDelegate* delegate, - const std::string& response_data, bool success) { + const std::string& response_data, net::HttpStatusCode response_code) { scoped_ptr<net::FakeURLFetcher> fetcher( - new net::FakeURLFetcher(url, delegate, response_data, success)); + new net::FakeURLFetcher(url, delegate, response_data, response_code)); - if (success) { + if (response_code == net::HTTP_OK) { scoped_refptr<net::HttpResponseHeaders> download_headers = new net::HttpResponseHeaders(""); download_headers->AddHeader("Content-Type: text/html"); @@ -123,13 +124,19 @@ TEST_F(PrecacheFetcherTest, FullPrecache) { good_manifest.add_resource(); // Resource with no URL, should not be fetched. good_manifest.add_resource()->set_url(kGoodResourceURL); - factory_.SetFakeResponse(GURL(kConfigURL), config.SerializeAsString(), true); - factory_.SetFakeResponse(GURL(kManifestFetchFailureURL), "", false); - factory_.SetFakeResponse(GURL(kBadManifestURL), "bad protobuf", true); + factory_.SetFakeResponse(GURL(kConfigURL), + config.SerializeAsString(), + net::HTTP_OK); + factory_.SetFakeResponse(GURL(kManifestFetchFailureURL), + "", + net::HTTP_INTERNAL_SERVER_ERROR); + factory_.SetFakeResponse(GURL(kBadManifestURL), "bad protobuf", net::HTTP_OK); factory_.SetFakeResponse(GURL(kGoodManifestURL), - good_manifest.SerializeAsString(), true); - factory_.SetFakeResponse(GURL(kResourceFetchFailureURL), "", false); - factory_.SetFakeResponse(GURL(kGoodResourceURL), "good", true); + good_manifest.SerializeAsString(), net::HTTP_OK); + factory_.SetFakeResponse(GURL(kResourceFetchFailureURL), + "", + net::HTTP_INTERNAL_SERVER_ERROR); + factory_.SetFakeResponse(GURL(kGoodResourceURL), "good", net::HTTP_OK); PrecacheFetcher precache_fetcher(starting_urls, request_context_.get(), &precache_delegate_); @@ -156,7 +163,9 @@ TEST_F(PrecacheFetcherTest, ConfigFetchFailure) { std::list<GURL> starting_urls(1, GURL("http://starting-url.com")); - factory_.SetFakeResponse(GURL(kConfigURL), "", false); + factory_.SetFakeResponse(GURL(kConfigURL), + "", + net::HTTP_INTERNAL_SERVER_ERROR); PrecacheFetcher precache_fetcher(starting_urls, request_context_.get(), &precache_delegate_); @@ -177,7 +186,7 @@ TEST_F(PrecacheFetcherTest, BadConfig) { std::list<GURL> starting_urls(1, GURL("http://starting-url.com")); - factory_.SetFakeResponse(GURL(kConfigURL), "bad protobuf", true); + factory_.SetFakeResponse(GURL(kConfigURL), "bad protobuf", net::HTTP_OK); PrecacheFetcher precache_fetcher(starting_urls, request_context_.get(), &precache_delegate_); @@ -202,7 +211,9 @@ TEST_F(PrecacheFetcherTest, Cancel) { config.add_whitelisted_starting_url("http://starting-url.com"); config.set_maximum_rank_starting_url(1); - factory_.SetFakeResponse(GURL(kConfigURL), config.SerializeAsString(), true); + factory_.SetFakeResponse(GURL(kConfigURL), + config.SerializeAsString(), + net::HTTP_OK); scoped_ptr<PrecacheFetcher> precache_fetcher(new PrecacheFetcher( starting_urls, request_context_.get(), &precache_delegate_)); @@ -230,7 +241,7 @@ TEST_F(PrecacheFetcherTest, PrecacheUsingDefaultConfigSettingsURL) { factory_.SetFakeResponse(GURL(PRECACHE_CONFIG_SETTINGS_URL), PrecacheConfigurationSettings().SerializeAsString(), - true); + net::HTTP_OK); PrecacheFetcher precache_fetcher(starting_urls, request_context_.get(), &precache_delegate_); @@ -264,9 +275,12 @@ TEST_F(PrecacheFetcherTest, PrecacheUsingDefaultManifestURLPrefix) { GURL manifest_url(PRECACHE_MANIFEST_URL_PREFIX "http%253A%252F%252Fstarting-url.com%252F"); - factory_.SetFakeResponse(GURL(kConfigURL), config.SerializeAsString(), true); - factory_.SetFakeResponse(manifest_url, PrecacheManifest().SerializeAsString(), - true); + factory_.SetFakeResponse(GURL(kConfigURL), + config.SerializeAsString(), + net::HTTP_OK); + factory_.SetFakeResponse(manifest_url, + PrecacheManifest().SerializeAsString(), + net::HTTP_OK); PrecacheFetcher precache_fetcher(starting_urls, request_context_.get(), &precache_delegate_); |