summaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorrsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-04 17:34:15 +0000
committerrsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-04 17:34:15 +0000
commit61a6ba3f707e431f607ae71280c752854f1081d8 (patch)
tree345cef8f9235a96e84e612572d19e542807485d0 /components
parent4f03a4f75217e698c5b71323424d7a4b178e079e (diff)
downloadchromium_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.cc7
-rw-r--r--components/precache/core/precache_fetcher_unittest.cc46
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_);