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

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

Issue 266243004: Clang format slam. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 | Annotate | Revision Log
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/url_request_test_util.h" 5 #include "net/url_request/url_request_test_util.h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/threading/thread.h" 10 #include "base/threading/thread.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 context_storage_.set_ssl_config_service(new SSLConfigServiceDefaults); 80 context_storage_.set_ssl_config_service(new SSLConfigServiceDefaults);
81 if (!http_auth_handler_factory()) { 81 if (!http_auth_handler_factory()) {
82 context_storage_.set_http_auth_handler_factory( 82 context_storage_.set_http_auth_handler_factory(
83 HttpAuthHandlerFactory::CreateDefault(host_resolver())); 83 HttpAuthHandlerFactory::CreateDefault(host_resolver()));
84 } 84 }
85 if (!http_server_properties()) { 85 if (!http_server_properties()) {
86 context_storage_.set_http_server_properties( 86 context_storage_.set_http_server_properties(
87 scoped_ptr<HttpServerProperties>(new HttpServerPropertiesImpl())); 87 scoped_ptr<HttpServerProperties>(new HttpServerPropertiesImpl()));
88 } 88 }
89 if (!transport_security_state()) { 89 if (!transport_security_state()) {
90 context_storage_.set_transport_security_state( 90 context_storage_.set_transport_security_state(new TransportSecurityState());
91 new TransportSecurityState());
92 } 91 }
93 if (http_transaction_factory()) { 92 if (http_transaction_factory()) {
94 // Make sure we haven't been passed an object we're not going to use. 93 // Make sure we haven't been passed an object we're not going to use.
95 EXPECT_FALSE(client_socket_factory_); 94 EXPECT_FALSE(client_socket_factory_);
96 } else { 95 } else {
97 HttpNetworkSession::Params params; 96 HttpNetworkSession::Params params;
98 params.client_socket_factory = client_socket_factory(); 97 params.client_socket_factory = client_socket_factory();
99 params.host_resolver = host_resolver(); 98 params.host_resolver = host_resolver();
100 params.cert_verifier = cert_verifier(); 99 params.cert_verifier = cert_verifier();
101 params.transport_security_state = transport_security_state(); 100 params.transport_security_state = transport_security_state();
102 params.proxy_service = proxy_service(); 101 params.proxy_service = proxy_service();
103 params.ssl_config_service = ssl_config_service(); 102 params.ssl_config_service = ssl_config_service();
104 params.http_auth_handler_factory = http_auth_handler_factory(); 103 params.http_auth_handler_factory = http_auth_handler_factory();
105 params.network_delegate = network_delegate(); 104 params.network_delegate = network_delegate();
106 params.http_server_properties = http_server_properties(); 105 params.http_server_properties = http_server_properties();
107 params.net_log = net_log(); 106 params.net_log = net_log();
108 context_storage_.set_http_transaction_factory(new HttpCache( 107 context_storage_.set_http_transaction_factory(
109 new HttpNetworkSession(params), 108 new HttpCache(new HttpNetworkSession(params),
110 HttpCache::DefaultBackend::InMemory(0))); 109 HttpCache::DefaultBackend::InMemory(0)));
111 } 110 }
112 // In-memory cookie store. 111 // In-memory cookie store.
113 if (!cookie_store()) 112 if (!cookie_store())
114 context_storage_.set_cookie_store(new CookieMonster(NULL, NULL)); 113 context_storage_.set_cookie_store(new CookieMonster(NULL, NULL));
115 // In-memory origin bound cert service. 114 // In-memory origin bound cert service.
116 if (!server_bound_cert_service()) { 115 if (!server_bound_cert_service()) {
117 context_storage_.set_server_bound_cert_service( 116 context_storage_.set_server_bound_cert_service(
118 new ServerBoundCertService( 117 new ServerBoundCertService(new DefaultServerBoundCertStore(NULL),
119 new DefaultServerBoundCertStore(NULL), 118 base::WorkerPool::GetTaskRunner(true)));
120 base::WorkerPool::GetTaskRunner(true)));
121 } 119 }
122 if (!http_user_agent_settings()) { 120 if (!http_user_agent_settings()) {
123 context_storage_.set_http_user_agent_settings( 121 context_storage_.set_http_user_agent_settings(
124 new StaticHttpUserAgentSettings("en-us,fr", std::string())); 122 new StaticHttpUserAgentSettings("en-us,fr", std::string()));
125 } 123 }
126 if (!job_factory()) 124 if (!job_factory())
127 context_storage_.set_job_factory(new URLRequestJobFactoryImpl); 125 context_storage_.set_job_factory(new URLRequestJobFactoryImpl);
128 } 126 }
129 127
130 TestURLRequest::TestURLRequest(const GURL& url, 128 TestURLRequest::TestURLRequest(const GURL& url,
131 RequestPriority priority, 129 RequestPriority priority,
132 Delegate* delegate, 130 Delegate* delegate,
133 TestURLRequestContext* context) 131 TestURLRequestContext* context)
134 : URLRequest(url, priority, delegate, context) {} 132 : URLRequest(url, priority, delegate, context) {
133 }
135 134
136 TestURLRequest::~TestURLRequest() { 135 TestURLRequest::~TestURLRequest() {
137 } 136 }
138 137
139 TestURLRequestContextGetter::TestURLRequestContextGetter( 138 TestURLRequestContextGetter::TestURLRequestContextGetter(
140 const scoped_refptr<base::SingleThreadTaskRunner>& network_task_runner) 139 const scoped_refptr<base::SingleThreadTaskRunner>& network_task_runner)
141 : network_task_runner_(network_task_runner) { 140 : network_task_runner_(network_task_runner) {
142 DCHECK(network_task_runner_.get()); 141 DCHECK(network_task_runner_.get());
143 } 142 }
144 143
145 TestURLRequestContextGetter::TestURLRequestContextGetter( 144 TestURLRequestContextGetter::TestURLRequestContextGetter(
146 const scoped_refptr<base::SingleThreadTaskRunner>& network_task_runner, 145 const scoped_refptr<base::SingleThreadTaskRunner>& network_task_runner,
147 scoped_ptr<TestURLRequestContext> context) 146 scoped_ptr<TestURLRequestContext> context)
148 : network_task_runner_(network_task_runner), context_(context.Pass()) { 147 : network_task_runner_(network_task_runner), context_(context.Pass()) {
149 DCHECK(network_task_runner_.get()); 148 DCHECK(network_task_runner_.get());
150 } 149 }
151 150
152 TestURLRequestContextGetter::~TestURLRequestContextGetter() {} 151 TestURLRequestContextGetter::~TestURLRequestContextGetter() {
152 }
153 153
154 TestURLRequestContext* TestURLRequestContextGetter::GetURLRequestContext() { 154 TestURLRequestContext* TestURLRequestContextGetter::GetURLRequestContext() {
155 if (!context_.get()) 155 if (!context_.get())
156 context_.reset(new TestURLRequestContext); 156 context_.reset(new TestURLRequestContext);
157 return context_.get(); 157 return context_.get();
158 } 158 }
159 159
160 scoped_refptr<base::SingleThreadTaskRunner> 160 scoped_refptr<base::SingleThreadTaskRunner>
161 TestURLRequestContextGetter::GetNetworkTaskRunner() const { 161 TestURLRequestContextGetter::GetNetworkTaskRunner() const {
162 return network_task_runner_; 162 return network_task_runner_;
(...skipping 14 matching lines...) Expand all
177 received_before_network_start_count_(0), 177 received_before_network_start_count_(0),
178 received_data_before_response_(false), 178 received_data_before_response_(false),
179 request_failed_(false), 179 request_failed_(false),
180 have_certificate_errors_(false), 180 have_certificate_errors_(false),
181 certificate_errors_are_fatal_(false), 181 certificate_errors_are_fatal_(false),
182 auth_required_(false), 182 auth_required_(false),
183 have_full_request_headers_(false), 183 have_full_request_headers_(false),
184 buf_(new IOBuffer(kBufferSize)) { 184 buf_(new IOBuffer(kBufferSize)) {
185 } 185 }
186 186
187 TestDelegate::~TestDelegate() {} 187 TestDelegate::~TestDelegate() {
188 }
188 189
189 void TestDelegate::ClearFullRequestHeaders() { 190 void TestDelegate::ClearFullRequestHeaders() {
190 full_request_headers_.Clear(); 191 full_request_headers_.Clear();
191 have_full_request_headers_ = false; 192 have_full_request_headers_ = false;
192 } 193 }
193 194
194 void TestDelegate::OnReceivedRedirect(URLRequest* request, 195 void TestDelegate::OnReceivedRedirect(URLRequest* request,
195 const GURL& new_url, 196 const GURL& new_url,
196 bool* defer_redirect) { 197 bool* defer_redirect) {
197 EXPECT_TRUE(request->is_redirecting()); 198 EXPECT_TRUE(request->is_redirecting());
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 blocked_set_cookie_count_(0), 324 blocked_set_cookie_count_(0),
324 set_cookie_count_(0), 325 set_cookie_count_(0),
325 has_load_timing_info_before_redirect_(false), 326 has_load_timing_info_before_redirect_(false),
326 has_load_timing_info_before_auth_(false), 327 has_load_timing_info_before_auth_(false),
327 can_access_files_(true), 328 can_access_files_(true),
328 can_throttle_requests_(true) { 329 can_throttle_requests_(true) {
329 } 330 }
330 331
331 TestNetworkDelegate::~TestNetworkDelegate() { 332 TestNetworkDelegate::~TestNetworkDelegate() {
332 for (std::map<int, int>::iterator i = next_states_.begin(); 333 for (std::map<int, int>::iterator i = next_states_.begin();
333 i != next_states_.end(); ++i) { 334 i != next_states_.end();
335 ++i) {
334 event_order_[i->first] += "~TestNetworkDelegate\n"; 336 event_order_[i->first] += "~TestNetworkDelegate\n";
335 EXPECT_TRUE(i->second & kStageDestruction) << event_order_[i->first]; 337 EXPECT_TRUE(i->second & kStageDestruction) << event_order_[i->first];
336 } 338 }
337 } 339 }
338 340
339 bool TestNetworkDelegate::GetLoadTimingInfoBeforeRedirect( 341 bool TestNetworkDelegate::GetLoadTimingInfoBeforeRedirect(
340 LoadTimingInfo* load_timing_info_before_redirect) const { 342 LoadTimingInfo* load_timing_info_before_redirect) const {
341 *load_timing_info_before_redirect = load_timing_info_before_redirect_; 343 *load_timing_info_before_redirect = load_timing_info_before_redirect_;
342 return has_load_timing_info_before_redirect_; 344 return has_load_timing_info_before_redirect_;
343 } 345 }
344 346
345 bool TestNetworkDelegate::GetLoadTimingInfoBeforeAuth( 347 bool TestNetworkDelegate::GetLoadTimingInfoBeforeAuth(
346 LoadTimingInfo* load_timing_info_before_auth) const { 348 LoadTimingInfo* load_timing_info_before_auth) const {
347 *load_timing_info_before_auth = load_timing_info_before_auth_; 349 *load_timing_info_before_auth = load_timing_info_before_auth_;
348 return has_load_timing_info_before_auth_; 350 return has_load_timing_info_before_auth_;
349 } 351 }
350 352
351 void TestNetworkDelegate::InitRequestStatesIfNew(int request_id) { 353 void TestNetworkDelegate::InitRequestStatesIfNew(int request_id) {
352 if (next_states_.find(request_id) == next_states_.end()) { 354 if (next_states_.find(request_id) == next_states_.end()) {
353 // TODO(davidben): Although the URLRequest documentation does not allow 355 // TODO(davidben): Although the URLRequest documentation does not allow
354 // calling Cancel() before Start(), the ResourceLoader does so. URLRequest's 356 // calling Cancel() before Start(), the ResourceLoader does so. URLRequest's
355 // destructor also calls Cancel. Either officially support this or fix the 357 // destructor also calls Cancel. Either officially support this or fix the
356 // ResourceLoader code. 358 // ResourceLoader code.
357 next_states_[request_id] = kStageBeforeURLRequest | kStageCompletedError; 359 next_states_[request_id] = kStageBeforeURLRequest | kStageCompletedError;
358 event_order_[request_id] = ""; 360 event_order_[request_id] = "";
359 } 361 }
360 } 362 }
361 363
362 int TestNetworkDelegate::OnBeforeURLRequest( 364 int TestNetworkDelegate::OnBeforeURLRequest(URLRequest* request,
363 URLRequest* request, 365 const CompletionCallback& callback,
364 const CompletionCallback& callback, 366 GURL* new_url) {
365 GURL* new_url ) {
366 int req_id = request->identifier(); 367 int req_id = request->identifier();
367 InitRequestStatesIfNew(req_id); 368 InitRequestStatesIfNew(req_id);
368 event_order_[req_id] += "OnBeforeURLRequest\n"; 369 event_order_[req_id] += "OnBeforeURLRequest\n";
369 EXPECT_TRUE(next_states_[req_id] & kStageBeforeURLRequest) << 370 EXPECT_TRUE(next_states_[req_id] & kStageBeforeURLRequest)
370 event_order_[req_id]; 371 << event_order_[req_id];
371 next_states_[req_id] = 372 next_states_[req_id] =
372 kStageBeforeSendHeaders | 373 kStageBeforeSendHeaders |
373 kStageResponseStarted | // data: URLs do not trigger sending headers 374 kStageResponseStarted | // data: URLs do not trigger sending headers
374 kStageBeforeRedirect | // a delegate can trigger a redirection 375 kStageBeforeRedirect | // a delegate can trigger a redirection
375 kStageCompletedError | // request canceled by delegate 376 kStageCompletedError | // request canceled by delegate
376 kStageAuthRequired; // Auth can come next for FTP requests 377 kStageAuthRequired; // Auth can come next for FTP requests
377 created_requests_++; 378 created_requests_++;
378 return OK; 379 return OK;
379 } 380 }
380 381
381 int TestNetworkDelegate::OnBeforeSendHeaders( 382 int TestNetworkDelegate::OnBeforeSendHeaders(URLRequest* request,
382 URLRequest* request, 383 const CompletionCallback& callback,
383 const CompletionCallback& callback, 384 HttpRequestHeaders* headers) {
384 HttpRequestHeaders* headers) {
385 int req_id = request->identifier(); 385 int req_id = request->identifier();
386 InitRequestStatesIfNew(req_id); 386 InitRequestStatesIfNew(req_id);
387 event_order_[req_id] += "OnBeforeSendHeaders\n"; 387 event_order_[req_id] += "OnBeforeSendHeaders\n";
388 EXPECT_TRUE(next_states_[req_id] & kStageBeforeSendHeaders) << 388 EXPECT_TRUE(next_states_[req_id] & kStageBeforeSendHeaders)
389 event_order_[req_id]; 389 << event_order_[req_id];
390 next_states_[req_id] = 390 next_states_[req_id] =
391 kStageSendHeaders | 391 kStageSendHeaders | kStageCompletedError; // request canceled by delegate
392 kStageCompletedError; // request canceled by delegate
393 392
394 return OK; 393 return OK;
395 } 394 }
396 395
397 void TestNetworkDelegate::OnSendHeaders( 396 void TestNetworkDelegate::OnSendHeaders(URLRequest* request,
398 URLRequest* request, 397 const HttpRequestHeaders& headers) {
399 const HttpRequestHeaders& headers) {
400 int req_id = request->identifier(); 398 int req_id = request->identifier();
401 InitRequestStatesIfNew(req_id); 399 InitRequestStatesIfNew(req_id);
402 event_order_[req_id] += "OnSendHeaders\n"; 400 event_order_[req_id] += "OnSendHeaders\n";
403 EXPECT_TRUE(next_states_[req_id] & kStageSendHeaders) << 401 EXPECT_TRUE(next_states_[req_id] & kStageSendHeaders) << event_order_[req_id];
404 event_order_[req_id]; 402 next_states_[req_id] = kStageHeadersReceived | kStageCompletedError;
405 next_states_[req_id] =
406 kStageHeadersReceived |
407 kStageCompletedError;
408 } 403 }
409 404
410 int TestNetworkDelegate::OnHeadersReceived( 405 int TestNetworkDelegate::OnHeadersReceived(
411 URLRequest* request, 406 URLRequest* request,
412 const CompletionCallback& callback, 407 const CompletionCallback& callback,
413 const HttpResponseHeaders* original_response_headers, 408 const HttpResponseHeaders* original_response_headers,
414 scoped_refptr<HttpResponseHeaders>* override_response_headers, 409 scoped_refptr<HttpResponseHeaders>* override_response_headers,
415 GURL* allowed_unsafe_redirect_url) { 410 GURL* allowed_unsafe_redirect_url) {
416 int req_id = request->identifier(); 411 int req_id = request->identifier();
417 event_order_[req_id] += "OnHeadersReceived\n"; 412 event_order_[req_id] += "OnHeadersReceived\n";
418 InitRequestStatesIfNew(req_id); 413 InitRequestStatesIfNew(req_id);
419 EXPECT_TRUE(next_states_[req_id] & kStageHeadersReceived) << 414 EXPECT_TRUE(next_states_[req_id] & kStageHeadersReceived)
420 event_order_[req_id]; 415 << event_order_[req_id];
421 next_states_[req_id] = 416 next_states_[req_id] = kStageBeforeRedirect | kStageResponseStarted |
422 kStageBeforeRedirect | 417 kStageAuthRequired |
423 kStageResponseStarted | 418 kStageCompletedError; // e.g. proxy resolution problem
424 kStageAuthRequired |
425 kStageCompletedError; // e.g. proxy resolution problem
426 419
427 // Basic authentication sends a second request from the URLRequestHttpJob 420 // Basic authentication sends a second request from the URLRequestHttpJob
428 // layer before the URLRequest reports that a response has started. 421 // layer before the URLRequest reports that a response has started.
429 next_states_[req_id] |= kStageBeforeSendHeaders; 422 next_states_[req_id] |= kStageBeforeSendHeaders;
430 423
431 if (!redirect_on_headers_received_url_.is_empty()) { 424 if (!redirect_on_headers_received_url_.is_empty()) {
432 *override_response_headers = 425 *override_response_headers =
433 new net::HttpResponseHeaders(original_response_headers->raw_headers()); 426 new net::HttpResponseHeaders(original_response_headers->raw_headers());
434 (*override_response_headers)->ReplaceStatusLine("HTTP/1.1 302 Found"); 427 (*override_response_headers)->ReplaceStatusLine("HTTP/1.1 302 Found");
435 (*override_response_headers)->RemoveHeader("Location"); 428 (*override_response_headers)->RemoveHeader("Location");
436 (*override_response_headers)->AddHeader( 429 (*override_response_headers)
437 "Location: " + redirect_on_headers_received_url_.spec()); 430 ->AddHeader("Location: " + redirect_on_headers_received_url_.spec());
438 431
439 redirect_on_headers_received_url_ = GURL(); 432 redirect_on_headers_received_url_ = GURL();
440 433
441 if (!allowed_unsafe_redirect_url_.is_empty()) 434 if (!allowed_unsafe_redirect_url_.is_empty())
442 *allowed_unsafe_redirect_url = allowed_unsafe_redirect_url_; 435 *allowed_unsafe_redirect_url = allowed_unsafe_redirect_url_;
443 } 436 }
444 437
445 return OK; 438 return OK;
446 } 439 }
447 440
448 void TestNetworkDelegate::OnBeforeRedirect(URLRequest* request, 441 void TestNetworkDelegate::OnBeforeRedirect(URLRequest* request,
449 const GURL& new_location) { 442 const GURL& new_location) {
450 load_timing_info_before_redirect_ = LoadTimingInfo(); 443 load_timing_info_before_redirect_ = LoadTimingInfo();
451 request->GetLoadTimingInfo(&load_timing_info_before_redirect_); 444 request->GetLoadTimingInfo(&load_timing_info_before_redirect_);
452 has_load_timing_info_before_redirect_ = true; 445 has_load_timing_info_before_redirect_ = true;
453 EXPECT_FALSE(load_timing_info_before_redirect_.request_start_time.is_null()); 446 EXPECT_FALSE(load_timing_info_before_redirect_.request_start_time.is_null());
454 EXPECT_FALSE(load_timing_info_before_redirect_.request_start.is_null()); 447 EXPECT_FALSE(load_timing_info_before_redirect_.request_start.is_null());
455 448
456 int req_id = request->identifier(); 449 int req_id = request->identifier();
457 InitRequestStatesIfNew(req_id); 450 InitRequestStatesIfNew(req_id);
458 event_order_[req_id] += "OnBeforeRedirect\n"; 451 event_order_[req_id] += "OnBeforeRedirect\n";
459 EXPECT_TRUE(next_states_[req_id] & kStageBeforeRedirect) << 452 EXPECT_TRUE(next_states_[req_id] & kStageBeforeRedirect)
460 event_order_[req_id]; 453 << event_order_[req_id];
461 next_states_[req_id] = 454 next_states_[req_id] =
462 kStageBeforeURLRequest | // HTTP redirects trigger this. 455 kStageBeforeURLRequest | // HTTP redirects trigger this.
463 kStageBeforeSendHeaders | // Redirects from the network delegate do not 456 kStageBeforeSendHeaders | // Redirects from the network delegate do not
464 // trigger onBeforeURLRequest. 457 // trigger onBeforeURLRequest.
465 kStageCompletedError; 458 kStageCompletedError;
466 459
467 // A redirect can lead to a file or a data URL. In this case, we do not send 460 // A redirect can lead to a file or a data URL. In this case, we do not send
468 // headers. 461 // headers.
469 next_states_[req_id] |= kStageResponseStarted; 462 next_states_[req_id] |= kStageResponseStarted;
470 } 463 }
471 464
472 void TestNetworkDelegate::OnResponseStarted(URLRequest* request) { 465 void TestNetworkDelegate::OnResponseStarted(URLRequest* request) {
473 LoadTimingInfo load_timing_info; 466 LoadTimingInfo load_timing_info;
474 request->GetLoadTimingInfo(&load_timing_info); 467 request->GetLoadTimingInfo(&load_timing_info);
475 EXPECT_FALSE(load_timing_info.request_start_time.is_null()); 468 EXPECT_FALSE(load_timing_info.request_start_time.is_null());
476 EXPECT_FALSE(load_timing_info.request_start.is_null()); 469 EXPECT_FALSE(load_timing_info.request_start.is_null());
477 470
478 int req_id = request->identifier(); 471 int req_id = request->identifier();
479 InitRequestStatesIfNew(req_id); 472 InitRequestStatesIfNew(req_id);
480 event_order_[req_id] += "OnResponseStarted\n"; 473 event_order_[req_id] += "OnResponseStarted\n";
481 EXPECT_TRUE(next_states_[req_id] & kStageResponseStarted) << 474 EXPECT_TRUE(next_states_[req_id] & kStageResponseStarted)
482 event_order_[req_id]; 475 << event_order_[req_id];
483 next_states_[req_id] = kStageCompletedSuccess | kStageCompletedError; 476 next_states_[req_id] = kStageCompletedSuccess | kStageCompletedError;
484 if (request->status().status() == URLRequestStatus::FAILED) { 477 if (request->status().status() == URLRequestStatus::FAILED) {
485 error_count_++; 478 error_count_++;
486 last_error_ = request->status().error(); 479 last_error_ = request->status().error();
487 } 480 }
488 } 481 }
489 482
490 void TestNetworkDelegate::OnRawBytesRead(const URLRequest& request, 483 void TestNetworkDelegate::OnRawBytesRead(const URLRequest& request,
491 int bytes_read) { 484 int bytes_read) {
492 } 485 }
493 486
494 void TestNetworkDelegate::OnCompleted(URLRequest* request, bool started) { 487 void TestNetworkDelegate::OnCompleted(URLRequest* request, bool started) {
495 int req_id = request->identifier(); 488 int req_id = request->identifier();
496 InitRequestStatesIfNew(req_id); 489 InitRequestStatesIfNew(req_id);
497 event_order_[req_id] += "OnCompleted\n"; 490 event_order_[req_id] += "OnCompleted\n";
498 // Expect "Success -> (next_states_ & kStageCompletedSuccess)" 491 // Expect "Success -> (next_states_ & kStageCompletedSuccess)"
499 // is logically identical to 492 // is logically identical to
500 // Expect "!(Success) || (next_states_ & kStageCompletedSuccess)" 493 // Expect "!(Success) || (next_states_ & kStageCompletedSuccess)"
501 EXPECT_TRUE(!request->status().is_success() || 494 EXPECT_TRUE(!request->status().is_success() ||
502 (next_states_[req_id] & kStageCompletedSuccess)) << 495 (next_states_[req_id] & kStageCompletedSuccess))
503 event_order_[req_id]; 496 << event_order_[req_id];
504 EXPECT_TRUE(request->status().is_success() || 497 EXPECT_TRUE(request->status().is_success() ||
505 (next_states_[req_id] & kStageCompletedError)) << 498 (next_states_[req_id] & kStageCompletedError))
506 event_order_[req_id]; 499 << event_order_[req_id];
507 next_states_[req_id] = kStageURLRequestDestroyed; 500 next_states_[req_id] = kStageURLRequestDestroyed;
508 completed_requests_++; 501 completed_requests_++;
509 if (request->status().status() == URLRequestStatus::FAILED) { 502 if (request->status().status() == URLRequestStatus::FAILED) {
510 error_count_++; 503 error_count_++;
511 last_error_ = request->status().error(); 504 last_error_ = request->status().error();
512 } else if (request->status().status() == URLRequestStatus::CANCELED) { 505 } else if (request->status().status() == URLRequestStatus::CANCELED) {
513 canceled_requests_++; 506 canceled_requests_++;
514 } else { 507 } else {
515 DCHECK_EQ(URLRequestStatus::SUCCESS, request->status().status()); 508 DCHECK_EQ(URLRequestStatus::SUCCESS, request->status().status());
516 } 509 }
517 } 510 }
518 511
519 void TestNetworkDelegate::OnURLRequestDestroyed(URLRequest* request) { 512 void TestNetworkDelegate::OnURLRequestDestroyed(URLRequest* request) {
520 int req_id = request->identifier(); 513 int req_id = request->identifier();
521 InitRequestStatesIfNew(req_id); 514 InitRequestStatesIfNew(req_id);
522 event_order_[req_id] += "OnURLRequestDestroyed\n"; 515 event_order_[req_id] += "OnURLRequestDestroyed\n";
523 EXPECT_TRUE(next_states_[req_id] & kStageURLRequestDestroyed) << 516 EXPECT_TRUE(next_states_[req_id] & kStageURLRequestDestroyed)
524 event_order_[req_id]; 517 << event_order_[req_id];
525 next_states_[req_id] = kStageDestruction; 518 next_states_[req_id] = kStageDestruction;
526 destroyed_requests_++; 519 destroyed_requests_++;
527 } 520 }
528 521
529 void TestNetworkDelegate::OnPACScriptError(int line_number, 522 void TestNetworkDelegate::OnPACScriptError(int line_number,
530 const base::string16& error) { 523 const base::string16& error) {
531 } 524 }
532 525
533 NetworkDelegate::AuthRequiredResponse TestNetworkDelegate::OnAuthRequired( 526 NetworkDelegate::AuthRequiredResponse TestNetworkDelegate::OnAuthRequired(
534 URLRequest* request, 527 URLRequest* request,
535 const AuthChallengeInfo& auth_info, 528 const AuthChallengeInfo& auth_info,
536 const AuthCallback& callback, 529 const AuthCallback& callback,
537 AuthCredentials* credentials) { 530 AuthCredentials* credentials) {
538 load_timing_info_before_auth_ = LoadTimingInfo(); 531 load_timing_info_before_auth_ = LoadTimingInfo();
539 request->GetLoadTimingInfo(&load_timing_info_before_auth_); 532 request->GetLoadTimingInfo(&load_timing_info_before_auth_);
540 has_load_timing_info_before_auth_ = true; 533 has_load_timing_info_before_auth_ = true;
541 EXPECT_FALSE(load_timing_info_before_auth_.request_start_time.is_null()); 534 EXPECT_FALSE(load_timing_info_before_auth_.request_start_time.is_null());
542 EXPECT_FALSE(load_timing_info_before_auth_.request_start.is_null()); 535 EXPECT_FALSE(load_timing_info_before_auth_.request_start.is_null());
543 536
544 int req_id = request->identifier(); 537 int req_id = request->identifier();
545 InitRequestStatesIfNew(req_id); 538 InitRequestStatesIfNew(req_id);
546 event_order_[req_id] += "OnAuthRequired\n"; 539 event_order_[req_id] += "OnAuthRequired\n";
547 EXPECT_TRUE(next_states_[req_id] & kStageAuthRequired) << 540 EXPECT_TRUE(next_states_[req_id] & kStageAuthRequired)
548 event_order_[req_id]; 541 << event_order_[req_id];
549 next_states_[req_id] = kStageBeforeSendHeaders | 542 next_states_[req_id] =
543 kStageBeforeSendHeaders |
550 kStageAuthRequired | // For example, proxy auth followed by server auth. 544 kStageAuthRequired | // For example, proxy auth followed by server auth.
551 kStageHeadersReceived | // Request canceled by delegate simulates empty 545 kStageHeadersReceived | // Request canceled by delegate simulates empty
552 // response. 546 // response.
553 kStageResponseStarted | // data: URLs do not trigger sending headers 547 kStageResponseStarted | // data: URLs do not trigger sending headers
554 kStageBeforeRedirect | // a delegate can trigger a redirection 548 kStageBeforeRedirect | // a delegate can trigger a redirection
555 kStageCompletedError; // request cancelled before callback 549 kStageCompletedError; // request cancelled before callback
556 return NetworkDelegate::AUTH_REQUIRED_RESPONSE_NO_ACTION; 550 return NetworkDelegate::AUTH_REQUIRED_RESPONSE_NO_ACTION;
557 } 551 }
558 552
559 bool TestNetworkDelegate::OnCanGetCookies(const URLRequest& request, 553 bool TestNetworkDelegate::OnCanGetCookies(const URLRequest& request,
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 int TestNetworkDelegate::OnBeforeSocketStreamConnect( 592 int TestNetworkDelegate::OnBeforeSocketStreamConnect(
599 SocketStream* socket, 593 SocketStream* socket,
600 const CompletionCallback& callback) { 594 const CompletionCallback& callback) {
601 return OK; 595 return OK;
602 } 596 }
603 597
604 // static 598 // static
605 std::string ScopedCustomUrlRequestTestHttpHost::value_("127.0.0.1"); 599 std::string ScopedCustomUrlRequestTestHttpHost::value_("127.0.0.1");
606 600
607 ScopedCustomUrlRequestTestHttpHost::ScopedCustomUrlRequestTestHttpHost( 601 ScopedCustomUrlRequestTestHttpHost::ScopedCustomUrlRequestTestHttpHost(
608 const std::string& new_value) 602 const std::string& new_value)
609 : old_value_(value_), 603 : old_value_(value_), new_value_(new_value) {
610 new_value_(new_value) {
611 value_ = new_value_; 604 value_ = new_value_;
612 } 605 }
613 606
614 ScopedCustomUrlRequestTestHttpHost::~ScopedCustomUrlRequestTestHttpHost() { 607 ScopedCustomUrlRequestTestHttpHost::~ScopedCustomUrlRequestTestHttpHost() {
615 DCHECK_EQ(value_, new_value_); 608 DCHECK_EQ(value_, new_value_);
616 value_ = old_value_; 609 value_ = old_value_;
617 } 610 }
618 611
619 // static 612 // static
620 const std::string& ScopedCustomUrlRequestTestHttpHost::value() { 613 const std::string& ScopedCustomUrlRequestTestHttpHost::value() {
621 return value_; 614 return value_;
622 } 615 }
623 616
624 TestJobInterceptor::TestJobInterceptor() : main_intercept_job_(NULL) { 617 TestJobInterceptor::TestJobInterceptor() : main_intercept_job_(NULL) {
625 } 618 }
626 619
627 URLRequestJob* TestJobInterceptor::MaybeCreateJob( 620 URLRequestJob* TestJobInterceptor::MaybeCreateJob(
628 URLRequest* request, 621 URLRequest* request,
629 NetworkDelegate* network_delegate) const { 622 NetworkDelegate* network_delegate) const {
630 URLRequestJob* job = main_intercept_job_; 623 URLRequestJob* job = main_intercept_job_;
631 main_intercept_job_ = NULL; 624 main_intercept_job_ = NULL;
632 return job; 625 return job;
633 } 626 }
634 627
635 void TestJobInterceptor::set_main_intercept_job(URLRequestJob* job) { 628 void TestJobInterceptor::set_main_intercept_job(URLRequestJob* job) {
636 main_intercept_job_ = job; 629 main_intercept_job_ = job;
637 } 630 }
638 631
639 } // namespace net 632 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698