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

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

Issue 10581012: Move test_url_fetcher_factory.* from content/ to net/url_request (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove export annotations Created 8 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « net/url_request/test_url_fetcher_factory.h ('k') | net/url_request/url_fetcher_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "content/public/test/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/memory/weak_ptr.h" 11 #include "base/memory/weak_ptr.h"
12 #include "base/message_loop.h" 12 #include "base/message_loop.h"
13 #include "net/base/host_port_pair.h" 13 #include "net/base/host_port_pair.h"
14 #include "net/http/http_response_headers.h" 14 #include "net/http/http_response_headers.h"
15 #include "net/url_request/url_fetcher_delegate.h" 15 #include "net/url_request/url_fetcher_delegate.h"
16 #include "net/url_request/url_fetcher_impl.h" 16 #include "net/url_request/url_fetcher_impl.h"
17 #include "net/url_request/url_request_status.h" 17 #include "net/url_request/url_request_status.h"
18 18
19 namespace net {
20
19 ScopedURLFetcherFactory::ScopedURLFetcherFactory( 21 ScopedURLFetcherFactory::ScopedURLFetcherFactory(
20 net::URLFetcherFactory* factory) { 22 URLFetcherFactory* factory) {
21 DCHECK(!net::URLFetcherImpl::factory()); 23 DCHECK(!URLFetcherImpl::factory());
22 net::URLFetcherImpl::set_factory(factory); 24 URLFetcherImpl::set_factory(factory);
23 } 25 }
24 26
25 ScopedURLFetcherFactory::~ScopedURLFetcherFactory() { 27 ScopedURLFetcherFactory::~ScopedURLFetcherFactory() {
26 DCHECK(net::URLFetcherImpl::factory()); 28 DCHECK(URLFetcherImpl::factory());
27 net::URLFetcherImpl::set_factory(NULL); 29 URLFetcherImpl::set_factory(NULL);
28 } 30 }
29 31
30 TestURLFetcher::TestURLFetcher(int id, 32 TestURLFetcher::TestURLFetcher(int id,
31 const GURL& url, 33 const GURL& url,
32 net::URLFetcherDelegate* d) 34 URLFetcherDelegate* d)
33 : id_(id), 35 : id_(id),
34 original_url_(url), 36 original_url_(url),
35 delegate_(d), 37 delegate_(d),
36 did_receive_last_chunk_(false), 38 did_receive_last_chunk_(false),
37 fake_load_flags_(0), 39 fake_load_flags_(0),
38 fake_response_code_(-1), 40 fake_response_code_(-1),
39 fake_response_destination_(STRING), 41 fake_response_destination_(STRING),
40 fake_was_fetched_via_proxy_(false), 42 fake_was_fetched_via_proxy_(false),
41 fake_max_retries_(0) { 43 fake_max_retries_(0) {
42 } 44 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 const std::string& extra_request_headers) { 76 const std::string& extra_request_headers) {
75 fake_extra_request_headers_.Clear(); 77 fake_extra_request_headers_.Clear();
76 fake_extra_request_headers_.AddHeadersFromString(extra_request_headers); 78 fake_extra_request_headers_.AddHeadersFromString(extra_request_headers);
77 } 79 }
78 80
79 void TestURLFetcher::AddExtraRequestHeader(const std::string& header_line) { 81 void TestURLFetcher::AddExtraRequestHeader(const std::string& header_line) {
80 fake_extra_request_headers_.AddHeaderFromString(header_line); 82 fake_extra_request_headers_.AddHeaderFromString(header_line);
81 } 83 }
82 84
83 void TestURLFetcher::GetExtraRequestHeaders( 85 void TestURLFetcher::GetExtraRequestHeaders(
84 net::HttpRequestHeaders* headers) const { 86 HttpRequestHeaders* headers) const {
85 *headers = fake_extra_request_headers_; 87 *headers = fake_extra_request_headers_;
86 } 88 }
87 89
88 void TestURLFetcher::SetRequestContext( 90 void TestURLFetcher::SetRequestContext(
89 net::URLRequestContextGetter* request_context_getter) { 91 URLRequestContextGetter* request_context_getter) {
90 } 92 }
91 93
92 void TestURLFetcher::SetFirstPartyForCookies( 94 void TestURLFetcher::SetFirstPartyForCookies(
93 const GURL& first_party_for_cookies) { 95 const GURL& first_party_for_cookies) {
94 } 96 }
95 97
96 void TestURLFetcher::SetURLRequestUserData( 98 void TestURLFetcher::SetURLRequestUserData(
97 const void* key, 99 const void* key,
98 const CreateDataCallback& create_data_callback) { 100 const CreateDataCallback& create_data_callback) {
99 } 101 }
(...skipping 18 matching lines...) Expand all
118 120
119 void TestURLFetcher::SaveResponseToFileAtPath( 121 void TestURLFetcher::SaveResponseToFileAtPath(
120 const FilePath& file_path, 122 const FilePath& file_path,
121 scoped_refptr<base::MessageLoopProxy> file_message_loop_proxy) { 123 scoped_refptr<base::MessageLoopProxy> file_message_loop_proxy) {
122 } 124 }
123 125
124 void TestURLFetcher::SaveResponseToTemporaryFile( 126 void TestURLFetcher::SaveResponseToTemporaryFile(
125 scoped_refptr<base::MessageLoopProxy> file_message_loop_proxy) { 127 scoped_refptr<base::MessageLoopProxy> file_message_loop_proxy) {
126 } 128 }
127 129
128 net::HttpResponseHeaders* TestURLFetcher::GetResponseHeaders() const { 130 HttpResponseHeaders* TestURLFetcher::GetResponseHeaders() const {
129 return fake_response_headers_; 131 return fake_response_headers_;
130 } 132 }
131 133
132 net::HostPortPair TestURLFetcher::GetSocketAddress() const { 134 HostPortPair TestURLFetcher::GetSocketAddress() const {
133 NOTIMPLEMENTED(); 135 NOTIMPLEMENTED();
134 return net::HostPortPair(); 136 return HostPortPair();
135 } 137 }
136 138
137 bool TestURLFetcher::WasFetchedViaProxy() const { 139 bool TestURLFetcher::WasFetchedViaProxy() const {
138 return fake_was_fetched_via_proxy_; 140 return fake_was_fetched_via_proxy_;
139 } 141 }
140 142
141 void TestURLFetcher::Start() { 143 void TestURLFetcher::Start() {
142 // Overriden to do nothing. It is assumed the caller will notify the delegate. 144 // Overriden to do nothing. It is assumed the caller will notify the delegate.
143 } 145 }
144 146
145 const GURL& TestURLFetcher::GetOriginalURL() const { 147 const GURL& TestURLFetcher::GetOriginalURL() const {
146 return original_url_; 148 return original_url_;
147 } 149 }
148 150
149 const GURL& TestURLFetcher::GetURL() const { 151 const GURL& TestURLFetcher::GetURL() const {
150 return fake_url_; 152 return fake_url_;
151 } 153 }
152 154
153 const net::URLRequestStatus& TestURLFetcher::GetStatus() const { 155 const URLRequestStatus& TestURLFetcher::GetStatus() const {
154 return fake_status_; 156 return fake_status_;
155 } 157 }
156 158
157 int TestURLFetcher::GetResponseCode() const { 159 int TestURLFetcher::GetResponseCode() const {
158 return fake_response_code_; 160 return fake_response_code_;
159 } 161 }
160 162
161 const net::ResponseCookies& TestURLFetcher::GetCookies() const { 163 const ResponseCookies& TestURLFetcher::GetCookies() const {
162 return fake_cookies_; 164 return fake_cookies_;
163 } 165 }
164 166
165 bool TestURLFetcher::FileErrorOccurred( 167 bool TestURLFetcher::FileErrorOccurred(
166 base::PlatformFileError* out_error_code) const { 168 base::PlatformFileError* out_error_code) const {
167 NOTIMPLEMENTED(); 169 NOTIMPLEMENTED();
168 return false; 170 return false;
169 } 171 }
170 172
171 void TestURLFetcher::ReceivedContentWasMalformed() { 173 void TestURLFetcher::ReceivedContentWasMalformed() {
(...skipping 10 matching lines...) Expand all
182 184
183 bool TestURLFetcher::GetResponseAsFilePath( 185 bool TestURLFetcher::GetResponseAsFilePath(
184 bool take_ownership, FilePath* out_response_path) const { 186 bool take_ownership, FilePath* out_response_path) const {
185 if (fake_response_destination_ != TEMP_FILE) 187 if (fake_response_destination_ != TEMP_FILE)
186 return false; 188 return false;
187 189
188 *out_response_path = fake_response_file_path_; 190 *out_response_path = fake_response_file_path_;
189 return true; 191 return true;
190 } 192 }
191 193
192 void TestURLFetcher::set_status(const net::URLRequestStatus& status) { 194 void TestURLFetcher::set_status(const URLRequestStatus& status) {
193 fake_status_ = status; 195 fake_status_ = status;
194 } 196 }
195 197
196 void TestURLFetcher::set_was_fetched_via_proxy(bool flag) { 198 void TestURLFetcher::set_was_fetched_via_proxy(bool flag) {
197 fake_was_fetched_via_proxy_ = flag; 199 fake_was_fetched_via_proxy_ = flag;
198 } 200 }
199 201
200 void TestURLFetcher::set_response_headers( 202 void TestURLFetcher::set_response_headers(
201 scoped_refptr<net::HttpResponseHeaders> headers) { 203 scoped_refptr<HttpResponseHeaders> headers) {
202 fake_response_headers_ = headers; 204 fake_response_headers_ = headers;
203 } 205 }
204 206
205 void TestURLFetcher::set_backoff_delay(base::TimeDelta backoff_delay) { 207 void TestURLFetcher::set_backoff_delay(base::TimeDelta backoff_delay) {
206 fake_backoff_delay_ = backoff_delay; 208 fake_backoff_delay_ = backoff_delay;
207 } 209 }
208 210
209 void TestURLFetcher::SetResponseString(const std::string& response) { 211 void TestURLFetcher::SetResponseString(const std::string& response) {
210 fake_response_destination_ = STRING; 212 fake_response_destination_ = STRING;
211 fake_response_string_ = response; 213 fake_response_string_ = response;
212 } 214 }
213 215
214 void TestURLFetcher::SetResponseFilePath(const FilePath& path) { 216 void TestURLFetcher::SetResponseFilePath(const FilePath& path) {
215 fake_response_destination_ = TEMP_FILE; 217 fake_response_destination_ = TEMP_FILE;
216 fake_response_file_path_ = path; 218 fake_response_file_path_ = path;
217 } 219 }
218 220
219 TestURLFetcherFactory::TestURLFetcherFactory() 221 TestURLFetcherFactory::TestURLFetcherFactory()
220 : ScopedURLFetcherFactory(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { 222 : ScopedURLFetcherFactory(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {
221 } 223 }
222 224
223 TestURLFetcherFactory::~TestURLFetcherFactory() {} 225 TestURLFetcherFactory::~TestURLFetcherFactory() {}
224 226
225 net::URLFetcher* TestURLFetcherFactory::CreateURLFetcher( 227 URLFetcher* TestURLFetcherFactory::CreateURLFetcher(
226 int id, 228 int id,
227 const GURL& url, 229 const GURL& url,
228 net::URLFetcher::RequestType request_type, 230 URLFetcher::RequestType request_type,
229 net::URLFetcherDelegate* d) { 231 URLFetcherDelegate* d) {
230 TestURLFetcher* fetcher = new TestURLFetcher(id, url, d); 232 TestURLFetcher* fetcher = new TestURLFetcher(id, url, d);
231 fetchers_[id] = fetcher; 233 fetchers_[id] = fetcher;
232 return fetcher; 234 return fetcher;
233 } 235 }
234 236
235 TestURLFetcher* TestURLFetcherFactory::GetFetcherByID(int id) const { 237 TestURLFetcher* TestURLFetcherFactory::GetFetcherByID(int id) const {
236 Fetchers::const_iterator i = fetchers_.find(id); 238 Fetchers::const_iterator i = fetchers_.find(id);
237 return i == fetchers_.end() ? NULL : i->second; 239 return i == fetchers_.end() ? NULL : i->second;
238 } 240 }
239 241
240 void TestURLFetcherFactory::RemoveFetcherFromMap(int id) { 242 void TestURLFetcherFactory::RemoveFetcherFromMap(int id) {
241 Fetchers::iterator i = fetchers_.find(id); 243 Fetchers::iterator i = fetchers_.find(id);
242 DCHECK(i != fetchers_.end()); 244 DCHECK(i != fetchers_.end());
243 fetchers_.erase(i); 245 fetchers_.erase(i);
244 } 246 }
245 247
246 // This class is used by the FakeURLFetcherFactory below. 248 // This class is used by the FakeURLFetcherFactory below.
247 class FakeURLFetcher : public TestURLFetcher { 249 class FakeURLFetcher : public TestURLFetcher {
248 public: 250 public:
249 // Normal URL fetcher constructor but also takes in a pre-baked response. 251 // Normal URL fetcher constructor but also takes in a pre-baked response.
250 FakeURLFetcher(const GURL& url, 252 FakeURLFetcher(const GURL& url,
251 net::URLFetcherDelegate* d, 253 URLFetcherDelegate* d,
252 const std::string& response_data, bool success) 254 const std::string& response_data, bool success)
253 : TestURLFetcher(0, url, d), 255 : TestURLFetcher(0, url, d),
254 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { 256 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
255 set_status(net::URLRequestStatus( 257 set_status(URLRequestStatus(
256 success ? net::URLRequestStatus::SUCCESS : 258 success ? URLRequestStatus::SUCCESS :
257 net::URLRequestStatus::FAILED, 259 URLRequestStatus::FAILED,
258 0)); 260 0));
259 set_response_code(success ? 200 : 500); 261 set_response_code(success ? 200 : 500);
260 SetResponseString(response_data); 262 SetResponseString(response_data);
261 } 263 }
262 264
263 // Start the request. This will call the given delegate asynchronously 265 // Start the request. This will call the given delegate asynchronously
264 // with the pre-baked response as parameter. 266 // with the pre-baked response as parameter.
265 virtual void Start() OVERRIDE { 267 virtual void Start() OVERRIDE {
266 MessageLoop::current()->PostTask( 268 MessageLoop::current()->PostTask(
267 FROM_HERE, 269 FROM_HERE,
(...skipping 18 matching lines...) Expand all
286 288
287 DISALLOW_COPY_AND_ASSIGN(FakeURLFetcher); 289 DISALLOW_COPY_AND_ASSIGN(FakeURLFetcher);
288 }; 290 };
289 291
290 FakeURLFetcherFactory::FakeURLFetcherFactory() 292 FakeURLFetcherFactory::FakeURLFetcherFactory()
291 : ScopedURLFetcherFactory(ALLOW_THIS_IN_INITIALIZER_LIST(this)), 293 : ScopedURLFetcherFactory(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
292 default_factory_(NULL) { 294 default_factory_(NULL) {
293 } 295 }
294 296
295 FakeURLFetcherFactory::FakeURLFetcherFactory( 297 FakeURLFetcherFactory::FakeURLFetcherFactory(
296 net::URLFetcherFactory* default_factory) 298 URLFetcherFactory* default_factory)
297 : ScopedURLFetcherFactory(ALLOW_THIS_IN_INITIALIZER_LIST(this)), 299 : ScopedURLFetcherFactory(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
298 default_factory_(default_factory) { 300 default_factory_(default_factory) {
299 } 301 }
300 302
301 FakeURLFetcherFactory::~FakeURLFetcherFactory() {} 303 FakeURLFetcherFactory::~FakeURLFetcherFactory() {}
302 304
303 net::URLFetcher* FakeURLFetcherFactory::CreateURLFetcher( 305 URLFetcher* FakeURLFetcherFactory::CreateURLFetcher(
304 int id, 306 int id,
305 const GURL& url, 307 const GURL& url,
306 net::URLFetcher::RequestType request_type, 308 URLFetcher::RequestType request_type,
307 net::URLFetcherDelegate* d) { 309 URLFetcherDelegate* d) {
308 FakeResponseMap::const_iterator it = fake_responses_.find(url); 310 FakeResponseMap::const_iterator it = fake_responses_.find(url);
309 if (it == fake_responses_.end()) { 311 if (it == fake_responses_.end()) {
310 if (default_factory_ == NULL) { 312 if (default_factory_ == NULL) {
311 // If we don't have a baked response for that URL we return NULL. 313 // If we don't have a baked response for that URL we return NULL.
312 DLOG(ERROR) << "No baked response for URL: " << url.spec(); 314 DLOG(ERROR) << "No baked response for URL: " << url.spec();
313 return NULL; 315 return NULL;
314 } else { 316 } else {
315 return default_factory_->CreateURLFetcher(id, url, request_type, d); 317 return default_factory_->CreateURLFetcher(id, url, request_type, d);
316 } 318 }
317 } 319 }
318 return new FakeURLFetcher(url, d, it->second.first, it->second.second); 320 return new FakeURLFetcher(url, d, it->second.first, it->second.second);
319 } 321 }
320 322
321 void FakeURLFetcherFactory::SetFakeResponse(const std::string& url, 323 void FakeURLFetcherFactory::SetFakeResponse(const std::string& url,
322 const std::string& response_data, 324 const std::string& response_data,
323 bool success) { 325 bool success) {
324 // Overwrite existing URL if it already exists. 326 // Overwrite existing URL if it already exists.
325 fake_responses_[GURL(url)] = std::make_pair(response_data, success); 327 fake_responses_[GURL(url)] = std::make_pair(response_data, success);
326 } 328 }
327 329
328 void FakeURLFetcherFactory::ClearFakeResponses() { 330 void FakeURLFetcherFactory::ClearFakeResponses() {
329 fake_responses_.clear(); 331 fake_responses_.clear();
330 } 332 }
331 333
332 URLFetcherImplFactory::URLFetcherImplFactory() {} 334 URLFetcherImplFactory::URLFetcherImplFactory() {}
333 335
334 URLFetcherImplFactory::~URLFetcherImplFactory() {} 336 URLFetcherImplFactory::~URLFetcherImplFactory() {}
335 337
336 net::URLFetcher* URLFetcherImplFactory::CreateURLFetcher( 338 URLFetcher* URLFetcherImplFactory::CreateURLFetcher(
337 int id, 339 int id,
338 const GURL& url, 340 const GURL& url,
339 net::URLFetcher::RequestType request_type, 341 URLFetcher::RequestType request_type,
340 net::URLFetcherDelegate* d) { 342 URLFetcherDelegate* d) {
341 return new net::URLFetcherImpl(url, request_type, d); 343 return new URLFetcherImpl(url, request_type, d);
342 } 344 }
345
346 } // namespace net
OLDNEW
« no previous file with comments | « net/url_request/test_url_fetcher_factory.h ('k') | net/url_request/url_fetcher_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698