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

Side by Side Diff: net/url_request/test_url_fetcher_factory.cc

Issue 253833006: Add browser test for CustomizationWallpaperDownloader. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add get_retry_current_delay_for_testing. Created 6 years, 7 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) 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 "net/url_request/test_url_fetcher_factory.h" 5 #include "net/url_request/test_url_fetcher_factory.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "base/file_util.h"
11 #include "base/memory/weak_ptr.h" 12 #include "base/memory/weak_ptr.h"
12 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
14 #include "base/threading/thread_restrictions.h"
13 #include "net/base/host_port_pair.h" 15 #include "net/base/host_port_pair.h"
14 #include "net/base/io_buffer.h" 16 #include "net/base/io_buffer.h"
15 #include "net/base/net_errors.h" 17 #include "net/base/net_errors.h"
16 #include "net/http/http_response_headers.h" 18 #include "net/http/http_response_headers.h"
17 #include "net/url_request/url_fetcher_delegate.h" 19 #include "net/url_request/url_fetcher_delegate.h"
18 #include "net/url_request/url_fetcher_impl.h" 20 #include "net/url_request/url_fetcher_impl.h"
19 #include "net/url_request/url_fetcher_response_writer.h" 21 #include "net/url_request/url_fetcher_response_writer.h"
20 #include "net/url_request/url_request_status.h" 22 #include "net/url_request/url_request_status.h"
21 23
22 namespace net { 24 namespace net {
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 base::TimeDelta TestURLFetcher::GetBackoffDelay() const { 134 base::TimeDelta TestURLFetcher::GetBackoffDelay() const {
133 return fake_backoff_delay_; 135 return fake_backoff_delay_;
134 } 136 }
135 137
136 void TestURLFetcher::SetAutomaticallyRetryOnNetworkChanges(int max_retries) { 138 void TestURLFetcher::SetAutomaticallyRetryOnNetworkChanges(int max_retries) {
137 } 139 }
138 140
139 void TestURLFetcher::SaveResponseToFileAtPath( 141 void TestURLFetcher::SaveResponseToFileAtPath(
140 const base::FilePath& file_path, 142 const base::FilePath& file_path,
141 scoped_refptr<base::SequencedTaskRunner> file_task_runner) { 143 scoped_refptr<base::SequencedTaskRunner> file_task_runner) {
144 SetResponseFilePath(file_path);
145 // Asynchronous IO is not supported, so file_task_runner is ignored.
146 base::ThreadRestrictions::ScopedAllowIO allow_io;
147 const size_t written_bytes = base::WriteFile(
148 file_path, fake_response_string_.c_str(), fake_response_string_.size());
149 DCHECK_EQ(written_bytes, fake_response_string_.size());
142 } 150 }
143 151
144 void TestURLFetcher::SaveResponseToTemporaryFile( 152 void TestURLFetcher::SaveResponseToTemporaryFile(
145 scoped_refptr<base::SequencedTaskRunner> file_task_runner) { 153 scoped_refptr<base::SequencedTaskRunner> file_task_runner) {
146 } 154 }
147 155
148 void TestURLFetcher::SaveResponseWithWriter( 156 void TestURLFetcher::SaveResponseWithWriter(
149 scoped_ptr<URLFetcherResponseWriter> response_writer) { 157 scoped_ptr<URLFetcherResponseWriter> response_writer) {
158 // In class URLFetcherCore this method is called by all three:
159 // GetResponseAsString() / SaveResponseToFileAtPath() /
160 // SaveResponseToTemporaryFile(). But here (in TestURLFetcher), this method
161 // is never used by any of these three methods. So, file writing is expected
162 // to be done in SaveResponseToFileAtPath(), and this method supports only
163 // URLFetcherStringWriter (for testing of this method only).
150 if (fake_response_destination_ == STRING) { 164 if (fake_response_destination_ == STRING) {
151 response_writer_ = response_writer.Pass(); 165 response_writer_ = response_writer.Pass();
152 int response = response_writer_->Initialize(CompletionCallback()); 166 int response = response_writer_->Initialize(CompletionCallback());
153 // The TestURLFetcher doesn't handle asynchronous writes. 167 // The TestURLFetcher doesn't handle asynchronous writes.
154 DCHECK_EQ(OK, response); 168 DCHECK_EQ(OK, response);
155 169
156 scoped_refptr<IOBuffer> buffer(new StringIOBuffer(fake_response_string_)); 170 scoped_refptr<IOBuffer> buffer(new StringIOBuffer(fake_response_string_));
157 response = response_writer_->Write(buffer.get(), 171 response = response_writer_->Write(buffer.get(),
158 fake_response_string_.size(), 172 fake_response_string_.size(),
159 CompletionCallback()); 173 CompletionCallback());
160 DCHECK_EQ(static_cast<int>(fake_response_string_.size()), response); 174 DCHECK_EQ(static_cast<int>(fake_response_string_.size()), response);
161 response = response_writer_->Finish(CompletionCallback()); 175 response = response_writer_->Finish(CompletionCallback());
162 DCHECK_EQ(OK, response); 176 DCHECK_EQ(OK, response);
177 } else if (fake_response_destination_ == TEMP_FILE) {
178 // SaveResponseToFileAtPath() should be called instead of this method to
179 // save file. Asynchronous file writing using URLFetcherFileWriter is not
180 // supported.
181 NOTIMPLEMENTED();
163 } else { 182 } else {
164 NOTIMPLEMENTED(); 183 NOTREACHED();
165 } 184 }
166 } 185 }
167 186
168 HttpResponseHeaders* TestURLFetcher::GetResponseHeaders() const { 187 HttpResponseHeaders* TestURLFetcher::GetResponseHeaders() const {
169 return fake_response_headers_.get(); 188 return fake_response_headers_.get();
170 } 189 }
171 190
172 HostPortPair TestURLFetcher::GetSocketAddress() const { 191 HostPortPair TestURLFetcher::GetSocketAddress() const {
173 NOTIMPLEMENTED(); 192 NOTIMPLEMENTED();
174 return HostPortPair(); 193 return HostPortPair();
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 433
415 URLFetcher* URLFetcherImplFactory::CreateURLFetcher( 434 URLFetcher* URLFetcherImplFactory::CreateURLFetcher(
416 int id, 435 int id,
417 const GURL& url, 436 const GURL& url,
418 URLFetcher::RequestType request_type, 437 URLFetcher::RequestType request_type,
419 URLFetcherDelegate* d) { 438 URLFetcherDelegate* d) {
420 return new URLFetcherImpl(url, request_type, d); 439 return new URLFetcherImpl(url, request_type, d);
421 } 440 }
422 441
423 } // namespace net 442 } // namespace net
OLDNEW
« chrome/browser/chromeos/customization_wallpaper_downloader.cc ('K') | « chrome/chrome_tests.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698