OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 <math.h> // ceil | 5 #include <math.h> // ceil |
6 | 6 |
7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
8 #include "net/base/completion_callback.h" | 8 #include "net/base/completion_callback.h" |
9 #include "net/base/mock_host_resolver.h" | 9 #include "net/base/mock_host_resolver.h" |
10 #include "net/base/ssl_config_service_defaults.h" | 10 #include "net/base/ssl_config_service_defaults.h" |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 | 96 |
97 SessionDependencies session_deps; | 97 SessionDependencies session_deps; |
98 scoped_ptr<HttpTransaction> trans( | 98 scoped_ptr<HttpTransaction> trans( |
99 new HttpNetworkTransaction(CreateSession(&session_deps))); | 99 new HttpNetworkTransaction(CreateSession(&session_deps))); |
100 | 100 |
101 HttpRequestInfo request; | 101 HttpRequestInfo request; |
102 request.method = "GET"; | 102 request.method = "GET"; |
103 request.url = GURL("http://www.google.com/"); | 103 request.url = GURL("http://www.google.com/"); |
104 request.load_flags = 0; | 104 request.load_flags = 0; |
105 | 105 |
106 StaticMockSocket data(data_reads, NULL); | 106 StaticSocketDataProvider data(data_reads, NULL); |
107 session_deps.socket_factory.AddMockSocket(&data); | 107 session_deps.socket_factory.AddSocketDataProvider(&data); |
108 | 108 |
109 TestCompletionCallback callback; | 109 TestCompletionCallback callback; |
110 | 110 |
111 int rv = trans->Start(&request, &callback, NULL); | 111 int rv = trans->Start(&request, &callback, NULL); |
112 EXPECT_EQ(ERR_IO_PENDING, rv); | 112 EXPECT_EQ(ERR_IO_PENDING, rv); |
113 | 113 |
114 out.rv = callback.WaitForResult(); | 114 out.rv = callback.WaitForResult(); |
115 if (out.rv != OK) | 115 if (out.rv != OK) |
116 return out; | 116 return out; |
117 | 117 |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 }; | 365 }; |
366 MockRead data_reads1[] = { | 366 MockRead data_reads1[] = { |
367 MockRead("HTTP/1.1 404 Not Found\r\n"), | 367 MockRead("HTTP/1.1 404 Not Found\r\n"), |
368 MockRead("Server: Blah\r\n"), | 368 MockRead("Server: Blah\r\n"), |
369 MockRead("Content-Length: 1234\r\n\r\n"), | 369 MockRead("Content-Length: 1234\r\n\r\n"), |
370 | 370 |
371 // No response body because the test stops reading here. | 371 // No response body because the test stops reading here. |
372 MockRead(false, ERR_UNEXPECTED), // Should not be reached. | 372 MockRead(false, ERR_UNEXPECTED), // Should not be reached. |
373 }; | 373 }; |
374 | 374 |
375 StaticMockSocket data1(data_reads1, data_writes1); | 375 StaticSocketDataProvider data1(data_reads1, data_writes1); |
376 session_deps.socket_factory.AddMockSocket(&data1); | 376 session_deps.socket_factory.AddSocketDataProvider(&data1); |
377 | 377 |
378 TestCompletionCallback callback1; | 378 TestCompletionCallback callback1; |
379 | 379 |
380 int rv = trans->Start(&request, &callback1, NULL); | 380 int rv = trans->Start(&request, &callback1, NULL); |
381 EXPECT_EQ(ERR_IO_PENDING, rv); | 381 EXPECT_EQ(ERR_IO_PENDING, rv); |
382 | 382 |
383 rv = callback1.WaitForResult(); | 383 rv = callback1.WaitForResult(); |
384 EXPECT_EQ(OK, rv); | 384 EXPECT_EQ(OK, rv); |
385 | 385 |
386 const HttpResponseInfo* response = trans->GetResponseInfo(); | 386 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 23 matching lines...) Expand all Loading... |
410 SessionDependencies session_deps; | 410 SessionDependencies session_deps; |
411 scoped_refptr<HttpNetworkSession> session = CreateSession(&session_deps); | 411 scoped_refptr<HttpNetworkSession> session = CreateSession(&session_deps); |
412 | 412 |
413 MockRead data_reads[] = { | 413 MockRead data_reads[] = { |
414 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), | 414 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), |
415 MockRead("hello"), | 415 MockRead("hello"), |
416 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), | 416 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), |
417 MockRead("world"), | 417 MockRead("world"), |
418 MockRead(false, OK), | 418 MockRead(false, OK), |
419 }; | 419 }; |
420 StaticMockSocket data(data_reads, NULL); | 420 StaticSocketDataProvider data(data_reads, NULL); |
421 session_deps.socket_factory.AddMockSocket(&data); | 421 session_deps.socket_factory.AddSocketDataProvider(&data); |
422 | 422 |
423 const char* kExpectedResponseData[] = { | 423 const char* kExpectedResponseData[] = { |
424 "hello", "world" | 424 "hello", "world" |
425 }; | 425 }; |
426 | 426 |
427 for (int i = 0; i < 2; ++i) { | 427 for (int i = 0; i < 2; ++i) { |
428 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session)); | 428 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session)); |
429 | 429 |
430 HttpRequestInfo request; | 430 HttpRequestInfo request; |
431 request.method = "GET"; | 431 request.method = "GET"; |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
464 request.upload_data = new UploadData; | 464 request.upload_data = new UploadData; |
465 request.upload_data->AppendBytes("foo", 3); | 465 request.upload_data->AppendBytes("foo", 3); |
466 request.load_flags = 0; | 466 request.load_flags = 0; |
467 | 467 |
468 MockRead data_reads[] = { | 468 MockRead data_reads[] = { |
469 MockRead("HTTP/1.0 100 Continue\r\n\r\n"), | 469 MockRead("HTTP/1.0 100 Continue\r\n\r\n"), |
470 MockRead("HTTP/1.0 200 OK\r\n\r\n"), | 470 MockRead("HTTP/1.0 200 OK\r\n\r\n"), |
471 MockRead("hello world"), | 471 MockRead("hello world"), |
472 MockRead(false, OK), | 472 MockRead(false, OK), |
473 }; | 473 }; |
474 StaticMockSocket data(data_reads, NULL); | 474 StaticSocketDataProvider data(data_reads, NULL); |
475 session_deps.socket_factory.AddMockSocket(&data); | 475 session_deps.socket_factory.AddSocketDataProvider(&data); |
476 | 476 |
477 TestCompletionCallback callback; | 477 TestCompletionCallback callback; |
478 | 478 |
479 int rv = trans->Start(&request, &callback, NULL); | 479 int rv = trans->Start(&request, &callback, NULL); |
480 EXPECT_EQ(ERR_IO_PENDING, rv); | 480 EXPECT_EQ(ERR_IO_PENDING, rv); |
481 | 481 |
482 rv = callback.WaitForResult(); | 482 rv = callback.WaitForResult(); |
483 EXPECT_EQ(OK, rv); | 483 EXPECT_EQ(OK, rv); |
484 | 484 |
485 const HttpResponseInfo* response = trans->GetResponseInfo(); | 485 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 20 matching lines...) Expand all Loading... |
506 request.method = "GET"; | 506 request.method = "GET"; |
507 request.url = GURL("http://www.foo.com/"); | 507 request.url = GURL("http://www.foo.com/"); |
508 request.load_flags = 0; | 508 request.load_flags = 0; |
509 | 509 |
510 MockRead data_reads[] = { | 510 MockRead data_reads[] = { |
511 MockRead("HTTP/1.1 102 Unspecified status code\r\n\r\n" | 511 MockRead("HTTP/1.1 102 Unspecified status code\r\n\r\n" |
512 "HTTP/1.1 200 OK\r\n\r\n"), | 512 "HTTP/1.1 200 OK\r\n\r\n"), |
513 MockRead("hello world"), | 513 MockRead("hello world"), |
514 MockRead(false, OK), | 514 MockRead(false, OK), |
515 }; | 515 }; |
516 StaticMockSocket data(data_reads, NULL); | 516 StaticSocketDataProvider data(data_reads, NULL); |
517 session_deps.socket_factory.AddMockSocket(&data); | 517 session_deps.socket_factory.AddSocketDataProvider(&data); |
518 | 518 |
519 TestCompletionCallback callback; | 519 TestCompletionCallback callback; |
520 | 520 |
521 int rv = trans->Start(&request, &callback, NULL); | 521 int rv = trans->Start(&request, &callback, NULL); |
522 EXPECT_EQ(ERR_IO_PENDING, rv); | 522 EXPECT_EQ(ERR_IO_PENDING, rv); |
523 | 523 |
524 rv = callback.WaitForResult(); | 524 rv = callback.WaitForResult(); |
525 EXPECT_EQ(OK, rv); | 525 EXPECT_EQ(OK, rv); |
526 | 526 |
527 const HttpResponseInfo* response = trans->GetResponseInfo(); | 527 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 18 matching lines...) Expand all Loading... |
546 HttpRequestInfo request; | 546 HttpRequestInfo request; |
547 request.method = "GET"; | 547 request.method = "GET"; |
548 request.url = GURL("http://www.foo.com/"); | 548 request.url = GURL("http://www.foo.com/"); |
549 request.load_flags = 0; | 549 request.load_flags = 0; |
550 | 550 |
551 MockRead data1_reads[] = { | 551 MockRead data1_reads[] = { |
552 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), | 552 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), |
553 MockRead("hello"), | 553 MockRead("hello"), |
554 read_failure, // Now, we reuse the connection and fail the first read. | 554 read_failure, // Now, we reuse the connection and fail the first read. |
555 }; | 555 }; |
556 StaticMockSocket data1(data1_reads, NULL); | 556 StaticSocketDataProvider data1(data1_reads, NULL); |
557 session_deps.socket_factory.AddMockSocket(&data1); | 557 session_deps.socket_factory.AddSocketDataProvider(&data1); |
558 | 558 |
559 MockRead data2_reads[] = { | 559 MockRead data2_reads[] = { |
560 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), | 560 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), |
561 MockRead("world"), | 561 MockRead("world"), |
562 MockRead(true, OK), | 562 MockRead(true, OK), |
563 }; | 563 }; |
564 StaticMockSocket data2(data2_reads, NULL); | 564 StaticSocketDataProvider data2(data2_reads, NULL); |
565 session_deps.socket_factory.AddMockSocket(&data2); | 565 session_deps.socket_factory.AddSocketDataProvider(&data2); |
566 | 566 |
567 const char* kExpectedResponseData[] = { | 567 const char* kExpectedResponseData[] = { |
568 "hello", "world" | 568 "hello", "world" |
569 }; | 569 }; |
570 | 570 |
571 for (int i = 0; i < 2; ++i) { | 571 for (int i = 0; i < 2; ++i) { |
572 TestCompletionCallback callback; | 572 TestCompletionCallback callback; |
573 | 573 |
574 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session)); | 574 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session)); |
575 | 575 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
611 request.method = "GET"; | 611 request.method = "GET"; |
612 request.url = GURL("http://www.google.com/"); | 612 request.url = GURL("http://www.google.com/"); |
613 request.load_flags = 0; | 613 request.load_flags = 0; |
614 | 614 |
615 MockRead data_reads[] = { | 615 MockRead data_reads[] = { |
616 MockRead(true, ERR_CONNECTION_RESET), | 616 MockRead(true, ERR_CONNECTION_RESET), |
617 MockRead("HTTP/1.0 200 OK\r\n\r\n"), // Should not be used | 617 MockRead("HTTP/1.0 200 OK\r\n\r\n"), // Should not be used |
618 MockRead("hello world"), | 618 MockRead("hello world"), |
619 MockRead(false, OK), | 619 MockRead(false, OK), |
620 }; | 620 }; |
621 StaticMockSocket data(data_reads, NULL); | 621 StaticSocketDataProvider data(data_reads, NULL); |
622 session_deps.socket_factory.AddMockSocket(&data); | 622 session_deps.socket_factory.AddSocketDataProvider(&data); |
623 | 623 |
624 TestCompletionCallback callback; | 624 TestCompletionCallback callback; |
625 | 625 |
626 int rv = trans->Start(&request, &callback, NULL); | 626 int rv = trans->Start(&request, &callback, NULL); |
627 EXPECT_EQ(ERR_IO_PENDING, rv); | 627 EXPECT_EQ(ERR_IO_PENDING, rv); |
628 | 628 |
629 rv = callback.WaitForResult(); | 629 rv = callback.WaitForResult(); |
630 EXPECT_EQ(ERR_CONNECTION_RESET, rv); | 630 EXPECT_EQ(ERR_CONNECTION_RESET, rv); |
631 | 631 |
632 const HttpResponseInfo* response = trans->GetResponseInfo(); | 632 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
694 }; | 694 }; |
695 | 695 |
696 // Lastly, the server responds with the actual content. | 696 // Lastly, the server responds with the actual content. |
697 MockRead data_reads2[] = { | 697 MockRead data_reads2[] = { |
698 MockRead("HTTP/1.0 200 OK\r\n"), | 698 MockRead("HTTP/1.0 200 OK\r\n"), |
699 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 699 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
700 MockRead("Content-Length: 100\r\n\r\n"), | 700 MockRead("Content-Length: 100\r\n\r\n"), |
701 MockRead(false, OK), | 701 MockRead(false, OK), |
702 }; | 702 }; |
703 | 703 |
704 StaticMockSocket data1(data_reads1, data_writes1); | 704 StaticSocketDataProvider data1(data_reads1, data_writes1); |
705 StaticMockSocket data2(data_reads2, data_writes2); | 705 StaticSocketDataProvider data2(data_reads2, data_writes2); |
706 session_deps.socket_factory.AddMockSocket(&data1); | 706 session_deps.socket_factory.AddSocketDataProvider(&data1); |
707 session_deps.socket_factory.AddMockSocket(&data2); | 707 session_deps.socket_factory.AddSocketDataProvider(&data2); |
708 | 708 |
709 TestCompletionCallback callback1; | 709 TestCompletionCallback callback1; |
710 | 710 |
711 int rv = trans->Start(&request, &callback1, NULL); | 711 int rv = trans->Start(&request, &callback1, NULL); |
712 EXPECT_EQ(ERR_IO_PENDING, rv); | 712 EXPECT_EQ(ERR_IO_PENDING, rv); |
713 | 713 |
714 rv = callback1.WaitForResult(); | 714 rv = callback1.WaitForResult(); |
715 EXPECT_EQ(OK, rv); | 715 EXPECT_EQ(OK, rv); |
716 | 716 |
717 const HttpResponseInfo* response = trans->GetResponseInfo(); | 717 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
756 | 756 |
757 MockRead data_reads[] = { | 757 MockRead data_reads[] = { |
758 MockRead("HTTP/1.0 401 Unauthorized\r\n"), | 758 MockRead("HTTP/1.0 401 Unauthorized\r\n"), |
759 MockRead("WWW-Authenticate: Basic realm=\"MyRealm1\"\r\n"), | 759 MockRead("WWW-Authenticate: Basic realm=\"MyRealm1\"\r\n"), |
760 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 760 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
761 // Large content-length -- won't matter, as connection will be reset. | 761 // Large content-length -- won't matter, as connection will be reset. |
762 MockRead("Content-Length: 10000\r\n\r\n"), | 762 MockRead("Content-Length: 10000\r\n\r\n"), |
763 MockRead(false, ERR_FAILED), | 763 MockRead(false, ERR_FAILED), |
764 }; | 764 }; |
765 | 765 |
766 StaticMockSocket data(data_reads, data_writes); | 766 StaticSocketDataProvider data(data_reads, data_writes); |
767 session_deps.socket_factory.AddMockSocket(&data); | 767 session_deps.socket_factory.AddSocketDataProvider(&data); |
768 TestCompletionCallback callback; | 768 TestCompletionCallback callback; |
769 | 769 |
770 int rv = trans->Start(&request, &callback, NULL); | 770 int rv = trans->Start(&request, &callback, NULL); |
771 EXPECT_EQ(ERR_IO_PENDING, rv); | 771 EXPECT_EQ(ERR_IO_PENDING, rv); |
772 | 772 |
773 rv = callback.WaitForResult(); | 773 rv = callback.WaitForResult(); |
774 EXPECT_EQ(0, rv); | 774 EXPECT_EQ(0, rv); |
775 | 775 |
776 const HttpResponseInfo* response = trans->GetResponseInfo(); | 776 const HttpResponseInfo* response = trans->GetResponseInfo(); |
777 ASSERT_FALSE(response == NULL); | 777 ASSERT_FALSE(response == NULL); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
810 MockRead("Content-Length: 14\r\n\r\n"), | 810 MockRead("Content-Length: 14\r\n\r\n"), |
811 MockRead("Unauthorized\r\n"), | 811 MockRead("Unauthorized\r\n"), |
812 | 812 |
813 // Lastly, the server responds with the actual content. | 813 // Lastly, the server responds with the actual content. |
814 MockRead("HTTP/1.1 200 OK\r\n"), | 814 MockRead("HTTP/1.1 200 OK\r\n"), |
815 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 815 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
816 MockRead("Content-Length: 100\r\n\r\n"), | 816 MockRead("Content-Length: 100\r\n\r\n"), |
817 MockRead(false, OK), | 817 MockRead(false, OK), |
818 }; | 818 }; |
819 | 819 |
820 StaticMockSocket data1(data_reads1, data_writes1); | 820 StaticSocketDataProvider data1(data_reads1, data_writes1); |
821 session_deps.socket_factory.AddMockSocket(&data1); | 821 session_deps.socket_factory.AddSocketDataProvider(&data1); |
822 | 822 |
823 TestCompletionCallback callback1; | 823 TestCompletionCallback callback1; |
824 | 824 |
825 int rv = trans->Start(&request, &callback1, NULL); | 825 int rv = trans->Start(&request, &callback1, NULL); |
826 EXPECT_EQ(ERR_IO_PENDING, rv); | 826 EXPECT_EQ(ERR_IO_PENDING, rv); |
827 | 827 |
828 rv = callback1.WaitForResult(); | 828 rv = callback1.WaitForResult(); |
829 EXPECT_EQ(OK, rv); | 829 EXPECT_EQ(OK, rv); |
830 | 830 |
831 const HttpResponseInfo* response = trans->GetResponseInfo(); | 831 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 MockRead("WWW-Authenticate: Basic realm=\"MyRealm1\"\r\n"), | 887 MockRead("WWW-Authenticate: Basic realm=\"MyRealm1\"\r\n"), |
888 MockRead("Content-Length: 0\r\n\r\n"), | 888 MockRead("Content-Length: 0\r\n\r\n"), |
889 | 889 |
890 // Lastly, the server responds with the actual content. | 890 // Lastly, the server responds with the actual content. |
891 MockRead("HTTP/1.1 200 OK\r\n"), | 891 MockRead("HTTP/1.1 200 OK\r\n"), |
892 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 892 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
893 MockRead("Content-Length: 100\r\n\r\n"), | 893 MockRead("Content-Length: 100\r\n\r\n"), |
894 MockRead(false, OK), | 894 MockRead(false, OK), |
895 }; | 895 }; |
896 | 896 |
897 StaticMockSocket data1(data_reads1, data_writes1); | 897 StaticSocketDataProvider data1(data_reads1, data_writes1); |
898 session_deps.socket_factory.AddMockSocket(&data1); | 898 session_deps.socket_factory.AddSocketDataProvider(&data1); |
899 | 899 |
900 TestCompletionCallback callback1; | 900 TestCompletionCallback callback1; |
901 | 901 |
902 int rv = trans->Start(&request, &callback1, NULL); | 902 int rv = trans->Start(&request, &callback1, NULL); |
903 EXPECT_EQ(ERR_IO_PENDING, rv); | 903 EXPECT_EQ(ERR_IO_PENDING, rv); |
904 | 904 |
905 rv = callback1.WaitForResult(); | 905 rv = callback1.WaitForResult(); |
906 EXPECT_EQ(OK, rv); | 906 EXPECT_EQ(OK, rv); |
907 | 907 |
908 const HttpResponseInfo* response = trans->GetResponseInfo(); | 908 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
967 MockRead("Content-Length: 5134\r\n\r\n"), | 967 MockRead("Content-Length: 5134\r\n\r\n"), |
968 MockRead(true, large_body_string.data(), large_body_string.size()), | 968 MockRead(true, large_body_string.data(), large_body_string.size()), |
969 | 969 |
970 // Lastly, the server responds with the actual content. | 970 // Lastly, the server responds with the actual content. |
971 MockRead("HTTP/1.1 200 OK\r\n"), | 971 MockRead("HTTP/1.1 200 OK\r\n"), |
972 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 972 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
973 MockRead("Content-Length: 100\r\n\r\n"), | 973 MockRead("Content-Length: 100\r\n\r\n"), |
974 MockRead(false, OK), | 974 MockRead(false, OK), |
975 }; | 975 }; |
976 | 976 |
977 StaticMockSocket data1(data_reads1, data_writes1); | 977 StaticSocketDataProvider data1(data_reads1, data_writes1); |
978 session_deps.socket_factory.AddMockSocket(&data1); | 978 session_deps.socket_factory.AddSocketDataProvider(&data1); |
979 | 979 |
980 TestCompletionCallback callback1; | 980 TestCompletionCallback callback1; |
981 | 981 |
982 int rv = trans->Start(&request, &callback1, NULL); | 982 int rv = trans->Start(&request, &callback1, NULL); |
983 EXPECT_EQ(ERR_IO_PENDING, rv); | 983 EXPECT_EQ(ERR_IO_PENDING, rv); |
984 | 984 |
985 rv = callback1.WaitForResult(); | 985 rv = callback1.WaitForResult(); |
986 EXPECT_EQ(OK, rv); | 986 EXPECT_EQ(OK, rv); |
987 | 987 |
988 const HttpResponseInfo* response = trans->GetResponseInfo(); | 988 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1049 MockRead("0123456789"), | 1049 MockRead("0123456789"), |
1050 | 1050 |
1051 // Wrong credentials (wrong password). | 1051 // Wrong credentials (wrong password). |
1052 MockRead("HTTP/1.1 407 Proxy Authentication Required\r\n"), | 1052 MockRead("HTTP/1.1 407 Proxy Authentication Required\r\n"), |
1053 MockRead("Proxy-Authenticate: Basic realm=\"MyRealm1\"\r\n"), | 1053 MockRead("Proxy-Authenticate: Basic realm=\"MyRealm1\"\r\n"), |
1054 MockRead("Content-Length: 10\r\n\r\n"), | 1054 MockRead("Content-Length: 10\r\n\r\n"), |
1055 // No response body because the test stops reading here. | 1055 // No response body because the test stops reading here. |
1056 MockRead(false, ERR_UNEXPECTED), // Should not be reached. | 1056 MockRead(false, ERR_UNEXPECTED), // Should not be reached. |
1057 }; | 1057 }; |
1058 | 1058 |
1059 StaticMockSocket data1(data_reads1, data_writes1); | 1059 StaticSocketDataProvider data1(data_reads1, data_writes1); |
1060 session_deps.socket_factory.AddMockSocket(&data1); | 1060 session_deps.socket_factory.AddSocketDataProvider(&data1); |
1061 | 1061 |
1062 TestCompletionCallback callback1; | 1062 TestCompletionCallback callback1; |
1063 | 1063 |
1064 int rv = trans->Start(&request, &callback1, NULL); | 1064 int rv = trans->Start(&request, &callback1, NULL); |
1065 EXPECT_EQ(ERR_IO_PENDING, rv); | 1065 EXPECT_EQ(ERR_IO_PENDING, rv); |
1066 | 1066 |
1067 rv = callback1.WaitForResult(); | 1067 rv = callback1.WaitForResult(); |
1068 EXPECT_EQ(OK, rv); | 1068 EXPECT_EQ(OK, rv); |
1069 | 1069 |
1070 const HttpResponseInfo* response = trans->GetResponseInfo(); | 1070 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1130 }; | 1130 }; |
1131 | 1131 |
1132 // The proxy responds to the connect with a 407. | 1132 // The proxy responds to the connect with a 407. |
1133 MockRead data_reads[] = { | 1133 MockRead data_reads[] = { |
1134 MockRead("HTTP/1.1 407 Proxy Authentication Required\r\n"), | 1134 MockRead("HTTP/1.1 407 Proxy Authentication Required\r\n"), |
1135 MockRead("Proxy-Authenticate: Basic realm=\"MyRealm1\"\r\n"), | 1135 MockRead("Proxy-Authenticate: Basic realm=\"MyRealm1\"\r\n"), |
1136 MockRead("Content-Length: 10\r\n\r\n"), | 1136 MockRead("Content-Length: 10\r\n\r\n"), |
1137 MockRead(false, ERR_UNEXPECTED), // Should not be reached. | 1137 MockRead(false, ERR_UNEXPECTED), // Should not be reached. |
1138 }; | 1138 }; |
1139 | 1139 |
1140 StaticMockSocket data(data_reads, data_writes); | 1140 StaticSocketDataProvider data(data_reads, data_writes); |
1141 session_deps.socket_factory.AddMockSocket(&data); | 1141 session_deps.socket_factory.AddSocketDataProvider(&data); |
1142 | 1142 |
1143 TestCompletionCallback callback; | 1143 TestCompletionCallback callback; |
1144 | 1144 |
1145 int rv = trans->Start(&request, &callback, NULL); | 1145 int rv = trans->Start(&request, &callback, NULL); |
1146 EXPECT_EQ(ERR_IO_PENDING, rv); | 1146 EXPECT_EQ(ERR_IO_PENDING, rv); |
1147 | 1147 |
1148 rv = callback.WaitForResult(); | 1148 rv = callback.WaitForResult(); |
1149 EXPECT_EQ(OK, rv); | 1149 EXPECT_EQ(OK, rv); |
1150 | 1150 |
1151 const HttpResponseInfo* response = trans->GetResponseInfo(); | 1151 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 30 matching lines...) Expand all Loading... |
1182 "Proxy-Connection: keep-alive\r\n\r\n"), | 1182 "Proxy-Connection: keep-alive\r\n\r\n"), |
1183 }; | 1183 }; |
1184 | 1184 |
1185 MockRead data_reads[] = { | 1185 MockRead data_reads[] = { |
1186 status, | 1186 status, |
1187 MockRead("Content-Length: 10\r\n\r\n"), | 1187 MockRead("Content-Length: 10\r\n\r\n"), |
1188 // No response body because the test stops reading here. | 1188 // No response body because the test stops reading here. |
1189 MockRead(false, ERR_UNEXPECTED), // Should not be reached. | 1189 MockRead(false, ERR_UNEXPECTED), // Should not be reached. |
1190 }; | 1190 }; |
1191 | 1191 |
1192 StaticMockSocket data(data_reads, data_writes); | 1192 StaticSocketDataProvider data(data_reads, data_writes); |
1193 session_deps.socket_factory.AddMockSocket(&data); | 1193 session_deps.socket_factory.AddSocketDataProvider(&data); |
1194 | 1194 |
1195 TestCompletionCallback callback; | 1195 TestCompletionCallback callback; |
1196 | 1196 |
1197 int rv = trans->Start(&request, &callback, NULL); | 1197 int rv = trans->Start(&request, &callback, NULL); |
1198 EXPECT_EQ(ERR_IO_PENDING, rv); | 1198 EXPECT_EQ(ERR_IO_PENDING, rv); |
1199 | 1199 |
1200 rv = callback.WaitForResult(); | 1200 rv = callback.WaitForResult(); |
1201 EXPECT_EQ(expected_status, rv); | 1201 EXPECT_EQ(expected_status, rv); |
1202 } | 1202 } |
1203 | 1203 |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1437 }; | 1437 }; |
1438 | 1438 |
1439 // Lastly we get the desired content. | 1439 // Lastly we get the desired content. |
1440 MockRead data_reads3[] = { | 1440 MockRead data_reads3[] = { |
1441 MockRead("HTTP/1.0 200 OK\r\n"), | 1441 MockRead("HTTP/1.0 200 OK\r\n"), |
1442 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 1442 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
1443 MockRead("Content-Length: 100\r\n\r\n"), | 1443 MockRead("Content-Length: 100\r\n\r\n"), |
1444 MockRead(false, OK), | 1444 MockRead(false, OK), |
1445 }; | 1445 }; |
1446 | 1446 |
1447 StaticMockSocket data1(data_reads1, data_writes1); | 1447 StaticSocketDataProvider data1(data_reads1, data_writes1); |
1448 StaticMockSocket data2(data_reads2, data_writes2); | 1448 StaticSocketDataProvider data2(data_reads2, data_writes2); |
1449 StaticMockSocket data3(data_reads3, data_writes3); | 1449 StaticSocketDataProvider data3(data_reads3, data_writes3); |
1450 session_deps.socket_factory.AddMockSocket(&data1); | 1450 session_deps.socket_factory.AddSocketDataProvider(&data1); |
1451 session_deps.socket_factory.AddMockSocket(&data2); | 1451 session_deps.socket_factory.AddSocketDataProvider(&data2); |
1452 session_deps.socket_factory.AddMockSocket(&data3); | 1452 session_deps.socket_factory.AddSocketDataProvider(&data3); |
1453 | 1453 |
1454 TestCompletionCallback callback1; | 1454 TestCompletionCallback callback1; |
1455 | 1455 |
1456 int rv = trans->Start(&request, &callback1, NULL); | 1456 int rv = trans->Start(&request, &callback1, NULL); |
1457 EXPECT_EQ(ERR_IO_PENDING, rv); | 1457 EXPECT_EQ(ERR_IO_PENDING, rv); |
1458 | 1458 |
1459 rv = callback1.WaitForResult(); | 1459 rv = callback1.WaitForResult(); |
1460 EXPECT_EQ(OK, rv); | 1460 EXPECT_EQ(OK, rv); |
1461 | 1461 |
1462 const HttpResponseInfo* response = trans->GetResponseInfo(); | 1462 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1576 MockRead("You are not authorized to view this page\r\n"), | 1576 MockRead("You are not authorized to view this page\r\n"), |
1577 | 1577 |
1578 // Lastly we get the desired content. | 1578 // Lastly we get the desired content. |
1579 MockRead("HTTP/1.1 200 OK\r\n"), | 1579 MockRead("HTTP/1.1 200 OK\r\n"), |
1580 MockRead("Content-Type: text/html; charset=utf-8\r\n"), | 1580 MockRead("Content-Type: text/html; charset=utf-8\r\n"), |
1581 MockRead("Content-Length: 13\r\n\r\n"), | 1581 MockRead("Content-Length: 13\r\n\r\n"), |
1582 MockRead("Please Login\r\n"), | 1582 MockRead("Please Login\r\n"), |
1583 MockRead(false, OK), | 1583 MockRead(false, OK), |
1584 }; | 1584 }; |
1585 | 1585 |
1586 StaticMockSocket data1(data_reads1, data_writes1); | 1586 StaticSocketDataProvider data1(data_reads1, data_writes1); |
1587 StaticMockSocket data2(data_reads2, data_writes2); | 1587 StaticSocketDataProvider data2(data_reads2, data_writes2); |
1588 session_deps.socket_factory.AddMockSocket(&data1); | 1588 session_deps.socket_factory.AddSocketDataProvider(&data1); |
1589 session_deps.socket_factory.AddMockSocket(&data2); | 1589 session_deps.socket_factory.AddSocketDataProvider(&data2); |
1590 | 1590 |
1591 TestCompletionCallback callback1; | 1591 TestCompletionCallback callback1; |
1592 | 1592 |
1593 int rv = trans->Start(&request, &callback1, NULL); | 1593 int rv = trans->Start(&request, &callback1, NULL); |
1594 EXPECT_EQ(ERR_IO_PENDING, rv); | 1594 EXPECT_EQ(ERR_IO_PENDING, rv); |
1595 | 1595 |
1596 rv = callback1.WaitForResult(); | 1596 rv = callback1.WaitForResult(); |
1597 EXPECT_EQ(OK, rv); | 1597 EXPECT_EQ(OK, rv); |
1598 | 1598 |
1599 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); | 1599 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1746 MockRead("You are not authorized to view this page\r\n"), | 1746 MockRead("You are not authorized to view this page\r\n"), |
1747 | 1747 |
1748 // Lastly we get the desired content. | 1748 // Lastly we get the desired content. |
1749 MockRead("HTTP/1.1 200 OK\r\n"), | 1749 MockRead("HTTP/1.1 200 OK\r\n"), |
1750 MockRead("Content-Type: text/html; charset=utf-8\r\n"), | 1750 MockRead("Content-Type: text/html; charset=utf-8\r\n"), |
1751 MockRead("Content-Length: 13\r\n\r\n"), | 1751 MockRead("Content-Length: 13\r\n\r\n"), |
1752 MockRead("Please Login\r\n"), | 1752 MockRead("Please Login\r\n"), |
1753 MockRead(false, OK), | 1753 MockRead(false, OK), |
1754 }; | 1754 }; |
1755 | 1755 |
1756 StaticMockSocket data1(data_reads1, data_writes1); | 1756 StaticSocketDataProvider data1(data_reads1, data_writes1); |
1757 StaticMockSocket data2(data_reads2, data_writes2); | 1757 StaticSocketDataProvider data2(data_reads2, data_writes2); |
1758 StaticMockSocket data3(data_reads3, data_writes3); | 1758 StaticSocketDataProvider data3(data_reads3, data_writes3); |
1759 session_deps.socket_factory.AddMockSocket(&data1); | 1759 session_deps.socket_factory.AddSocketDataProvider(&data1); |
1760 session_deps.socket_factory.AddMockSocket(&data2); | 1760 session_deps.socket_factory.AddSocketDataProvider(&data2); |
1761 session_deps.socket_factory.AddMockSocket(&data3); | 1761 session_deps.socket_factory.AddSocketDataProvider(&data3); |
1762 | 1762 |
1763 TestCompletionCallback callback1; | 1763 TestCompletionCallback callback1; |
1764 | 1764 |
1765 int rv = trans->Start(&request, &callback1, NULL); | 1765 int rv = trans->Start(&request, &callback1, NULL); |
1766 EXPECT_EQ(ERR_IO_PENDING, rv); | 1766 EXPECT_EQ(ERR_IO_PENDING, rv); |
1767 | 1767 |
1768 rv = callback1.WaitForResult(); | 1768 rv = callback1.WaitForResult(); |
1769 EXPECT_EQ(OK, rv); | 1769 EXPECT_EQ(OK, rv); |
1770 | 1770 |
1771 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); | 1771 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1844 // Respond with 300 kb of headers (we should fail after 256 kb). | 1844 // Respond with 300 kb of headers (we should fail after 256 kb). |
1845 std::string large_headers_string; | 1845 std::string large_headers_string; |
1846 FillLargeHeadersString(&large_headers_string, 300 * 1024); | 1846 FillLargeHeadersString(&large_headers_string, 300 * 1024); |
1847 | 1847 |
1848 MockRead data_reads[] = { | 1848 MockRead data_reads[] = { |
1849 MockRead("HTTP/1.0 200 OK\r\n"), | 1849 MockRead("HTTP/1.0 200 OK\r\n"), |
1850 MockRead(true, large_headers_string.data(), large_headers_string.size()), | 1850 MockRead(true, large_headers_string.data(), large_headers_string.size()), |
1851 MockRead("\r\nBODY"), | 1851 MockRead("\r\nBODY"), |
1852 MockRead(false, OK), | 1852 MockRead(false, OK), |
1853 }; | 1853 }; |
1854 StaticMockSocket data(data_reads, NULL); | 1854 StaticSocketDataProvider data(data_reads, NULL); |
1855 session_deps.socket_factory.AddMockSocket(&data); | 1855 session_deps.socket_factory.AddSocketDataProvider(&data); |
1856 | 1856 |
1857 TestCompletionCallback callback; | 1857 TestCompletionCallback callback; |
1858 | 1858 |
1859 int rv = trans->Start(&request, &callback, NULL); | 1859 int rv = trans->Start(&request, &callback, NULL); |
1860 EXPECT_EQ(ERR_IO_PENDING, rv); | 1860 EXPECT_EQ(ERR_IO_PENDING, rv); |
1861 | 1861 |
1862 rv = callback.WaitForResult(); | 1862 rv = callback.WaitForResult(); |
1863 EXPECT_EQ(ERR_RESPONSE_HEADERS_TOO_BIG, rv); | 1863 EXPECT_EQ(ERR_RESPONSE_HEADERS_TOO_BIG, rv); |
1864 | 1864 |
1865 const HttpResponseInfo* response = trans->GetResponseInfo(); | 1865 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 25 matching lines...) Expand all Loading... |
1891 | 1891 |
1892 // The proxy responds to the connect with a 404, using a persistent | 1892 // The proxy responds to the connect with a 404, using a persistent |
1893 // connection. Usually a proxy would return 501 (not implemented), | 1893 // connection. Usually a proxy would return 501 (not implemented), |
1894 // or 200 (tunnel established). | 1894 // or 200 (tunnel established). |
1895 MockRead data_reads1[] = { | 1895 MockRead data_reads1[] = { |
1896 MockRead("HTTP/1.1 404 Not Found\r\n"), | 1896 MockRead("HTTP/1.1 404 Not Found\r\n"), |
1897 MockRead("Content-Length: 10\r\n\r\n"), | 1897 MockRead("Content-Length: 10\r\n\r\n"), |
1898 MockRead(false, ERR_UNEXPECTED), // Should not be reached. | 1898 MockRead(false, ERR_UNEXPECTED), // Should not be reached. |
1899 }; | 1899 }; |
1900 | 1900 |
1901 StaticMockSocket data1(data_reads1, data_writes1); | 1901 StaticSocketDataProvider data1(data_reads1, data_writes1); |
1902 session_deps.socket_factory.AddMockSocket(&data1); | 1902 session_deps.socket_factory.AddSocketDataProvider(&data1); |
1903 | 1903 |
1904 TestCompletionCallback callback1; | 1904 TestCompletionCallback callback1; |
1905 | 1905 |
1906 int rv = trans->Start(&request, &callback1, NULL); | 1906 int rv = trans->Start(&request, &callback1, NULL); |
1907 EXPECT_EQ(ERR_IO_PENDING, rv); | 1907 EXPECT_EQ(ERR_IO_PENDING, rv); |
1908 | 1908 |
1909 rv = callback1.WaitForResult(); | 1909 rv = callback1.WaitForResult(); |
1910 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, rv); | 1910 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, rv); |
1911 | 1911 |
1912 const HttpResponseInfo* response = trans->GetResponseInfo(); | 1912 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 27 matching lines...) Expand all Loading... |
1940 MockRead data_reads[] = { | 1940 MockRead data_reads[] = { |
1941 // A part of the response body is received with the response headers. | 1941 // A part of the response body is received with the response headers. |
1942 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 11\r\n\r\nhel"), | 1942 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 11\r\n\r\nhel"), |
1943 // The rest of the response body is received in two parts. | 1943 // The rest of the response body is received in two parts. |
1944 MockRead("lo"), | 1944 MockRead("lo"), |
1945 MockRead(" world"), | 1945 MockRead(" world"), |
1946 MockRead("junk"), // Should not be read!! | 1946 MockRead("junk"), // Should not be read!! |
1947 MockRead(false, OK), | 1947 MockRead(false, OK), |
1948 }; | 1948 }; |
1949 | 1949 |
1950 StaticMockSocket data(data_reads, NULL); | 1950 StaticSocketDataProvider data(data_reads, NULL); |
1951 session_deps.socket_factory.AddMockSocket(&data); | 1951 session_deps.socket_factory.AddSocketDataProvider(&data); |
1952 | 1952 |
1953 TestCompletionCallback callback; | 1953 TestCompletionCallback callback; |
1954 | 1954 |
1955 int rv = trans->Start(&request, &callback, NULL); | 1955 int rv = trans->Start(&request, &callback, NULL); |
1956 EXPECT_EQ(ERR_IO_PENDING, rv); | 1956 EXPECT_EQ(ERR_IO_PENDING, rv); |
1957 | 1957 |
1958 rv = callback.WaitForResult(); | 1958 rv = callback.WaitForResult(); |
1959 EXPECT_EQ(OK, rv); | 1959 EXPECT_EQ(OK, rv); |
1960 | 1960 |
1961 const HttpResponseInfo* response = trans->GetResponseInfo(); | 1961 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1997 request.load_flags = 0; | 1997 request.load_flags = 0; |
1998 | 1998 |
1999 MockRead data_reads[] = { | 1999 MockRead data_reads[] = { |
2000 MockRead("HTTP/1.1 204 No Content\r\n" | 2000 MockRead("HTTP/1.1 204 No Content\r\n" |
2001 "Content-Length: 0\r\n" | 2001 "Content-Length: 0\r\n" |
2002 "Content-Type: text/html\r\n\r\n"), | 2002 "Content-Type: text/html\r\n\r\n"), |
2003 MockRead("junk"), // Should not be read!! | 2003 MockRead("junk"), // Should not be read!! |
2004 MockRead(false, OK), | 2004 MockRead(false, OK), |
2005 }; | 2005 }; |
2006 | 2006 |
2007 StaticMockSocket data(data_reads, NULL); | 2007 StaticSocketDataProvider data(data_reads, NULL); |
2008 session_deps.socket_factory.AddMockSocket(&data); | 2008 session_deps.socket_factory.AddSocketDataProvider(&data); |
2009 | 2009 |
2010 TestCompletionCallback callback; | 2010 TestCompletionCallback callback; |
2011 | 2011 |
2012 int rv = trans->Start(&request, &callback, NULL); | 2012 int rv = trans->Start(&request, &callback, NULL); |
2013 EXPECT_EQ(ERR_IO_PENDING, rv); | 2013 EXPECT_EQ(ERR_IO_PENDING, rv); |
2014 | 2014 |
2015 rv = callback.WaitForResult(); | 2015 rv = callback.WaitForResult(); |
2016 EXPECT_EQ(OK, rv); | 2016 EXPECT_EQ(OK, rv); |
2017 | 2017 |
2018 const HttpResponseInfo* response = trans->GetResponseInfo(); | 2018 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2066 MockRead("hello world"), | 2066 MockRead("hello world"), |
2067 MockRead(false, OK), | 2067 MockRead(false, OK), |
2068 }; | 2068 }; |
2069 // The mock write results of transaction 1 and the first attempt of | 2069 // The mock write results of transaction 1 and the first attempt of |
2070 // transaction 2. | 2070 // transaction 2. |
2071 MockWrite data_writes1[] = { | 2071 MockWrite data_writes1[] = { |
2072 MockWrite(false, 64), // GET | 2072 MockWrite(false, 64), // GET |
2073 MockWrite(false, 93), // POST | 2073 MockWrite(false, 93), // POST |
2074 MockWrite(false, ERR_CONNECTION_ABORTED), // POST data | 2074 MockWrite(false, ERR_CONNECTION_ABORTED), // POST data |
2075 }; | 2075 }; |
2076 StaticMockSocket data1(data_reads1, data_writes1); | 2076 StaticSocketDataProvider data1(data_reads1, data_writes1); |
2077 | 2077 |
2078 // The second socket is used for the second attempt of transaction 2. | 2078 // The second socket is used for the second attempt of transaction 2. |
2079 | 2079 |
2080 // The response of transaction 2. | 2080 // The response of transaction 2. |
2081 MockRead data_reads2[] = { | 2081 MockRead data_reads2[] = { |
2082 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 7\r\n\r\n"), | 2082 MockRead("HTTP/1.1 200 OK\r\nContent-Length: 7\r\n\r\n"), |
2083 MockRead("welcome"), | 2083 MockRead("welcome"), |
2084 MockRead(false, OK), | 2084 MockRead(false, OK), |
2085 }; | 2085 }; |
2086 // The mock write results of the second attempt of transaction 2. | 2086 // The mock write results of the second attempt of transaction 2. |
2087 MockWrite data_writes2[] = { | 2087 MockWrite data_writes2[] = { |
2088 MockWrite(false, 93), // POST | 2088 MockWrite(false, 93), // POST |
2089 MockWrite(false, 3), // POST data | 2089 MockWrite(false, 3), // POST data |
2090 }; | 2090 }; |
2091 StaticMockSocket data2(data_reads2, data_writes2); | 2091 StaticSocketDataProvider data2(data_reads2, data_writes2); |
2092 | 2092 |
2093 session_deps.socket_factory.AddMockSocket(&data1); | 2093 session_deps.socket_factory.AddSocketDataProvider(&data1); |
2094 session_deps.socket_factory.AddMockSocket(&data2); | 2094 session_deps.socket_factory.AddSocketDataProvider(&data2); |
2095 | 2095 |
2096 const char* kExpectedResponseData[] = { | 2096 const char* kExpectedResponseData[] = { |
2097 "hello world", "welcome" | 2097 "hello world", "welcome" |
2098 }; | 2098 }; |
2099 | 2099 |
2100 for (int i = 0; i < 2; ++i) { | 2100 for (int i = 0; i < 2; ++i) { |
2101 scoped_ptr<HttpTransaction> trans( | 2101 scoped_ptr<HttpTransaction> trans( |
2102 new HttpNetworkTransaction(session)); | 2102 new HttpNetworkTransaction(session)); |
2103 | 2103 |
2104 TestCompletionCallback callback; | 2104 TestCompletionCallback callback; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2162 "Connection: keep-alive\r\n" | 2162 "Connection: keep-alive\r\n" |
2163 "Authorization: Basic Zm9vOmJAcg==\r\n\r\n"), | 2163 "Authorization: Basic Zm9vOmJAcg==\r\n\r\n"), |
2164 }; | 2164 }; |
2165 | 2165 |
2166 MockRead data_reads2[] = { | 2166 MockRead data_reads2[] = { |
2167 MockRead("HTTP/1.0 200 OK\r\n"), | 2167 MockRead("HTTP/1.0 200 OK\r\n"), |
2168 MockRead("Content-Length: 100\r\n\r\n"), | 2168 MockRead("Content-Length: 100\r\n\r\n"), |
2169 MockRead(false, OK), | 2169 MockRead(false, OK), |
2170 }; | 2170 }; |
2171 | 2171 |
2172 StaticMockSocket data1(data_reads1, data_writes1); | 2172 StaticSocketDataProvider data1(data_reads1, data_writes1); |
2173 StaticMockSocket data2(data_reads2, data_writes2); | 2173 StaticSocketDataProvider data2(data_reads2, data_writes2); |
2174 session_deps.socket_factory.AddMockSocket(&data1); | 2174 session_deps.socket_factory.AddSocketDataProvider(&data1); |
2175 session_deps.socket_factory.AddMockSocket(&data2); | 2175 session_deps.socket_factory.AddSocketDataProvider(&data2); |
2176 | 2176 |
2177 TestCompletionCallback callback1; | 2177 TestCompletionCallback callback1; |
2178 | 2178 |
2179 int rv = trans->Start(&request, &callback1, NULL); | 2179 int rv = trans->Start(&request, &callback1, NULL); |
2180 EXPECT_EQ(ERR_IO_PENDING, rv); | 2180 EXPECT_EQ(ERR_IO_PENDING, rv); |
2181 | 2181 |
2182 rv = callback1.WaitForResult(); | 2182 rv = callback1.WaitForResult(); |
2183 EXPECT_EQ(OK, rv); | 2183 EXPECT_EQ(OK, rv); |
2184 | 2184 |
2185 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); | 2185 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2255 "Connection: keep-alive\r\n" | 2255 "Connection: keep-alive\r\n" |
2256 "Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), | 2256 "Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), |
2257 }; | 2257 }; |
2258 | 2258 |
2259 MockRead data_reads3[] = { | 2259 MockRead data_reads3[] = { |
2260 MockRead("HTTP/1.0 200 OK\r\n"), | 2260 MockRead("HTTP/1.0 200 OK\r\n"), |
2261 MockRead("Content-Length: 100\r\n\r\n"), | 2261 MockRead("Content-Length: 100\r\n\r\n"), |
2262 MockRead(false, OK), | 2262 MockRead(false, OK), |
2263 }; | 2263 }; |
2264 | 2264 |
2265 StaticMockSocket data1(data_reads1, data_writes1); | 2265 StaticSocketDataProvider data1(data_reads1, data_writes1); |
2266 StaticMockSocket data2(data_reads2, data_writes2); | 2266 StaticSocketDataProvider data2(data_reads2, data_writes2); |
2267 StaticMockSocket data3(data_reads3, data_writes3); | 2267 StaticSocketDataProvider data3(data_reads3, data_writes3); |
2268 session_deps.socket_factory.AddMockSocket(&data1); | 2268 session_deps.socket_factory.AddSocketDataProvider(&data1); |
2269 session_deps.socket_factory.AddMockSocket(&data2); | 2269 session_deps.socket_factory.AddSocketDataProvider(&data2); |
2270 session_deps.socket_factory.AddMockSocket(&data3); | 2270 session_deps.socket_factory.AddSocketDataProvider(&data3); |
2271 | 2271 |
2272 TestCompletionCallback callback1; | 2272 TestCompletionCallback callback1; |
2273 | 2273 |
2274 int rv = trans->Start(&request, &callback1, NULL); | 2274 int rv = trans->Start(&request, &callback1, NULL); |
2275 EXPECT_EQ(ERR_IO_PENDING, rv); | 2275 EXPECT_EQ(ERR_IO_PENDING, rv); |
2276 | 2276 |
2277 rv = callback1.WaitForResult(); | 2277 rv = callback1.WaitForResult(); |
2278 EXPECT_EQ(OK, rv); | 2278 EXPECT_EQ(OK, rv); |
2279 | 2279 |
2280 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); | 2280 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2348 "Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), | 2348 "Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), |
2349 }; | 2349 }; |
2350 | 2350 |
2351 // Sever accepts the authorization. | 2351 // Sever accepts the authorization. |
2352 MockRead data_reads2[] = { | 2352 MockRead data_reads2[] = { |
2353 MockRead("HTTP/1.0 200 OK\r\n"), | 2353 MockRead("HTTP/1.0 200 OK\r\n"), |
2354 MockRead("Content-Length: 100\r\n\r\n"), | 2354 MockRead("Content-Length: 100\r\n\r\n"), |
2355 MockRead(false, OK), | 2355 MockRead(false, OK), |
2356 }; | 2356 }; |
2357 | 2357 |
2358 StaticMockSocket data1(data_reads1, data_writes1); | 2358 StaticSocketDataProvider data1(data_reads1, data_writes1); |
2359 StaticMockSocket data2(data_reads2, data_writes2); | 2359 StaticSocketDataProvider data2(data_reads2, data_writes2); |
2360 session_deps.socket_factory.AddMockSocket(&data1); | 2360 session_deps.socket_factory.AddSocketDataProvider(&data1); |
2361 session_deps.socket_factory.AddMockSocket(&data2); | 2361 session_deps.socket_factory.AddSocketDataProvider(&data2); |
2362 | 2362 |
2363 TestCompletionCallback callback1; | 2363 TestCompletionCallback callback1; |
2364 | 2364 |
2365 int rv = trans->Start(&request, &callback1, NULL); | 2365 int rv = trans->Start(&request, &callback1, NULL); |
2366 EXPECT_EQ(ERR_IO_PENDING, rv); | 2366 EXPECT_EQ(ERR_IO_PENDING, rv); |
2367 | 2367 |
2368 rv = callback1.WaitForResult(); | 2368 rv = callback1.WaitForResult(); |
2369 EXPECT_EQ(OK, rv); | 2369 EXPECT_EQ(OK, rv); |
2370 | 2370 |
2371 const HttpResponseInfo* response = trans->GetResponseInfo(); | 2371 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2431 "Authorization: Basic Zm9vMjpiYXIy\r\n\r\n"), | 2431 "Authorization: Basic Zm9vMjpiYXIy\r\n\r\n"), |
2432 }; | 2432 }; |
2433 | 2433 |
2434 // Sever accepts the authorization. | 2434 // Sever accepts the authorization. |
2435 MockRead data_reads2[] = { | 2435 MockRead data_reads2[] = { |
2436 MockRead("HTTP/1.0 200 OK\r\n"), | 2436 MockRead("HTTP/1.0 200 OK\r\n"), |
2437 MockRead("Content-Length: 100\r\n\r\n"), | 2437 MockRead("Content-Length: 100\r\n\r\n"), |
2438 MockRead(false, OK), | 2438 MockRead(false, OK), |
2439 }; | 2439 }; |
2440 | 2440 |
2441 StaticMockSocket data1(data_reads1, data_writes1); | 2441 StaticSocketDataProvider data1(data_reads1, data_writes1); |
2442 StaticMockSocket data2(data_reads2, data_writes2); | 2442 StaticSocketDataProvider data2(data_reads2, data_writes2); |
2443 session_deps.socket_factory.AddMockSocket(&data1); | 2443 session_deps.socket_factory.AddSocketDataProvider(&data1); |
2444 session_deps.socket_factory.AddMockSocket(&data2); | 2444 session_deps.socket_factory.AddSocketDataProvider(&data2); |
2445 | 2445 |
2446 TestCompletionCallback callback1; | 2446 TestCompletionCallback callback1; |
2447 | 2447 |
2448 int rv = trans->Start(&request, &callback1, NULL); | 2448 int rv = trans->Start(&request, &callback1, NULL); |
2449 EXPECT_EQ(ERR_IO_PENDING, rv); | 2449 EXPECT_EQ(ERR_IO_PENDING, rv); |
2450 | 2450 |
2451 rv = callback1.WaitForResult(); | 2451 rv = callback1.WaitForResult(); |
2452 EXPECT_EQ(OK, rv); | 2452 EXPECT_EQ(OK, rv); |
2453 | 2453 |
2454 const HttpResponseInfo* response = trans->GetResponseInfo(); | 2454 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2497 "Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), | 2497 "Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), |
2498 }; | 2498 }; |
2499 | 2499 |
2500 // Sever accepts the preemptive authorization | 2500 // Sever accepts the preemptive authorization |
2501 MockRead data_reads1[] = { | 2501 MockRead data_reads1[] = { |
2502 MockRead("HTTP/1.0 200 OK\r\n"), | 2502 MockRead("HTTP/1.0 200 OK\r\n"), |
2503 MockRead("Content-Length: 100\r\n\r\n"), | 2503 MockRead("Content-Length: 100\r\n\r\n"), |
2504 MockRead(false, OK), | 2504 MockRead(false, OK), |
2505 }; | 2505 }; |
2506 | 2506 |
2507 StaticMockSocket data1(data_reads1, data_writes1); | 2507 StaticSocketDataProvider data1(data_reads1, data_writes1); |
2508 session_deps.socket_factory.AddMockSocket(&data1); | 2508 session_deps.socket_factory.AddSocketDataProvider(&data1); |
2509 | 2509 |
2510 TestCompletionCallback callback1; | 2510 TestCompletionCallback callback1; |
2511 | 2511 |
2512 int rv = trans->Start(&request, &callback1, NULL); | 2512 int rv = trans->Start(&request, &callback1, NULL); |
2513 EXPECT_EQ(ERR_IO_PENDING, rv); | 2513 EXPECT_EQ(ERR_IO_PENDING, rv); |
2514 | 2514 |
2515 rv = callback1.WaitForResult(); | 2515 rv = callback1.WaitForResult(); |
2516 EXPECT_EQ(OK, rv); | 2516 EXPECT_EQ(OK, rv); |
2517 | 2517 |
2518 const HttpResponseInfo* response = trans->GetResponseInfo(); | 2518 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2555 "Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), | 2555 "Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), |
2556 }; | 2556 }; |
2557 | 2557 |
2558 // Sever accepts the authorization. | 2558 // Sever accepts the authorization. |
2559 MockRead data_reads2[] = { | 2559 MockRead data_reads2[] = { |
2560 MockRead("HTTP/1.0 200 OK\r\n"), | 2560 MockRead("HTTP/1.0 200 OK\r\n"), |
2561 MockRead("Content-Length: 100\r\n\r\n"), | 2561 MockRead("Content-Length: 100\r\n\r\n"), |
2562 MockRead(false, OK), | 2562 MockRead(false, OK), |
2563 }; | 2563 }; |
2564 | 2564 |
2565 StaticMockSocket data1(data_reads1, data_writes1); | 2565 StaticSocketDataProvider data1(data_reads1, data_writes1); |
2566 StaticMockSocket data2(data_reads2, data_writes2); | 2566 StaticSocketDataProvider data2(data_reads2, data_writes2); |
2567 session_deps.socket_factory.AddMockSocket(&data1); | 2567 session_deps.socket_factory.AddSocketDataProvider(&data1); |
2568 session_deps.socket_factory.AddMockSocket(&data2); | 2568 session_deps.socket_factory.AddSocketDataProvider(&data2); |
2569 | 2569 |
2570 TestCompletionCallback callback1; | 2570 TestCompletionCallback callback1; |
2571 | 2571 |
2572 int rv = trans->Start(&request, &callback1, NULL); | 2572 int rv = trans->Start(&request, &callback1, NULL); |
2573 EXPECT_EQ(ERR_IO_PENDING, rv); | 2573 EXPECT_EQ(ERR_IO_PENDING, rv); |
2574 | 2574 |
2575 rv = callback1.WaitForResult(); | 2575 rv = callback1.WaitForResult(); |
2576 EXPECT_EQ(OK, rv); | 2576 EXPECT_EQ(OK, rv); |
2577 | 2577 |
2578 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); | 2578 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2639 "Authorization: Basic Zm9vMzpiYXIz\r\n\r\n"), | 2639 "Authorization: Basic Zm9vMzpiYXIz\r\n\r\n"), |
2640 }; | 2640 }; |
2641 | 2641 |
2642 // Sever accepts the authorization. | 2642 // Sever accepts the authorization. |
2643 MockRead data_reads3[] = { | 2643 MockRead data_reads3[] = { |
2644 MockRead("HTTP/1.0 200 OK\r\n"), | 2644 MockRead("HTTP/1.0 200 OK\r\n"), |
2645 MockRead("Content-Length: 100\r\n\r\n"), | 2645 MockRead("Content-Length: 100\r\n\r\n"), |
2646 MockRead(false, OK), | 2646 MockRead(false, OK), |
2647 }; | 2647 }; |
2648 | 2648 |
2649 StaticMockSocket data1(data_reads1, data_writes1); | 2649 StaticSocketDataProvider data1(data_reads1, data_writes1); |
2650 StaticMockSocket data2(data_reads2, data_writes2); | 2650 StaticSocketDataProvider data2(data_reads2, data_writes2); |
2651 StaticMockSocket data3(data_reads3, data_writes3); | 2651 StaticSocketDataProvider data3(data_reads3, data_writes3); |
2652 session_deps.socket_factory.AddMockSocket(&data1); | 2652 session_deps.socket_factory.AddSocketDataProvider(&data1); |
2653 session_deps.socket_factory.AddMockSocket(&data2); | 2653 session_deps.socket_factory.AddSocketDataProvider(&data2); |
2654 session_deps.socket_factory.AddMockSocket(&data3); | 2654 session_deps.socket_factory.AddSocketDataProvider(&data3); |
2655 | 2655 |
2656 TestCompletionCallback callback1; | 2656 TestCompletionCallback callback1; |
2657 | 2657 |
2658 int rv = trans->Start(&request, &callback1, NULL); | 2658 int rv = trans->Start(&request, &callback1, NULL); |
2659 EXPECT_EQ(ERR_IO_PENDING, rv); | 2659 EXPECT_EQ(ERR_IO_PENDING, rv); |
2660 | 2660 |
2661 rv = callback1.WaitForResult(); | 2661 rv = callback1.WaitForResult(); |
2662 EXPECT_EQ(OK, rv); | 2662 EXPECT_EQ(OK, rv); |
2663 | 2663 |
2664 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); | 2664 EXPECT_TRUE(trans->IsReadyToRestartForAuth()); |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2756 "Connection: keep-alive\r\n\r\n"), | 2756 "Connection: keep-alive\r\n\r\n"), |
2757 }; | 2757 }; |
2758 | 2758 |
2759 MockRead data_reads[] = { | 2759 MockRead data_reads[] = { |
2760 MockRead("HTTP/1.0 200 OK\r\n"), | 2760 MockRead("HTTP/1.0 200 OK\r\n"), |
2761 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 2761 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
2762 MockRead("Content-Length: 100\r\n\r\n"), | 2762 MockRead("Content-Length: 100\r\n\r\n"), |
2763 MockRead(false, OK), | 2763 MockRead(false, OK), |
2764 }; | 2764 }; |
2765 | 2765 |
2766 StaticMockSocket ssl_bad_certificate; | 2766 StaticSocketDataProvider ssl_bad_certificate; |
2767 StaticMockSocket data(data_reads, data_writes); | 2767 StaticSocketDataProvider data(data_reads, data_writes); |
2768 MockSSLSocket ssl_bad(true, ERR_CERT_AUTHORITY_INVALID); | 2768 SSLSocketDataProvider ssl_bad(true, ERR_CERT_AUTHORITY_INVALID); |
2769 MockSSLSocket ssl(true, OK); | 2769 SSLSocketDataProvider ssl(true, OK); |
2770 | 2770 |
2771 session_deps.socket_factory.AddMockSocket(&ssl_bad_certificate); | 2771 session_deps.socket_factory.AddSocketDataProvider(&ssl_bad_certificate); |
2772 session_deps.socket_factory.AddMockSocket(&data); | 2772 session_deps.socket_factory.AddSocketDataProvider(&data); |
2773 session_deps.socket_factory.AddMockSSLSocket(&ssl_bad); | 2773 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl_bad); |
2774 session_deps.socket_factory.AddMockSSLSocket(&ssl); | 2774 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); |
2775 | 2775 |
2776 TestCompletionCallback callback; | 2776 TestCompletionCallback callback; |
2777 | 2777 |
2778 int rv = trans->Start(&request, &callback, NULL); | 2778 int rv = trans->Start(&request, &callback, NULL); |
2779 EXPECT_EQ(ERR_IO_PENDING, rv); | 2779 EXPECT_EQ(ERR_IO_PENDING, rv); |
2780 | 2780 |
2781 rv = callback.WaitForResult(); | 2781 rv = callback.WaitForResult(); |
2782 EXPECT_EQ(ERR_CERT_AUTHORITY_INVALID, rv); | 2782 EXPECT_EQ(ERR_CERT_AUTHORITY_INVALID, rv); |
2783 | 2783 |
2784 rv = trans->RestartIgnoringLastError(&callback); | 2784 rv = trans->RestartIgnoringLastError(&callback); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2824 }; | 2824 }; |
2825 | 2825 |
2826 MockRead data_reads[] = { | 2826 MockRead data_reads[] = { |
2827 MockRead("HTTP/1.0 200 Connected\r\n\r\n"), | 2827 MockRead("HTTP/1.0 200 Connected\r\n\r\n"), |
2828 MockRead("HTTP/1.0 200 OK\r\n"), | 2828 MockRead("HTTP/1.0 200 OK\r\n"), |
2829 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 2829 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
2830 MockRead("Content-Length: 100\r\n\r\n"), | 2830 MockRead("Content-Length: 100\r\n\r\n"), |
2831 MockRead(false, OK), | 2831 MockRead(false, OK), |
2832 }; | 2832 }; |
2833 | 2833 |
2834 StaticMockSocket ssl_bad_certificate(proxy_reads, proxy_writes); | 2834 StaticSocketDataProvider ssl_bad_certificate(proxy_reads, proxy_writes); |
2835 StaticMockSocket data(data_reads, data_writes); | 2835 StaticSocketDataProvider data(data_reads, data_writes); |
2836 MockSSLSocket ssl_bad(true, ERR_CERT_AUTHORITY_INVALID); | 2836 SSLSocketDataProvider ssl_bad(true, ERR_CERT_AUTHORITY_INVALID); |
2837 MockSSLSocket ssl(true, OK); | 2837 SSLSocketDataProvider ssl(true, OK); |
2838 | 2838 |
2839 session_deps.socket_factory.AddMockSocket(&ssl_bad_certificate); | 2839 session_deps.socket_factory.AddSocketDataProvider(&ssl_bad_certificate); |
2840 session_deps.socket_factory.AddMockSocket(&data); | 2840 session_deps.socket_factory.AddSocketDataProvider(&data); |
2841 session_deps.socket_factory.AddMockSSLSocket(&ssl_bad); | 2841 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl_bad); |
2842 session_deps.socket_factory.AddMockSSLSocket(&ssl); | 2842 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); |
2843 | 2843 |
2844 TestCompletionCallback callback; | 2844 TestCompletionCallback callback; |
2845 | 2845 |
2846 for (int i = 0; i < 2; i++) { | 2846 for (int i = 0; i < 2; i++) { |
2847 session_deps.socket_factory.ResetNextMockIndexes(); | 2847 session_deps.socket_factory.ResetNextMockIndexes(); |
2848 | 2848 |
2849 scoped_ptr<HttpTransaction> trans( | 2849 scoped_ptr<HttpTransaction> trans( |
2850 new HttpNetworkTransaction(CreateSession(&session_deps))); | 2850 new HttpNetworkTransaction(CreateSession(&session_deps))); |
2851 | 2851 |
2852 int rv = trans->Start(&request, &callback, NULL); | 2852 int rv = trans->Start(&request, &callback, NULL); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2886 }; | 2886 }; |
2887 | 2887 |
2888 // Lastly, the server responds with the actual content. | 2888 // Lastly, the server responds with the actual content. |
2889 MockRead data_reads[] = { | 2889 MockRead data_reads[] = { |
2890 MockRead("HTTP/1.0 200 OK\r\n"), | 2890 MockRead("HTTP/1.0 200 OK\r\n"), |
2891 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 2891 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
2892 MockRead("Content-Length: 100\r\n\r\n"), | 2892 MockRead("Content-Length: 100\r\n\r\n"), |
2893 MockRead(false, OK), | 2893 MockRead(false, OK), |
2894 }; | 2894 }; |
2895 | 2895 |
2896 StaticMockSocket data(data_reads, data_writes); | 2896 StaticSocketDataProvider data(data_reads, data_writes); |
2897 session_deps.socket_factory.AddMockSocket(&data); | 2897 session_deps.socket_factory.AddSocketDataProvider(&data); |
2898 | 2898 |
2899 TestCompletionCallback callback; | 2899 TestCompletionCallback callback; |
2900 | 2900 |
2901 int rv = trans->Start(&request, &callback, NULL); | 2901 int rv = trans->Start(&request, &callback, NULL); |
2902 EXPECT_EQ(ERR_IO_PENDING, rv); | 2902 EXPECT_EQ(ERR_IO_PENDING, rv); |
2903 | 2903 |
2904 rv = callback.WaitForResult(); | 2904 rv = callback.WaitForResult(); |
2905 EXPECT_EQ(OK, rv); | 2905 EXPECT_EQ(OK, rv); |
2906 } | 2906 } |
2907 | 2907 |
(...skipping 16 matching lines...) Expand all Loading... |
2924 }; | 2924 }; |
2925 | 2925 |
2926 // Lastly, the server responds with the actual content. | 2926 // Lastly, the server responds with the actual content. |
2927 MockRead data_reads[] = { | 2927 MockRead data_reads[] = { |
2928 MockRead("HTTP/1.0 200 OK\r\n"), | 2928 MockRead("HTTP/1.0 200 OK\r\n"), |
2929 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 2929 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
2930 MockRead("Content-Length: 100\r\n\r\n"), | 2930 MockRead("Content-Length: 100\r\n\r\n"), |
2931 MockRead(false, OK), | 2931 MockRead(false, OK), |
2932 }; | 2932 }; |
2933 | 2933 |
2934 StaticMockSocket data(data_reads, data_writes); | 2934 StaticSocketDataProvider data(data_reads, data_writes); |
2935 session_deps.socket_factory.AddMockSocket(&data); | 2935 session_deps.socket_factory.AddSocketDataProvider(&data); |
2936 | 2936 |
2937 TestCompletionCallback callback; | 2937 TestCompletionCallback callback; |
2938 | 2938 |
2939 int rv = trans->Start(&request, &callback, NULL); | 2939 int rv = trans->Start(&request, &callback, NULL); |
2940 EXPECT_EQ(ERR_IO_PENDING, rv); | 2940 EXPECT_EQ(ERR_IO_PENDING, rv); |
2941 | 2941 |
2942 rv = callback.WaitForResult(); | 2942 rv = callback.WaitForResult(); |
2943 EXPECT_EQ(OK, rv); | 2943 EXPECT_EQ(OK, rv); |
2944 } | 2944 } |
2945 | 2945 |
(...skipping 14 matching lines...) Expand all Loading... |
2960 }; | 2960 }; |
2961 | 2961 |
2962 // Lastly, the server responds with the actual content. | 2962 // Lastly, the server responds with the actual content. |
2963 MockRead data_reads[] = { | 2963 MockRead data_reads[] = { |
2964 MockRead("HTTP/1.0 200 OK\r\n"), | 2964 MockRead("HTTP/1.0 200 OK\r\n"), |
2965 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 2965 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
2966 MockRead("Content-Length: 100\r\n\r\n"), | 2966 MockRead("Content-Length: 100\r\n\r\n"), |
2967 MockRead(false, OK), | 2967 MockRead(false, OK), |
2968 }; | 2968 }; |
2969 | 2969 |
2970 StaticMockSocket data(data_reads, data_writes); | 2970 StaticSocketDataProvider data(data_reads, data_writes); |
2971 session_deps.socket_factory.AddMockSocket(&data); | 2971 session_deps.socket_factory.AddSocketDataProvider(&data); |
2972 | 2972 |
2973 TestCompletionCallback callback; | 2973 TestCompletionCallback callback; |
2974 | 2974 |
2975 int rv = trans->Start(&request, &callback, NULL); | 2975 int rv = trans->Start(&request, &callback, NULL); |
2976 EXPECT_EQ(ERR_IO_PENDING, rv); | 2976 EXPECT_EQ(ERR_IO_PENDING, rv); |
2977 | 2977 |
2978 rv = callback.WaitForResult(); | 2978 rv = callback.WaitForResult(); |
2979 EXPECT_EQ(OK, rv); | 2979 EXPECT_EQ(OK, rv); |
2980 } | 2980 } |
2981 | 2981 |
(...skipping 14 matching lines...) Expand all Loading... |
2996 }; | 2996 }; |
2997 | 2997 |
2998 // Lastly, the server responds with the actual content. | 2998 // Lastly, the server responds with the actual content. |
2999 MockRead data_reads[] = { | 2999 MockRead data_reads[] = { |
3000 MockRead("HTTP/1.0 200 OK\r\n"), | 3000 MockRead("HTTP/1.0 200 OK\r\n"), |
3001 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 3001 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
3002 MockRead("Content-Length: 100\r\n\r\n"), | 3002 MockRead("Content-Length: 100\r\n\r\n"), |
3003 MockRead(false, OK), | 3003 MockRead(false, OK), |
3004 }; | 3004 }; |
3005 | 3005 |
3006 StaticMockSocket data(data_reads, data_writes); | 3006 StaticSocketDataProvider data(data_reads, data_writes); |
3007 session_deps.socket_factory.AddMockSocket(&data); | 3007 session_deps.socket_factory.AddSocketDataProvider(&data); |
3008 | 3008 |
3009 TestCompletionCallback callback; | 3009 TestCompletionCallback callback; |
3010 | 3010 |
3011 int rv = trans->Start(&request, &callback, NULL); | 3011 int rv = trans->Start(&request, &callback, NULL); |
3012 EXPECT_EQ(ERR_IO_PENDING, rv); | 3012 EXPECT_EQ(ERR_IO_PENDING, rv); |
3013 | 3013 |
3014 rv = callback.WaitForResult(); | 3014 rv = callback.WaitForResult(); |
3015 EXPECT_EQ(OK, rv); | 3015 EXPECT_EQ(OK, rv); |
3016 } | 3016 } |
3017 | 3017 |
(...skipping 14 matching lines...) Expand all Loading... |
3032 }; | 3032 }; |
3033 | 3033 |
3034 // Lastly, the server responds with the actual content. | 3034 // Lastly, the server responds with the actual content. |
3035 MockRead data_reads[] = { | 3035 MockRead data_reads[] = { |
3036 MockRead("HTTP/1.0 200 OK\r\n"), | 3036 MockRead("HTTP/1.0 200 OK\r\n"), |
3037 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 3037 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
3038 MockRead("Content-Length: 100\r\n\r\n"), | 3038 MockRead("Content-Length: 100\r\n\r\n"), |
3039 MockRead(false, OK), | 3039 MockRead(false, OK), |
3040 }; | 3040 }; |
3041 | 3041 |
3042 StaticMockSocket data(data_reads, data_writes); | 3042 StaticSocketDataProvider data(data_reads, data_writes); |
3043 session_deps.socket_factory.AddMockSocket(&data); | 3043 session_deps.socket_factory.AddSocketDataProvider(&data); |
3044 | 3044 |
3045 TestCompletionCallback callback; | 3045 TestCompletionCallback callback; |
3046 | 3046 |
3047 int rv = trans->Start(&request, &callback, NULL); | 3047 int rv = trans->Start(&request, &callback, NULL); |
3048 EXPECT_EQ(ERR_IO_PENDING, rv); | 3048 EXPECT_EQ(ERR_IO_PENDING, rv); |
3049 | 3049 |
3050 rv = callback.WaitForResult(); | 3050 rv = callback.WaitForResult(); |
3051 EXPECT_EQ(OK, rv); | 3051 EXPECT_EQ(OK, rv); |
3052 } | 3052 } |
3053 | 3053 |
(...skipping 16 matching lines...) Expand all Loading... |
3070 }; | 3070 }; |
3071 | 3071 |
3072 // Lastly, the server responds with the actual content. | 3072 // Lastly, the server responds with the actual content. |
3073 MockRead data_reads[] = { | 3073 MockRead data_reads[] = { |
3074 MockRead("HTTP/1.0 200 OK\r\n"), | 3074 MockRead("HTTP/1.0 200 OK\r\n"), |
3075 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 3075 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
3076 MockRead("Content-Length: 100\r\n\r\n"), | 3076 MockRead("Content-Length: 100\r\n\r\n"), |
3077 MockRead(false, OK), | 3077 MockRead(false, OK), |
3078 }; | 3078 }; |
3079 | 3079 |
3080 StaticMockSocket data(data_reads, data_writes); | 3080 StaticSocketDataProvider data(data_reads, data_writes); |
3081 session_deps.socket_factory.AddMockSocket(&data); | 3081 session_deps.socket_factory.AddSocketDataProvider(&data); |
3082 | 3082 |
3083 TestCompletionCallback callback; | 3083 TestCompletionCallback callback; |
3084 | 3084 |
3085 int rv = trans->Start(&request, &callback, NULL); | 3085 int rv = trans->Start(&request, &callback, NULL); |
3086 EXPECT_EQ(ERR_IO_PENDING, rv); | 3086 EXPECT_EQ(ERR_IO_PENDING, rv); |
3087 | 3087 |
3088 rv = callback.WaitForResult(); | 3088 rv = callback.WaitForResult(); |
3089 EXPECT_EQ(OK, rv); | 3089 EXPECT_EQ(OK, rv); |
3090 } | 3090 } |
3091 | 3091 |
(...skipping 16 matching lines...) Expand all Loading... |
3108 }; | 3108 }; |
3109 | 3109 |
3110 // Lastly, the server responds with the actual content. | 3110 // Lastly, the server responds with the actual content. |
3111 MockRead data_reads[] = { | 3111 MockRead data_reads[] = { |
3112 MockRead("HTTP/1.0 200 OK\r\n"), | 3112 MockRead("HTTP/1.0 200 OK\r\n"), |
3113 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 3113 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
3114 MockRead("Content-Length: 100\r\n\r\n"), | 3114 MockRead("Content-Length: 100\r\n\r\n"), |
3115 MockRead(false, OK), | 3115 MockRead(false, OK), |
3116 }; | 3116 }; |
3117 | 3117 |
3118 StaticMockSocket data(data_reads, data_writes); | 3118 StaticSocketDataProvider data(data_reads, data_writes); |
3119 session_deps.socket_factory.AddMockSocket(&data); | 3119 session_deps.socket_factory.AddSocketDataProvider(&data); |
3120 | 3120 |
3121 TestCompletionCallback callback; | 3121 TestCompletionCallback callback; |
3122 | 3122 |
3123 int rv = trans->Start(&request, &callback, NULL); | 3123 int rv = trans->Start(&request, &callback, NULL); |
3124 EXPECT_EQ(ERR_IO_PENDING, rv); | 3124 EXPECT_EQ(ERR_IO_PENDING, rv); |
3125 | 3125 |
3126 rv = callback.WaitForResult(); | 3126 rv = callback.WaitForResult(); |
3127 EXPECT_EQ(OK, rv); | 3127 EXPECT_EQ(OK, rv); |
3128 } | 3128 } |
3129 | 3129 |
(...skipping 15 matching lines...) Expand all Loading... |
3145 }; | 3145 }; |
3146 | 3146 |
3147 // Lastly, the server responds with the actual content. | 3147 // Lastly, the server responds with the actual content. |
3148 MockRead data_reads[] = { | 3148 MockRead data_reads[] = { |
3149 MockRead("HTTP/1.0 200 OK\r\n"), | 3149 MockRead("HTTP/1.0 200 OK\r\n"), |
3150 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 3150 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
3151 MockRead("Content-Length: 100\r\n\r\n"), | 3151 MockRead("Content-Length: 100\r\n\r\n"), |
3152 MockRead(false, OK), | 3152 MockRead(false, OK), |
3153 }; | 3153 }; |
3154 | 3154 |
3155 StaticMockSocket data(data_reads, data_writes); | 3155 StaticSocketDataProvider data(data_reads, data_writes); |
3156 session_deps.socket_factory.AddMockSocket(&data); | 3156 session_deps.socket_factory.AddSocketDataProvider(&data); |
3157 | 3157 |
3158 TestCompletionCallback callback; | 3158 TestCompletionCallback callback; |
3159 | 3159 |
3160 int rv = trans->Start(&request, &callback, NULL); | 3160 int rv = trans->Start(&request, &callback, NULL); |
3161 EXPECT_EQ(ERR_IO_PENDING, rv); | 3161 EXPECT_EQ(ERR_IO_PENDING, rv); |
3162 | 3162 |
3163 rv = callback.WaitForResult(); | 3163 rv = callback.WaitForResult(); |
3164 EXPECT_EQ(OK, rv); | 3164 EXPECT_EQ(OK, rv); |
3165 } | 3165 } |
3166 | 3166 |
(...skipping 13 matching lines...) Expand all Loading... |
3180 char read_buffer[] = { 0x00, 0x5A, 0x00, 0x00, 0, 0, 0, 0 }; | 3180 char read_buffer[] = { 0x00, 0x5A, 0x00, 0x00, 0, 0, 0, 0 }; |
3181 | 3181 |
3182 MockWrite data_writes[] = { | 3182 MockWrite data_writes[] = { |
3183 MockWrite(true, write_buffer, arraysize(write_buffer)), | 3183 MockWrite(true, write_buffer, arraysize(write_buffer)), |
3184 MockWrite("GET / HTTP/1.1\r\n" | 3184 MockWrite("GET / HTTP/1.1\r\n" |
3185 "Host: www.google.com\r\n" | 3185 "Host: www.google.com\r\n" |
3186 "Connection: keep-alive\r\n\r\n") | 3186 "Connection: keep-alive\r\n\r\n") |
3187 }; | 3187 }; |
3188 | 3188 |
3189 MockRead data_reads[] = { | 3189 MockRead data_reads[] = { |
3190 MockWrite(true, read_buffer, arraysize(read_buffer)), | 3190 MockRead(true, read_buffer, arraysize(read_buffer)), |
3191 MockRead("HTTP/1.0 200 OK\r\n"), | 3191 MockRead("HTTP/1.0 200 OK\r\n"), |
3192 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n\r\n"), | 3192 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n\r\n"), |
3193 MockRead("Payload"), | 3193 MockRead("Payload"), |
3194 MockRead(false, OK) | 3194 MockRead(false, OK) |
3195 }; | 3195 }; |
3196 | 3196 |
3197 StaticMockSocket data(data_reads, data_writes); | 3197 StaticSocketDataProvider data(data_reads, data_writes); |
3198 session_deps.socket_factory.AddMockSocket(&data); | 3198 session_deps.socket_factory.AddSocketDataProvider(&data); |
3199 | 3199 |
3200 TestCompletionCallback callback; | 3200 TestCompletionCallback callback; |
3201 | 3201 |
3202 int rv = trans->Start(&request, &callback, NULL); | 3202 int rv = trans->Start(&request, &callback, NULL); |
3203 EXPECT_EQ(ERR_IO_PENDING, rv); | 3203 EXPECT_EQ(ERR_IO_PENDING, rv); |
3204 | 3204 |
3205 rv = callback.WaitForResult(); | 3205 rv = callback.WaitForResult(); |
3206 EXPECT_EQ(OK, rv); | 3206 EXPECT_EQ(OK, rv); |
3207 | 3207 |
3208 const HttpResponseInfo* response = trans->GetResponseInfo(); | 3208 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 30 matching lines...) Expand all Loading... |
3239 | 3239 |
3240 MockRead data_reads[] = { | 3240 MockRead data_reads[] = { |
3241 MockWrite(true, reinterpret_cast<char*>(read_buffer), | 3241 MockWrite(true, reinterpret_cast<char*>(read_buffer), |
3242 arraysize(read_buffer)), | 3242 arraysize(read_buffer)), |
3243 MockRead("HTTP/1.0 200 OK\r\n"), | 3243 MockRead("HTTP/1.0 200 OK\r\n"), |
3244 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n\r\n"), | 3244 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n\r\n"), |
3245 MockRead("Payload"), | 3245 MockRead("Payload"), |
3246 MockRead(false, OK) | 3246 MockRead(false, OK) |
3247 }; | 3247 }; |
3248 | 3248 |
3249 StaticMockSocket data(data_reads, data_writes); | 3249 StaticSocketDataProvider data(data_reads, data_writes); |
3250 session_deps.socket_factory.AddMockSocket(&data); | 3250 session_deps.socket_factory.AddSocketDataProvider(&data); |
3251 | 3251 |
3252 MockSSLSocket ssl(true, OK); | 3252 SSLSocketDataProvider ssl(true, OK); |
3253 session_deps.socket_factory.AddMockSSLSocket(&ssl); | 3253 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); |
3254 | 3254 |
3255 TestCompletionCallback callback; | 3255 TestCompletionCallback callback; |
3256 | 3256 |
3257 int rv = trans->Start(&request, &callback, NULL); | 3257 int rv = trans->Start(&request, &callback, NULL); |
3258 EXPECT_EQ(ERR_IO_PENDING, rv); | 3258 EXPECT_EQ(ERR_IO_PENDING, rv); |
3259 | 3259 |
3260 rv = callback.WaitForResult(); | 3260 rv = callback.WaitForResult(); |
3261 EXPECT_EQ(OK, rv); | 3261 EXPECT_EQ(OK, rv); |
3262 | 3262 |
3263 const HttpResponseInfo* response = trans->GetResponseInfo(); | 3263 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3298 | 3298 |
3299 MockRead data_reads[] = { | 3299 MockRead data_reads[] = { |
3300 MockWrite(true, kSOCKS5GreetResponse, arraysize(kSOCKS5GreetResponse)), | 3300 MockWrite(true, kSOCKS5GreetResponse, arraysize(kSOCKS5GreetResponse)), |
3301 MockWrite(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)), | 3301 MockWrite(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)), |
3302 MockRead("HTTP/1.0 200 OK\r\n"), | 3302 MockRead("HTTP/1.0 200 OK\r\n"), |
3303 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n\r\n"), | 3303 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n\r\n"), |
3304 MockRead("Payload"), | 3304 MockRead("Payload"), |
3305 MockRead(false, OK) | 3305 MockRead(false, OK) |
3306 }; | 3306 }; |
3307 | 3307 |
3308 StaticMockSocket data(data_reads, data_writes); | 3308 StaticSocketDataProvider data(data_reads, data_writes); |
3309 session_deps.socket_factory.AddMockSocket(&data); | 3309 session_deps.socket_factory.AddSocketDataProvider(&data); |
3310 | 3310 |
3311 TestCompletionCallback callback; | 3311 TestCompletionCallback callback; |
3312 | 3312 |
3313 int rv = trans->Start(&request, &callback, NULL); | 3313 int rv = trans->Start(&request, &callback, NULL); |
3314 EXPECT_EQ(ERR_IO_PENDING, rv); | 3314 EXPECT_EQ(ERR_IO_PENDING, rv); |
3315 | 3315 |
3316 rv = callback.WaitForResult(); | 3316 rv = callback.WaitForResult(); |
3317 EXPECT_EQ(OK, rv); | 3317 EXPECT_EQ(OK, rv); |
3318 | 3318 |
3319 const HttpResponseInfo* response = trans->GetResponseInfo(); | 3319 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3355 | 3355 |
3356 MockRead data_reads[] = { | 3356 MockRead data_reads[] = { |
3357 MockWrite(true, kSOCKS5GreetResponse, arraysize(kSOCKS5GreetResponse)), | 3357 MockWrite(true, kSOCKS5GreetResponse, arraysize(kSOCKS5GreetResponse)), |
3358 MockWrite(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)), | 3358 MockWrite(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)), |
3359 MockRead("HTTP/1.0 200 OK\r\n"), | 3359 MockRead("HTTP/1.0 200 OK\r\n"), |
3360 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n\r\n"), | 3360 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n\r\n"), |
3361 MockRead("Payload"), | 3361 MockRead("Payload"), |
3362 MockRead(false, OK) | 3362 MockRead(false, OK) |
3363 }; | 3363 }; |
3364 | 3364 |
3365 StaticMockSocket data(data_reads, data_writes); | 3365 StaticSocketDataProvider data(data_reads, data_writes); |
3366 session_deps.socket_factory.AddMockSocket(&data); | 3366 session_deps.socket_factory.AddSocketDataProvider(&data); |
3367 | 3367 |
3368 MockSSLSocket ssl(true, OK); | 3368 SSLSocketDataProvider ssl(true, OK); |
3369 session_deps.socket_factory.AddMockSSLSocket(&ssl); | 3369 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); |
3370 | 3370 |
3371 TestCompletionCallback callback; | 3371 TestCompletionCallback callback; |
3372 | 3372 |
3373 int rv = trans->Start(&request, &callback, NULL); | 3373 int rv = trans->Start(&request, &callback, NULL); |
3374 EXPECT_EQ(ERR_IO_PENDING, rv); | 3374 EXPECT_EQ(ERR_IO_PENDING, rv); |
3375 | 3375 |
3376 rv = callback.WaitForResult(); | 3376 rv = callback.WaitForResult(); |
3377 EXPECT_EQ(OK, rv); | 3377 EXPECT_EQ(OK, rv); |
3378 | 3378 |
3379 const HttpResponseInfo* response = trans->GetResponseInfo(); | 3379 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3525 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction( | 3525 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction( |
3526 CreateSession(&session_deps))); | 3526 CreateSession(&session_deps))); |
3527 | 3527 |
3528 // Attach an observer to watch the host resolutions being made. | 3528 // Attach an observer to watch the host resolutions being made. |
3529 session_deps.host_resolver->AddObserver(&resolution_observer); | 3529 session_deps.host_resolver->AddObserver(&resolution_observer); |
3530 | 3530 |
3531 // Connect up a mock socket which will fail when reading. | 3531 // Connect up a mock socket which will fail when reading. |
3532 MockRead data_reads[] = { | 3532 MockRead data_reads[] = { |
3533 MockRead(false, ERR_FAILED), | 3533 MockRead(false, ERR_FAILED), |
3534 }; | 3534 }; |
3535 StaticMockSocket data(data_reads, NULL); | 3535 StaticSocketDataProvider data(data_reads, NULL); |
3536 session_deps.socket_factory.AddMockSocket(&data); | 3536 session_deps.socket_factory.AddSocketDataProvider(&data); |
3537 | 3537 |
3538 // Issue a request, containing an HTTP referrer. | 3538 // Issue a request, containing an HTTP referrer. |
3539 HttpRequestInfo request; | 3539 HttpRequestInfo request; |
3540 request.method = "GET"; | 3540 request.method = "GET"; |
3541 request.referrer = referrer; | 3541 request.referrer = referrer; |
3542 request.url = GURL("http://www.google.com/"); | 3542 request.url = GURL("http://www.google.com/"); |
3543 | 3543 |
3544 // Run the request until it fails reading from the socket. | 3544 // Run the request until it fails reading from the socket. |
3545 TestCompletionCallback callback; | 3545 TestCompletionCallback callback; |
3546 int rv = trans->Start(&request, &callback, NULL); | 3546 int rv = trans->Start(&request, &callback, NULL); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3580 ASSERT_EQ(OK, rv); | 3580 ASSERT_EQ(OK, rv); |
3581 | 3581 |
3582 // Inject a failure the next time that "www.google.com" is resolved. This way | 3582 // Inject a failure the next time that "www.google.com" is resolved. This way |
3583 // we can tell if the next lookup hit the cache, or the "network". | 3583 // we can tell if the next lookup hit the cache, or the "network". |
3584 // (cache --> success, "network" --> failure). | 3584 // (cache --> success, "network" --> failure). |
3585 session_deps.host_resolver->rules()->AddSimulatedFailure("www.google.com"); | 3585 session_deps.host_resolver->rules()->AddSimulatedFailure("www.google.com"); |
3586 | 3586 |
3587 // Connect up a mock socket which will fail with ERR_UNEXPECTED during the | 3587 // Connect up a mock socket which will fail with ERR_UNEXPECTED during the |
3588 // first read -- this won't be reached as the host resolution will fail first. | 3588 // first read -- this won't be reached as the host resolution will fail first. |
3589 MockRead data_reads[] = { MockRead(false, ERR_UNEXPECTED) }; | 3589 MockRead data_reads[] = { MockRead(false, ERR_UNEXPECTED) }; |
3590 StaticMockSocket data(data_reads, NULL); | 3590 StaticSocketDataProvider data(data_reads, NULL); |
3591 session_deps.socket_factory.AddMockSocket(&data); | 3591 session_deps.socket_factory.AddSocketDataProvider(&data); |
3592 | 3592 |
3593 // Issue a request, asking to bypass the cache(s). | 3593 // Issue a request, asking to bypass the cache(s). |
3594 HttpRequestInfo request; | 3594 HttpRequestInfo request; |
3595 request.method = "GET"; | 3595 request.method = "GET"; |
3596 request.load_flags = LOAD_BYPASS_CACHE; | 3596 request.load_flags = LOAD_BYPASS_CACHE; |
3597 request.url = GURL("http://www.google.com/"); | 3597 request.url = GURL("http://www.google.com/"); |
3598 | 3598 |
3599 // Run the request. | 3599 // Run the request. |
3600 TestCompletionCallback callback; | 3600 TestCompletionCallback callback; |
3601 rv = trans->Start(&request, &callback, NULL); | 3601 rv = trans->Start(&request, &callback, NULL); |
(...skipping 11 matching lines...) Expand all Loading... |
3613 scoped_refptr<HttpNetworkSession> session = CreateSession(&session_deps); | 3613 scoped_refptr<HttpNetworkSession> session = CreateSession(&session_deps); |
3614 | 3614 |
3615 HttpRequestInfo request; | 3615 HttpRequestInfo request; |
3616 request.method = "GET"; | 3616 request.method = "GET"; |
3617 request.url = GURL("http://www.foo.com/"); | 3617 request.url = GURL("http://www.foo.com/"); |
3618 request.load_flags = 0; | 3618 request.load_flags = 0; |
3619 | 3619 |
3620 MockWrite write_failure[] = { | 3620 MockWrite write_failure[] = { |
3621 MockWrite(true, ERR_CONNECTION_RESET), | 3621 MockWrite(true, ERR_CONNECTION_RESET), |
3622 }; | 3622 }; |
3623 StaticMockSocket data(NULL, write_failure); | 3623 StaticSocketDataProvider data(NULL, write_failure); |
3624 session_deps.socket_factory.AddMockSocket(&data); | 3624 session_deps.socket_factory.AddSocketDataProvider(&data); |
3625 | 3625 |
3626 TestCompletionCallback callback; | 3626 TestCompletionCallback callback; |
3627 | 3627 |
3628 scoped_ptr<HttpTransaction> trans( | 3628 scoped_ptr<HttpTransaction> trans( |
3629 new HttpNetworkTransaction(CreateSession(&session_deps))); | 3629 new HttpNetworkTransaction(CreateSession(&session_deps))); |
3630 | 3630 |
3631 int rv = trans->Start(&request, &callback, NULL); | 3631 int rv = trans->Start(&request, &callback, NULL); |
3632 EXPECT_EQ(ERR_IO_PENDING, rv); | 3632 EXPECT_EQ(ERR_IO_PENDING, rv); |
3633 | 3633 |
3634 rv = callback.WaitForResult(); | 3634 rv = callback.WaitForResult(); |
3635 EXPECT_EQ(ERR_CONNECTION_RESET, rv); | 3635 EXPECT_EQ(ERR_CONNECTION_RESET, rv); |
3636 } | 3636 } |
3637 | 3637 |
3638 // Check that a connection closed after the start of the headers finishes ok. | 3638 // Check that a connection closed after the start of the headers finishes ok. |
3639 TEST_F(HttpNetworkTransactionTest, ConnectionClosedAfterStartOfHeaders) { | 3639 TEST_F(HttpNetworkTransactionTest, ConnectionClosedAfterStartOfHeaders) { |
3640 SessionDependencies session_deps; | 3640 SessionDependencies session_deps; |
3641 scoped_refptr<HttpNetworkSession> session = CreateSession(&session_deps); | 3641 scoped_refptr<HttpNetworkSession> session = CreateSession(&session_deps); |
3642 | 3642 |
3643 HttpRequestInfo request; | 3643 HttpRequestInfo request; |
3644 request.method = "GET"; | 3644 request.method = "GET"; |
3645 request.url = GURL("http://www.foo.com/"); | 3645 request.url = GURL("http://www.foo.com/"); |
3646 request.load_flags = 0; | 3646 request.load_flags = 0; |
3647 | 3647 |
3648 MockRead data_reads[] = { | 3648 MockRead data_reads[] = { |
3649 MockRead("HTTP/1."), | 3649 MockRead("HTTP/1."), |
3650 MockRead(false, OK), | 3650 MockRead(false, OK), |
3651 }; | 3651 }; |
3652 | 3652 |
3653 StaticMockSocket data(data_reads, NULL); | 3653 StaticSocketDataProvider data(data_reads, NULL); |
3654 session_deps.socket_factory.AddMockSocket(&data); | 3654 session_deps.socket_factory.AddSocketDataProvider(&data); |
3655 | 3655 |
3656 TestCompletionCallback callback; | 3656 TestCompletionCallback callback; |
3657 | 3657 |
3658 scoped_ptr<HttpTransaction> trans( | 3658 scoped_ptr<HttpTransaction> trans( |
3659 new HttpNetworkTransaction(CreateSession(&session_deps))); | 3659 new HttpNetworkTransaction(CreateSession(&session_deps))); |
3660 | 3660 |
3661 int rv = trans->Start(&request, &callback, NULL); | 3661 int rv = trans->Start(&request, &callback, NULL); |
3662 EXPECT_EQ(ERR_IO_PENDING, rv); | 3662 EXPECT_EQ(ERR_IO_PENDING, rv); |
3663 | 3663 |
3664 rv = callback.WaitForResult(); | 3664 rv = callback.WaitForResult(); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3696 | 3696 |
3697 MockRead data_reads1[] = { | 3697 MockRead data_reads1[] = { |
3698 MockRead("HTTP/1.1 401 Unauthorized\r\n"), | 3698 MockRead("HTTP/1.1 401 Unauthorized\r\n"), |
3699 MockRead("WWW-Authenticate: Basic realm=\"MyRealm1\"\r\n"), | 3699 MockRead("WWW-Authenticate: Basic realm=\"MyRealm1\"\r\n"), |
3700 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 3700 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
3701 MockRead("Content-Length: 14\r\n\r\n"), | 3701 MockRead("Content-Length: 14\r\n\r\n"), |
3702 MockRead("Unauth"), | 3702 MockRead("Unauth"), |
3703 MockRead(true, ERR_CONNECTION_RESET), | 3703 MockRead(true, ERR_CONNECTION_RESET), |
3704 }; | 3704 }; |
3705 | 3705 |
3706 StaticMockSocket data1(data_reads1, data_writes1); | 3706 StaticSocketDataProvider data1(data_reads1, data_writes1); |
3707 session_deps.socket_factory.AddMockSocket(&data1); | 3707 session_deps.socket_factory.AddSocketDataProvider(&data1); |
3708 | 3708 |
3709 // After calling trans->RestartWithAuth(), this is the request we should | 3709 // After calling trans->RestartWithAuth(), this is the request we should |
3710 // be issuing -- the final header line contains the credentials. | 3710 // be issuing -- the final header line contains the credentials. |
3711 MockWrite data_writes2[] = { | 3711 MockWrite data_writes2[] = { |
3712 MockWrite("GET / HTTP/1.1\r\n" | 3712 MockWrite("GET / HTTP/1.1\r\n" |
3713 "Host: www.google.com\r\n" | 3713 "Host: www.google.com\r\n" |
3714 "Connection: keep-alive\r\n" | 3714 "Connection: keep-alive\r\n" |
3715 "Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), | 3715 "Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), |
3716 }; | 3716 }; |
3717 | 3717 |
3718 // Lastly, the server responds with the actual content. | 3718 // Lastly, the server responds with the actual content. |
3719 MockRead data_reads2[] = { | 3719 MockRead data_reads2[] = { |
3720 MockRead("HTTP/1.1 200 OK\r\n"), | 3720 MockRead("HTTP/1.1 200 OK\r\n"), |
3721 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), | 3721 MockRead("Content-Type: text/html; charset=iso-8859-1\r\n"), |
3722 MockRead("Content-Length: 100\r\n\r\n"), | 3722 MockRead("Content-Length: 100\r\n\r\n"), |
3723 MockRead(false, OK), | 3723 MockRead(false, OK), |
3724 }; | 3724 }; |
3725 | 3725 |
3726 StaticMockSocket data2(data_reads2, data_writes2); | 3726 StaticSocketDataProvider data2(data_reads2, data_writes2); |
3727 session_deps.socket_factory.AddMockSocket(&data2); | 3727 session_deps.socket_factory.AddSocketDataProvider(&data2); |
3728 | 3728 |
3729 TestCompletionCallback callback1; | 3729 TestCompletionCallback callback1; |
3730 | 3730 |
3731 int rv = trans->Start(&request, &callback1, NULL); | 3731 int rv = trans->Start(&request, &callback1, NULL); |
3732 EXPECT_EQ(ERR_IO_PENDING, rv); | 3732 EXPECT_EQ(ERR_IO_PENDING, rv); |
3733 | 3733 |
3734 rv = callback1.WaitForResult(); | 3734 rv = callback1.WaitForResult(); |
3735 EXPECT_EQ(OK, rv); | 3735 EXPECT_EQ(OK, rv); |
3736 | 3736 |
3737 const HttpResponseInfo* response = trans->GetResponseInfo(); | 3737 const HttpResponseInfo* response = trans->GetResponseInfo(); |
(...skipping 27 matching lines...) Expand all Loading... |
3765 HttpRequestInfo request; | 3765 HttpRequestInfo request; |
3766 request.method = "GET"; | 3766 request.method = "GET"; |
3767 request.url = GURL("https://www.google.com/"); | 3767 request.url = GURL("https://www.google.com/"); |
3768 request.load_flags = 0; | 3768 request.load_flags = 0; |
3769 | 3769 |
3770 MockRead proxy_reads[] = { | 3770 MockRead proxy_reads[] = { |
3771 MockRead("HTTP/1.0 200 Connected\r\n\r\nExtra data"), | 3771 MockRead("HTTP/1.0 200 Connected\r\n\r\nExtra data"), |
3772 MockRead(false, OK) | 3772 MockRead(false, OK) |
3773 }; | 3773 }; |
3774 | 3774 |
3775 StaticMockSocket data(proxy_reads, NULL); | 3775 StaticSocketDataProvider data(proxy_reads, NULL); |
3776 MockSSLSocket ssl(true, OK); | 3776 SSLSocketDataProvider ssl(true, OK); |
3777 | 3777 |
3778 session_deps.socket_factory.AddMockSocket(&data); | 3778 session_deps.socket_factory.AddSocketDataProvider(&data); |
3779 session_deps.socket_factory.AddMockSSLSocket(&ssl); | 3779 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); |
3780 | 3780 |
3781 TestCompletionCallback callback; | 3781 TestCompletionCallback callback; |
3782 | 3782 |
3783 session_deps.socket_factory.ResetNextMockIndexes(); | 3783 session_deps.socket_factory.ResetNextMockIndexes(); |
3784 | 3784 |
3785 scoped_ptr<HttpTransaction> trans( | 3785 scoped_ptr<HttpTransaction> trans( |
3786 new HttpNetworkTransaction(CreateSession(&session_deps))); | 3786 new HttpNetworkTransaction(CreateSession(&session_deps))); |
3787 | 3787 |
3788 int rv = trans->Start(&request, &callback, NULL); | 3788 int rv = trans->Start(&request, &callback, NULL); |
3789 EXPECT_EQ(ERR_IO_PENDING, rv); | 3789 EXPECT_EQ(ERR_IO_PENDING, rv); |
3790 | 3790 |
3791 rv = callback.WaitForResult(); | 3791 rv = callback.WaitForResult(); |
3792 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, rv); | 3792 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, rv); |
3793 } | 3793 } |
3794 | 3794 |
3795 } // namespace net | 3795 } // namespace net |
OLD | NEW |