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

Side by Side Diff: net/http/http_proxy_client_socket_pool_unittest.cc

Issue 1852423004: Implement SpdySerializedFrame move semantics. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « net/http/http_network_transaction_unittest.cc ('k') | net/quic/quic_headers_stream.cc » ('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 "net/http/http_proxy_client_socket_pool.h" 5 #include "net/http/http_proxy_client_socket_pool.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 "Host: www.google.com:443\r\n" 281 "Host: www.google.com:443\r\n"
282 "Proxy-Connection: keep-alive\r\n\r\n"), 282 "Proxy-Connection: keep-alive\r\n\r\n"),
283 }; 283 };
284 MockRead reads[] = { 284 MockRead reads[] = {
285 // No credentials. 285 // No credentials.
286 MockRead(ASYNC, 1, "HTTP/1.1 407 Proxy Authentication Required\r\n"), 286 MockRead(ASYNC, 1, "HTTP/1.1 407 Proxy Authentication Required\r\n"),
287 MockRead(ASYNC, 2, "Proxy-Authenticate: Basic realm=\"MyRealm1\"\r\n"), 287 MockRead(ASYNC, 2, "Proxy-Authenticate: Basic realm=\"MyRealm1\"\r\n"),
288 MockRead(ASYNC, 3, "Content-Length: 10\r\n\r\n"), 288 MockRead(ASYNC, 3, "Content-Length: 10\r\n\r\n"),
289 MockRead(ASYNC, 4, "0123456789"), 289 MockRead(ASYNC, 4, "0123456789"),
290 }; 290 };
291 scoped_ptr<SpdyFrame> req(spdy_util_.ConstructSpdyConnect( 291 scoped_ptr<SpdySerializedFrame> req(spdy_util_.ConstructSpdyConnect(
292 NULL, 0, 1, LOW, HostPortPair("www.google.com", 443))); 292 NULL, 0, 1, LOW, HostPortPair("www.google.com", 443)));
293 scoped_ptr<SpdyFrame> rst( 293 scoped_ptr<SpdySerializedFrame> rst(
294 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); 294 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL));
295 MockWrite spdy_writes[] = { 295 MockWrite spdy_writes[] = {
296 CreateMockWrite(*req, 0, ASYNC), 296 CreateMockWrite(*req, 0, ASYNC),
297 CreateMockWrite(*rst, 2, ASYNC), 297 CreateMockWrite(*rst, 2, ASYNC),
298 }; 298 };
299 SpdyHeaderBlock resp_block; 299 SpdyHeaderBlock resp_block;
300 resp_block[spdy_util_.GetStatusKey()] = "407"; 300 resp_block[spdy_util_.GetStatusKey()] = "407";
301 resp_block["proxy-authenticate"] = "Basic realm=\"MyRealm1\""; 301 resp_block["proxy-authenticate"] = "Basic realm=\"MyRealm1\"";
302 spdy_util_.MaybeAddVersionHeader(&resp_block); 302 spdy_util_.MaybeAddVersionHeader(&resp_block);
303 303
304 scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyReply(1, resp_block)); 304 scoped_ptr<SpdySerializedFrame> resp(
305 spdy_util_.ConstructSpdyReply(1, resp_block));
305 MockRead spdy_reads[] = { 306 MockRead spdy_reads[] = {
306 CreateMockRead(*resp, 1, ASYNC), 307 CreateMockRead(*resp, 1, ASYNC),
307 MockRead(ASYNC, 0, 3) 308 MockRead(ASYNC, 0, 3)
308 }; 309 };
309 310
310 Initialize(reads, arraysize(reads), writes, arraysize(writes), 311 Initialize(reads, arraysize(reads), writes, arraysize(writes),
311 spdy_reads, arraysize(spdy_reads), spdy_writes, 312 spdy_reads, arraysize(spdy_reads), spdy_writes,
312 arraysize(spdy_writes)); 313 arraysize(spdy_writes));
313 314
314 int rv = handle_.Init("a", CreateTunnelParams(NULL), LOW, 315 int rv = handle_.Init("a", CreateTunnelParams(NULL), LOW,
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n" 390 "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n"
390 "Foo: " + 391 "Foo: " +
391 proxy_host_port + "\r\n\r\n"; 392 proxy_host_port + "\r\n\r\n";
392 MockWrite writes[] = { 393 MockWrite writes[] = {
393 MockWrite(ASYNC, 0, request.c_str()), 394 MockWrite(ASYNC, 0, request.c_str()),
394 }; 395 };
395 MockRead reads[] = { 396 MockRead reads[] = {
396 MockRead(ASYNC, 1, "HTTP/1.1 200 Connection Established\r\n\r\n"), 397 MockRead(ASYNC, 1, "HTTP/1.1 200 Connection Established\r\n\r\n"),
397 }; 398 };
398 399
399 scoped_ptr<SpdyFrame> req( 400 scoped_ptr<SpdySerializedFrame> req(
400 spdy_util_.ConstructSpdyConnect(kAuthHeaders, kAuthHeadersSize, 1, LOW, 401 spdy_util_.ConstructSpdyConnect(kAuthHeaders, kAuthHeadersSize, 1, LOW,
401 HostPortPair("www.google.com", 443))); 402 HostPortPair("www.google.com", 443)));
402 MockWrite spdy_writes[] = { 403 MockWrite spdy_writes[] = {
403 CreateMockWrite(*req, 0, ASYNC) 404 CreateMockWrite(*req, 0, ASYNC)
404 }; 405 };
405 scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); 406 scoped_ptr<SpdySerializedFrame> resp(
407 spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1));
406 MockRead spdy_reads[] = { 408 MockRead spdy_reads[] = {
407 CreateMockRead(*resp, 1, ASYNC), 409 CreateMockRead(*resp, 1, ASYNC),
408 // Connection stays open. 410 // Connection stays open.
409 MockRead(SYNCHRONOUS, ERR_IO_PENDING, 2), 411 MockRead(SYNCHRONOUS, ERR_IO_PENDING, 2),
410 }; 412 };
411 413
412 Initialize(reads, arraysize(reads), writes, arraysize(writes), 414 Initialize(reads, arraysize(reads), writes, arraysize(writes),
413 spdy_reads, arraysize(spdy_reads), spdy_writes, 415 spdy_reads, arraysize(spdy_reads), spdy_writes,
414 arraysize(spdy_writes)); 416 arraysize(spdy_writes));
415 AddAuthToCache(); 417 AddAuthToCache();
(...skipping 15 matching lines...) Expand all
431 proxy_host_port.c_str()); 433 proxy_host_port.c_str());
432 } 434 }
433 435
434 // Make sure that HttpProxyConnectJob passes on its priority to its 436 // Make sure that HttpProxyConnectJob passes on its priority to its
435 // SPDY session's socket request on Init (if applicable). 437 // SPDY session's socket request on Init (if applicable).
436 TEST_P(HttpProxyClientSocketPoolTest, 438 TEST_P(HttpProxyClientSocketPoolTest,
437 SetSpdySessionSocketRequestPriorityOnInit) { 439 SetSpdySessionSocketRequestPriorityOnInit) {
438 if (GetParam().proxy_type != SPDY) 440 if (GetParam().proxy_type != SPDY)
439 return; 441 return;
440 442
441 scoped_ptr<SpdyFrame> req( 443 scoped_ptr<SpdySerializedFrame> req(
442 spdy_util_.ConstructSpdyConnect(kAuthHeaders, kAuthHeadersSize, 1, MEDIUM, 444 spdy_util_.ConstructSpdyConnect(kAuthHeaders, kAuthHeadersSize, 1, MEDIUM,
443 HostPortPair("www.google.com", 443))); 445 HostPortPair("www.google.com", 443)));
444 MockWrite spdy_writes[] = { 446 MockWrite spdy_writes[] = {
445 CreateMockWrite(*req, 0, ASYNC) 447 CreateMockWrite(*req, 0, ASYNC)
446 }; 448 };
447 scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); 449 scoped_ptr<SpdySerializedFrame> resp(
450 spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1));
448 MockRead spdy_reads[] = { 451 MockRead spdy_reads[] = {
449 CreateMockRead(*resp, 1, ASYNC), 452 CreateMockRead(*resp, 1, ASYNC),
450 MockRead(ASYNC, 0, 2) 453 MockRead(ASYNC, 0, 2)
451 }; 454 };
452 455
453 Initialize(NULL, 0, NULL, 0, 456 Initialize(NULL, 0, NULL, 0,
454 spdy_reads, arraysize(spdy_reads), 457 spdy_reads, arraysize(spdy_reads),
455 spdy_writes, arraysize(spdy_writes)); 458 spdy_writes, arraysize(spdy_writes));
456 AddAuthToCache(); 459 AddAuthToCache();
457 460
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 MockWrite(ASYNC, 0, 544 MockWrite(ASYNC, 0,
542 "CONNECT www.google.com:443 HTTP/1.1\r\n" 545 "CONNECT www.google.com:443 HTTP/1.1\r\n"
543 "Host: www.google.com:443\r\n" 546 "Host: www.google.com:443\r\n"
544 "Proxy-Connection: keep-alive\r\n" 547 "Proxy-Connection: keep-alive\r\n"
545 "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), 548 "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n\r\n"),
546 }; 549 };
547 MockRead reads[] = { 550 MockRead reads[] = {
548 MockRead(ASYNC, 1, "HTTP/1.1 200 Conn"), 551 MockRead(ASYNC, 1, "HTTP/1.1 200 Conn"),
549 MockRead(ASYNC, ERR_CONNECTION_CLOSED, 2), 552 MockRead(ASYNC, ERR_CONNECTION_CLOSED, 2),
550 }; 553 };
551 scoped_ptr<SpdyFrame> req( 554 scoped_ptr<SpdySerializedFrame> req(
552 spdy_util_.ConstructSpdyConnect(kAuthHeaders, kAuthHeadersSize, 1, LOW, 555 spdy_util_.ConstructSpdyConnect(kAuthHeaders, kAuthHeadersSize, 1, LOW,
553 HostPortPair("www.google.com", 443))); 556 HostPortPair("www.google.com", 443)));
554 MockWrite spdy_writes[] = { 557 MockWrite spdy_writes[] = {
555 CreateMockWrite(*req, 0, ASYNC) 558 CreateMockWrite(*req, 0, ASYNC)
556 }; 559 };
557 MockRead spdy_reads[] = { 560 MockRead spdy_reads[] = {
558 MockRead(ASYNC, ERR_CONNECTION_CLOSED, 1), 561 MockRead(ASYNC, ERR_CONNECTION_CLOSED, 1),
559 }; 562 };
560 563
561 Initialize(reads, arraysize(reads), writes, arraysize(writes), 564 Initialize(reads, arraysize(reads), writes, arraysize(writes),
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
616 MockWrite writes[] = { 619 MockWrite writes[] = {
617 MockWrite(ASYNC, 0, 620 MockWrite(ASYNC, 0,
618 "CONNECT www.google.com:443 HTTP/1.1\r\n" 621 "CONNECT www.google.com:443 HTTP/1.1\r\n"
619 "Host: www.google.com:443\r\n" 622 "Host: www.google.com:443\r\n"
620 "Proxy-Connection: keep-alive\r\n" 623 "Proxy-Connection: keep-alive\r\n"
621 "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), 624 "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n\r\n"),
622 }; 625 };
623 MockRead reads[] = { 626 MockRead reads[] = {
624 MockRead(ASYNC, 1, "HTTP/1.1 304 Not Modified\r\n\r\n"), 627 MockRead(ASYNC, 1, "HTTP/1.1 304 Not Modified\r\n\r\n"),
625 }; 628 };
626 scoped_ptr<SpdyFrame> req( 629 scoped_ptr<SpdySerializedFrame> req(
627 spdy_util_.ConstructSpdyConnect(kAuthHeaders, kAuthHeadersSize, 1, LOW, 630 spdy_util_.ConstructSpdyConnect(kAuthHeaders, kAuthHeadersSize, 1, LOW,
628 HostPortPair("www.google.com", 443))); 631 HostPortPair("www.google.com", 443)));
629 scoped_ptr<SpdyFrame> rst( 632 scoped_ptr<SpdySerializedFrame> rst(
630 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); 633 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL));
631 MockWrite spdy_writes[] = { 634 MockWrite spdy_writes[] = {
632 CreateMockWrite(*req, 0, ASYNC), 635 CreateMockWrite(*req, 0, ASYNC),
633 CreateMockWrite(*rst, 2, ASYNC), 636 CreateMockWrite(*rst, 2, ASYNC),
634 }; 637 };
635 scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdySynReplyError(1)); 638 scoped_ptr<SpdySerializedFrame> resp(
639 spdy_util_.ConstructSpdySynReplyError(1));
636 MockRead spdy_reads[] = { 640 MockRead spdy_reads[] = {
637 CreateMockRead(*resp, 1, ASYNC), 641 CreateMockRead(*resp, 1, ASYNC),
638 MockRead(ASYNC, 0, 3), 642 MockRead(ASYNC, 0, 3),
639 }; 643 };
640 644
641 Initialize(reads, arraysize(reads), writes, arraysize(writes), 645 Initialize(reads, arraysize(reads), writes, arraysize(writes),
642 spdy_reads, arraysize(spdy_reads), spdy_writes, 646 spdy_reads, arraysize(spdy_reads), spdy_writes,
643 arraysize(spdy_writes)); 647 arraysize(spdy_writes));
644 AddAuthToCache(); 648 AddAuthToCache();
645 649
(...skipping 21 matching lines...) Expand all
667 MockWrite writes[] = { 671 MockWrite writes[] = {
668 MockWrite(ASYNC, 0, 672 MockWrite(ASYNC, 0,
669 "CONNECT www.google.com:443 HTTP/1.1\r\n" 673 "CONNECT www.google.com:443 HTTP/1.1\r\n"
670 "Host: www.google.com:443\r\n" 674 "Host: www.google.com:443\r\n"
671 "Proxy-Connection: keep-alive\r\n" 675 "Proxy-Connection: keep-alive\r\n"
672 "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), 676 "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n\r\n"),
673 }; 677 };
674 MockRead reads[] = { 678 MockRead reads[] = {
675 MockRead(ASYNC, 1, responseText.c_str()), 679 MockRead(ASYNC, 1, responseText.c_str()),
676 }; 680 };
677 scoped_ptr<SpdyFrame> req( 681 scoped_ptr<SpdySerializedFrame> req(
678 spdy_util_.ConstructSpdyConnect(kAuthHeaders, kAuthHeadersSize, 1, LOW, 682 spdy_util_.ConstructSpdyConnect(kAuthHeaders, kAuthHeadersSize, 1, LOW,
679 HostPortPair("www.google.com", 443))); 683 HostPortPair("www.google.com", 443)));
680 scoped_ptr<SpdyFrame> rst( 684 scoped_ptr<SpdySerializedFrame> rst(
681 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); 685 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL));
682 686
683 MockWrite spdy_writes[] = { 687 MockWrite spdy_writes[] = {
684 CreateMockWrite(*req, 0, ASYNC), 688 CreateMockWrite(*req, 0, ASYNC),
685 CreateMockWrite(*rst, 3, ASYNC), 689 CreateMockWrite(*rst, 3, ASYNC),
686 }; 690 };
687 691
688 const char* const responseHeaders[] = { 692 const char* const responseHeaders[] = {
689 "location", redirectTarget.c_str(), 693 "location", redirectTarget.c_str(),
690 "set-cookie", "foo=bar", 694 "set-cookie", "foo=bar",
691 }; 695 };
692 const int responseHeadersSize = arraysize(responseHeaders) / 2; 696 const int responseHeadersSize = arraysize(responseHeaders) / 2;
693 scoped_ptr<SpdyFrame> resp( 697 scoped_ptr<SpdySerializedFrame> resp(spdy_util_.ConstructSpdySynReplyError(
694 spdy_util_.ConstructSpdySynReplyError( 698 "302 Found", responseHeaders, responseHeadersSize, 1));
695 "302 Found",
696 responseHeaders, responseHeadersSize,
697 1));
698 MockRead spdy_reads[] = { 699 MockRead spdy_reads[] = {
699 CreateMockRead(*resp, 1, ASYNC), 700 CreateMockRead(*resp, 1, ASYNC),
700 MockRead(ASYNC, 0, 2), 701 MockRead(ASYNC, 0, 2),
701 }; 702 };
702 703
703 Initialize(reads, arraysize(reads), writes, arraysize(writes), 704 Initialize(reads, arraysize(reads), writes, arraysize(writes),
704 spdy_reads, arraysize(spdy_reads), spdy_writes, 705 spdy_reads, arraysize(spdy_reads), spdy_writes,
705 arraysize(spdy_writes)); 706 arraysize(spdy_writes));
706 AddAuthToCache(); 707 AddAuthToCache();
707 708
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
739 // Make sure Location header was included and correct. 740 // Make sure Location header was included and correct.
740 std::string location; 741 std::string location;
741 EXPECT_TRUE(headers->IsRedirect(&location)); 742 EXPECT_TRUE(headers->IsRedirect(&location));
742 EXPECT_EQ(location, redirectTarget); 743 EXPECT_EQ(location, redirectTarget);
743 } 744 }
744 } 745 }
745 746
746 // It would be nice to also test the timeouts in HttpProxyClientSocketPool. 747 // It would be nice to also test the timeouts in HttpProxyClientSocketPool.
747 748
748 } // namespace net 749 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_network_transaction_unittest.cc ('k') | net/quic/quic_headers_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698