OLD | NEW |
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 "build/build_config.h" | 5 #include "build/build_config.h" |
6 | 6 |
7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
8 #include <windows.h> | 8 #include <windows.h> |
9 #include <shlobj.h> | 9 #include <shlobj.h> |
10 #endif | 10 #endif |
(...skipping 19 matching lines...) Expand all Loading... |
30 #include "base/strings/utf_string_conversions.h" | 30 #include "base/strings/utf_string_conversions.h" |
31 #include "net/base/capturing_net_log.h" | 31 #include "net/base/capturing_net_log.h" |
32 #include "net/base/load_flags.h" | 32 #include "net/base/load_flags.h" |
33 #include "net/base/load_timing_info.h" | 33 #include "net/base/load_timing_info.h" |
34 #include "net/base/load_timing_info_test_util.h" | 34 #include "net/base/load_timing_info_test_util.h" |
35 #include "net/base/net_errors.h" | 35 #include "net/base/net_errors.h" |
36 #include "net/base/net_log.h" | 36 #include "net/base/net_log.h" |
37 #include "net/base/net_log_unittest.h" | 37 #include "net/base/net_log_unittest.h" |
38 #include "net/base/net_module.h" | 38 #include "net/base/net_module.h" |
39 #include "net/base/net_util.h" | 39 #include "net/base/net_util.h" |
| 40 #include "net/base/request_priority.h" |
40 #include "net/base/test_data_directory.h" | 41 #include "net/base/test_data_directory.h" |
41 #include "net/base/upload_bytes_element_reader.h" | 42 #include "net/base/upload_bytes_element_reader.h" |
42 #include "net/base/upload_data_stream.h" | 43 #include "net/base/upload_data_stream.h" |
43 #include "net/base/upload_file_element_reader.h" | 44 #include "net/base/upload_file_element_reader.h" |
44 #include "net/cert/ev_root_ca_metadata.h" | 45 #include "net/cert/ev_root_ca_metadata.h" |
45 #include "net/cert/test_root_certs.h" | 46 #include "net/cert/test_root_certs.h" |
46 #include "net/cookies/cookie_monster.h" | 47 #include "net/cookies/cookie_monster.h" |
47 #include "net/cookies/cookie_store_test_helpers.h" | 48 #include "net/cookies/cookie_store_test_helpers.h" |
48 #include "net/disk_cache/disk_cache.h" | 49 #include "net/disk_cache/disk_cache.h" |
49 #include "net/dns/mock_host_resolver.h" | 50 #include "net/dns/mock_host_resolver.h" |
(...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
614 protected: | 615 protected: |
615 CapturingNetLog net_log_; | 616 CapturingNetLog net_log_; |
616 TestNetworkDelegate default_network_delegate_; // Must outlive URLRequest. | 617 TestNetworkDelegate default_network_delegate_; // Must outlive URLRequest. |
617 URLRequestJobFactoryImpl job_factory_; | 618 URLRequestJobFactoryImpl job_factory_; |
618 TestURLRequestContext default_context_; | 619 TestURLRequestContext default_context_; |
619 }; | 620 }; |
620 | 621 |
621 TEST_F(URLRequestTest, AboutBlankTest) { | 622 TEST_F(URLRequestTest, AboutBlankTest) { |
622 TestDelegate d; | 623 TestDelegate d; |
623 { | 624 { |
624 URLRequest r(GURL("about:blank"), &d, &default_context_); | 625 URLRequest r(GURL("about:blank"), DEFAULT_PRIORITY, &d, &default_context_); |
625 | 626 |
626 r.Start(); | 627 r.Start(); |
627 EXPECT_TRUE(r.is_pending()); | 628 EXPECT_TRUE(r.is_pending()); |
628 | 629 |
629 base::RunLoop().Run(); | 630 base::RunLoop().Run(); |
630 | 631 |
631 EXPECT_TRUE(!r.is_pending()); | 632 EXPECT_TRUE(!r.is_pending()); |
632 EXPECT_FALSE(d.received_data_before_response()); | 633 EXPECT_FALSE(d.received_data_before_response()); |
633 EXPECT_EQ(d.bytes_received(), 0); | 634 EXPECT_EQ(d.bytes_received(), 0); |
634 EXPECT_EQ("", r.GetSocketAddress().host()); | 635 EXPECT_EQ("", r.GetSocketAddress().host()); |
635 EXPECT_EQ(0, r.GetSocketAddress().port()); | 636 EXPECT_EQ(0, r.GetSocketAddress().port()); |
636 | 637 |
637 HttpRequestHeaders headers; | 638 HttpRequestHeaders headers; |
638 EXPECT_FALSE(r.GetFullRequestHeaders(&headers)); | 639 EXPECT_FALSE(r.GetFullRequestHeaders(&headers)); |
639 } | 640 } |
640 } | 641 } |
641 | 642 |
642 TEST_F(URLRequestTest, DataURLImageTest) { | 643 TEST_F(URLRequestTest, DataURLImageTest) { |
643 TestDelegate d; | 644 TestDelegate d; |
644 { | 645 { |
645 // Use our nice little Chrome logo. | 646 // Use our nice little Chrome logo. |
646 URLRequest r(GURL( | 647 URLRequest r( |
| 648 GURL( |
647 "data:image/png;base64," | 649 "data:image/png;base64," |
648 "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADVklEQVQ4jX2TfUwUBBjG3" | 650 "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADVklEQVQ4jX2TfUwUBBjG3" |
649 "w1y+HGcd9dxhXR8T4awOccJGgOSWclHImznLkTlSw0DDQXkrmgYgbUYnlQTqQxIEVxitD" | 651 "w1y+HGcd9dxhXR8T4awOccJGgOSWclHImznLkTlSw0DDQXkrmgYgbUYnlQTqQxIEVxitD" |
650 "5UMCATRA1CEEg+Qjw3bWDxIauJv/5oumqs39/P827vnucRmYN0gyF01GI5MpCVdW0gO7t" | 652 "5UMCATRA1CEEg+Qjw3bWDxIauJv/5oumqs39/P827vnucRmYN0gyF01GI5MpCVdW0gO7t" |
651 "vNC+vqSEtbZefk5NuLv1jdJ46p/zw0HeH4+PHr3h7c1mjoV2t5rKzMx1+fg9bAgK6zHq9" | 653 "vNC+vqSEtbZefk5NuLv1jdJ46p/zw0HeH4+PHr3h7c1mjoV2t5rKzMx1+fg9bAgK6zHq9" |
652 "cU5z+LpA3xOtx34+vTeT21onRuzssC3zxbbSwC13d/pFuC7CkIMDxQpF7r/MWq12UctI1" | 654 "cU5z+LpA3xOtx34+vTeT21onRuzssC3zxbbSwC13d/pFuC7CkIMDxQpF7r/MWq12UctI1" |
653 "dWWm99ypqSYmRUBdKem8MkrO/kgaTt1O7YzlpzE5GIVd0WYUqt57yWf2McHTObYPbVD+Z" | 655 "dWWm99ypqSYmRUBdKem8MkrO/kgaTt1O7YzlpzE5GIVd0WYUqt57yWf2McHTObYPbVD+Z" |
654 "wbtlLTVMZ3BW+TnLyXLaWtmEq6WJVbT3HBh3Svj2HQQcm43XwmtoYM6vVKleh0uoWvnzW" | 656 "wbtlLTVMZ3BW+TnLyXLaWtmEq6WJVbT3HBh3Svj2HQQcm43XwmtoYM6vVKleh0uoWvnzW" |
655 "3v3MpidruPTQPf0bia7sJOtBM0ufTWNvus/nkDFHF9ZS+uYVjRUasMeHUmyLYtcklTvzW" | 657 "3v3MpidruPTQPf0bia7sJOtBM0ufTWNvus/nkDFHF9ZS+uYVjRUasMeHUmyLYtcklTvzW" |
656 "GFZnNOXczThvpKIzjcahSqIzkvDLayDq6D3eOjtBbNUEIZYyqsvj4V4wY92eNJ4IoyhTb" | 658 "GFZnNOXczThvpKIzjcahSqIzkvDLayDq6D3eOjtBbNUEIZYyqsvj4V4wY92eNJ4IoyhTb" |
657 "xXX1T5xsV9tm9r4TQwHLiZw/pdDZJea8TKmsmR/K0uLh/GwnCHghTja6lPhphezPfO5/5" | 659 "xXX1T5xsV9tm9r4TQwHLiZw/pdDZJea8TKmsmR/K0uLh/GwnCHghTja6lPhphezPfO5/5" |
658 "MrVvMzNaI3+ERHfrFzPKQukrQGI4d/3EFD/3E2mVNYvi4at7CXWREaxZGD+3hg28zD3gV" | 660 "MrVvMzNaI3+ERHfrFzPKQukrQGI4d/3EFD/3E2mVNYvi4at7CXWREaxZGD+3hg28zD3gV" |
659 "Md6q5c8GdosynKmSeRuGzpjyl1/9UDGtPR5HeaKT8Wjo17WXk579BXVUhN64ehF9fhRtq" | 661 "Md6q5c8GdosynKmSeRuGzpjyl1/9UDGtPR5HeaKT8Wjo17WXk579BXVUhN64ehF9fhRtq" |
660 "/uxxZKzNiZFGD0wRC3NFROZ5mwIPL/96K/rKMMLrIzF9uhHr+/sYH7DAbwlgC4J+R2Z7F" | 662 "/uxxZKzNiZFGD0wRC3NFROZ5mwIPL/96K/rKMMLrIzF9uhHr+/sYH7DAbwlgC4J+R2Z7F" |
661 "Ux1qLnV7MGF40smVSoJ/jvHRfYhQeUJd/SnYtGWhPHR0Sz+GE2F2yth0B36Vcz2KpnufB" | 663 "Ux1qLnV7MGF40smVSoJ/jvHRfYhQeUJd/SnYtGWhPHR0Sz+GE2F2yth0B36Vcz2KpnufB" |
662 "JbsysjjW4kblBUiIjiURUWqJY65zxbnTy57GQyH58zgy0QBtTQv5gH15XMdKkYu+TGaJM" | 664 "JbsysjjW4kblBUiIjiURUWqJY65zxbnTy57GQyH58zgy0QBtTQv5gH15XMdKkYu+TGaJM" |
663 "nlm2O34uI4b9tflqp1+QEFGzoW/ulmcofcpkZCYJhDfSpme7QcrHa+Xfji8paEQkTkSfm" | 665 "nlm2O34uI4b9tflqp1+QEFGzoW/ulmcofcpkZCYJhDfSpme7QcrHa+Xfji8paEQkTkSfm" |
664 "moRWRNZr/F1KfVMjW+IKEnv2FwZfKdzt0BQR6lClcZR0EfEXEfv/G6W9iLiIyCoReV5En" | 666 "moRWRNZr/F1KfVMjW+IKEnv2FwZfKdzt0BQR6lClcZR0EfEXEfv/G6W9iLiIyCoReV5En" |
665 "hORIBHx+ufPj/gLB/zGI/G4Bk0AAAAASUVORK5CYII="), | 667 "hORIBHx+ufPj/gLB/zGI/G4Bk0AAAAASUVORK5CYII="), |
| 668 DEFAULT_PRIORITY, |
666 &d, | 669 &d, |
667 &default_context_); | 670 &default_context_); |
668 | 671 |
669 r.Start(); | 672 r.Start(); |
670 EXPECT_TRUE(r.is_pending()); | 673 EXPECT_TRUE(r.is_pending()); |
671 | 674 |
672 base::RunLoop().Run(); | 675 base::RunLoop().Run(); |
673 | 676 |
674 EXPECT_TRUE(!r.is_pending()); | 677 EXPECT_TRUE(!r.is_pending()); |
675 EXPECT_FALSE(d.received_data_before_response()); | 678 EXPECT_FALSE(d.received_data_before_response()); |
676 EXPECT_EQ(d.bytes_received(), 911); | 679 EXPECT_EQ(d.bytes_received(), 911); |
677 EXPECT_EQ("", r.GetSocketAddress().host()); | 680 EXPECT_EQ("", r.GetSocketAddress().host()); |
678 EXPECT_EQ(0, r.GetSocketAddress().port()); | 681 EXPECT_EQ(0, r.GetSocketAddress().port()); |
679 | 682 |
680 HttpRequestHeaders headers; | 683 HttpRequestHeaders headers; |
681 EXPECT_FALSE(r.GetFullRequestHeaders(&headers)); | 684 EXPECT_FALSE(r.GetFullRequestHeaders(&headers)); |
682 } | 685 } |
683 } | 686 } |
684 | 687 |
685 TEST_F(URLRequestTest, FileTest) { | 688 TEST_F(URLRequestTest, FileTest) { |
686 base::FilePath app_path; | 689 base::FilePath app_path; |
687 PathService::Get(base::FILE_EXE, &app_path); | 690 PathService::Get(base::FILE_EXE, &app_path); |
688 GURL app_url = FilePathToFileURL(app_path); | 691 GURL app_url = FilePathToFileURL(app_path); |
689 | 692 |
690 TestDelegate d; | 693 TestDelegate d; |
691 { | 694 { |
692 URLRequest r(app_url, &d, &default_context_); | 695 URLRequest r(app_url, DEFAULT_PRIORITY, &d, &default_context_); |
693 | 696 |
694 r.Start(); | 697 r.Start(); |
695 EXPECT_TRUE(r.is_pending()); | 698 EXPECT_TRUE(r.is_pending()); |
696 | 699 |
697 base::RunLoop().Run(); | 700 base::RunLoop().Run(); |
698 | 701 |
699 int64 file_size = -1; | 702 int64 file_size = -1; |
700 EXPECT_TRUE(file_util::GetFileSize(app_path, &file_size)); | 703 EXPECT_TRUE(file_util::GetFileSize(app_path, &file_size)); |
701 | 704 |
702 EXPECT_TRUE(!r.is_pending()); | 705 EXPECT_TRUE(!r.is_pending()); |
703 EXPECT_EQ(1, d.response_started_count()); | 706 EXPECT_EQ(1, d.response_started_count()); |
704 EXPECT_FALSE(d.received_data_before_response()); | 707 EXPECT_FALSE(d.received_data_before_response()); |
705 EXPECT_EQ(d.bytes_received(), static_cast<int>(file_size)); | 708 EXPECT_EQ(d.bytes_received(), static_cast<int>(file_size)); |
706 EXPECT_EQ("", r.GetSocketAddress().host()); | 709 EXPECT_EQ("", r.GetSocketAddress().host()); |
707 EXPECT_EQ(0, r.GetSocketAddress().port()); | 710 EXPECT_EQ(0, r.GetSocketAddress().port()); |
708 | 711 |
709 HttpRequestHeaders headers; | 712 HttpRequestHeaders headers; |
710 EXPECT_FALSE(r.GetFullRequestHeaders(&headers)); | 713 EXPECT_FALSE(r.GetFullRequestHeaders(&headers)); |
711 } | 714 } |
712 } | 715 } |
713 | 716 |
714 TEST_F(URLRequestTest, FileTestCancel) { | 717 TEST_F(URLRequestTest, FileTestCancel) { |
715 base::FilePath app_path; | 718 base::FilePath app_path; |
716 PathService::Get(base::FILE_EXE, &app_path); | 719 PathService::Get(base::FILE_EXE, &app_path); |
717 GURL app_url = FilePathToFileURL(app_path); | 720 GURL app_url = FilePathToFileURL(app_path); |
718 | 721 |
719 TestDelegate d; | 722 TestDelegate d; |
720 { | 723 { |
721 URLRequest r(app_url, &d, &default_context_); | 724 URLRequest r(app_url, DEFAULT_PRIORITY, &d, &default_context_); |
722 | 725 |
723 r.Start(); | 726 r.Start(); |
724 EXPECT_TRUE(r.is_pending()); | 727 EXPECT_TRUE(r.is_pending()); |
725 r.Cancel(); | 728 r.Cancel(); |
726 } | 729 } |
727 // Async cancellation should be safe even when URLRequest has been already | 730 // Async cancellation should be safe even when URLRequest has been already |
728 // destroyed. | 731 // destroyed. |
729 base::RunLoop().RunUntilIdle(); | 732 base::RunLoop().RunUntilIdle(); |
730 } | 733 } |
731 | 734 |
(...skipping 11 matching lines...) Expand all Loading... |
743 EXPECT_TRUE(file_util::GetFileSize(temp_path, &file_size)); | 746 EXPECT_TRUE(file_util::GetFileSize(temp_path, &file_size)); |
744 | 747 |
745 const size_t first_byte_position = 500; | 748 const size_t first_byte_position = 500; |
746 const size_t last_byte_position = buffer_size - first_byte_position; | 749 const size_t last_byte_position = buffer_size - first_byte_position; |
747 const size_t content_length = last_byte_position - first_byte_position + 1; | 750 const size_t content_length = last_byte_position - first_byte_position + 1; |
748 std::string partial_buffer_string(buffer.get() + first_byte_position, | 751 std::string partial_buffer_string(buffer.get() + first_byte_position, |
749 buffer.get() + last_byte_position + 1); | 752 buffer.get() + last_byte_position + 1); |
750 | 753 |
751 TestDelegate d; | 754 TestDelegate d; |
752 { | 755 { |
753 URLRequest r(temp_url, &d, &default_context_); | 756 URLRequest r(temp_url, DEFAULT_PRIORITY, &d, &default_context_); |
754 | 757 |
755 HttpRequestHeaders headers; | 758 HttpRequestHeaders headers; |
756 headers.SetHeader(HttpRequestHeaders::kRange, | 759 headers.SetHeader(HttpRequestHeaders::kRange, |
757 base::StringPrintf( | 760 base::StringPrintf( |
758 "bytes=%" PRIuS "-%" PRIuS, | 761 "bytes=%" PRIuS "-%" PRIuS, |
759 first_byte_position, last_byte_position)); | 762 first_byte_position, last_byte_position)); |
760 r.SetExtraRequestHeaders(headers); | 763 r.SetExtraRequestHeaders(headers); |
761 r.Start(); | 764 r.Start(); |
762 EXPECT_TRUE(r.is_pending()); | 765 EXPECT_TRUE(r.is_pending()); |
763 | 766 |
(...skipping 23 matching lines...) Expand all Loading... |
787 EXPECT_TRUE(file_util::GetFileSize(temp_path, &file_size)); | 790 EXPECT_TRUE(file_util::GetFileSize(temp_path, &file_size)); |
788 | 791 |
789 const size_t first_byte_position = 500; | 792 const size_t first_byte_position = 500; |
790 const size_t last_byte_position = buffer_size - 1; | 793 const size_t last_byte_position = buffer_size - 1; |
791 const size_t content_length = last_byte_position - first_byte_position + 1; | 794 const size_t content_length = last_byte_position - first_byte_position + 1; |
792 std::string partial_buffer_string(buffer.get() + first_byte_position, | 795 std::string partial_buffer_string(buffer.get() + first_byte_position, |
793 buffer.get() + last_byte_position + 1); | 796 buffer.get() + last_byte_position + 1); |
794 | 797 |
795 TestDelegate d; | 798 TestDelegate d; |
796 { | 799 { |
797 URLRequest r(temp_url, &d, &default_context_); | 800 URLRequest r(temp_url, DEFAULT_PRIORITY, &d, &default_context_); |
798 | 801 |
799 HttpRequestHeaders headers; | 802 HttpRequestHeaders headers; |
800 headers.SetHeader(HttpRequestHeaders::kRange, | 803 headers.SetHeader(HttpRequestHeaders::kRange, |
801 base::StringPrintf("bytes=%" PRIuS "-", | 804 base::StringPrintf("bytes=%" PRIuS "-", |
802 first_byte_position)); | 805 first_byte_position)); |
803 r.SetExtraRequestHeaders(headers); | 806 r.SetExtraRequestHeaders(headers); |
804 r.Start(); | 807 r.Start(); |
805 EXPECT_TRUE(r.is_pending()); | 808 EXPECT_TRUE(r.is_pending()); |
806 | 809 |
807 base::RunLoop().Run(); | 810 base::RunLoop().Run(); |
(...skipping 16 matching lines...) Expand all Loading... |
824 base::FilePath temp_path; | 827 base::FilePath temp_path; |
825 EXPECT_TRUE(file_util::CreateTemporaryFile(&temp_path)); | 828 EXPECT_TRUE(file_util::CreateTemporaryFile(&temp_path)); |
826 GURL temp_url = FilePathToFileURL(temp_path); | 829 GURL temp_url = FilePathToFileURL(temp_path); |
827 EXPECT_TRUE(file_util::WriteFile(temp_path, buffer.get(), buffer_size)); | 830 EXPECT_TRUE(file_util::WriteFile(temp_path, buffer.get(), buffer_size)); |
828 | 831 |
829 int64 file_size; | 832 int64 file_size; |
830 EXPECT_TRUE(file_util::GetFileSize(temp_path, &file_size)); | 833 EXPECT_TRUE(file_util::GetFileSize(temp_path, &file_size)); |
831 | 834 |
832 TestDelegate d; | 835 TestDelegate d; |
833 { | 836 { |
834 URLRequest r(temp_url, &d, &default_context_); | 837 URLRequest r(temp_url, DEFAULT_PRIORITY, &d, &default_context_); |
835 | 838 |
836 HttpRequestHeaders headers; | 839 HttpRequestHeaders headers; |
837 headers.SetHeader(HttpRequestHeaders::kRange, | 840 headers.SetHeader(HttpRequestHeaders::kRange, |
838 "bytes=0-0,10-200,200-300"); | 841 "bytes=0-0,10-200,200-300"); |
839 r.SetExtraRequestHeaders(headers); | 842 r.SetExtraRequestHeaders(headers); |
840 r.Start(); | 843 r.Start(); |
841 EXPECT_TRUE(r.is_pending()); | 844 EXPECT_TRUE(r.is_pending()); |
842 | 845 |
843 base::RunLoop().Run(); | 846 base::RunLoop().Run(); |
844 EXPECT_TRUE(d.request_failed()); | 847 EXPECT_TRUE(d.request_failed()); |
845 } | 848 } |
846 | 849 |
847 EXPECT_TRUE(base::DeleteFile(temp_path, false)); | 850 EXPECT_TRUE(base::DeleteFile(temp_path, false)); |
848 } | 851 } |
849 | 852 |
850 TEST_F(URLRequestTest, InvalidUrlTest) { | 853 TEST_F(URLRequestTest, InvalidUrlTest) { |
851 TestDelegate d; | 854 TestDelegate d; |
852 { | 855 { |
853 URLRequest r(GURL("invalid url"), &d, &default_context_); | 856 URLRequest r(GURL("invalid url"), DEFAULT_PRIORITY, &d, &default_context_); |
854 | 857 |
855 r.Start(); | 858 r.Start(); |
856 EXPECT_TRUE(r.is_pending()); | 859 EXPECT_TRUE(r.is_pending()); |
857 | 860 |
858 base::RunLoop().Run(); | 861 base::RunLoop().Run(); |
859 EXPECT_TRUE(d.request_failed()); | 862 EXPECT_TRUE(d.request_failed()); |
860 } | 863 } |
861 } | 864 } |
862 | 865 |
863 #if defined(OS_WIN) | 866 #if defined(OS_WIN) |
(...skipping 16 matching lines...) Expand all Loading... |
880 CLSCTX_INPROC_SERVER))); | 883 CLSCTX_INPROC_SERVER))); |
881 base::win::ScopedComPtr<IPersistFile> persist; | 884 base::win::ScopedComPtr<IPersistFile> persist; |
882 ASSERT_TRUE(SUCCEEDED(shell.QueryInterface(persist.Receive()))); | 885 ASSERT_TRUE(SUCCEEDED(shell.QueryInterface(persist.Receive()))); |
883 EXPECT_TRUE(SUCCEEDED(shell->SetPath(app_path.value().c_str()))); | 886 EXPECT_TRUE(SUCCEEDED(shell->SetPath(app_path.value().c_str()))); |
884 EXPECT_TRUE(SUCCEEDED(shell->SetDescription(L"ResolveShortcutTest"))); | 887 EXPECT_TRUE(SUCCEEDED(shell->SetDescription(L"ResolveShortcutTest"))); |
885 EXPECT_TRUE(SUCCEEDED(persist->Save(lnk_path.c_str(), TRUE))); | 888 EXPECT_TRUE(SUCCEEDED(persist->Save(lnk_path.c_str(), TRUE))); |
886 } | 889 } |
887 | 890 |
888 TestDelegate d; | 891 TestDelegate d; |
889 { | 892 { |
890 URLRequest r(FilePathToFileURL(base::FilePath(lnk_path)), &d, | 893 URLRequest r(FilePathToFileURL(base::FilePath(lnk_path)), |
| 894 DEFAULT_PRIORITY, |
| 895 &d, |
891 &default_context_); | 896 &default_context_); |
892 | 897 |
893 r.Start(); | 898 r.Start(); |
894 EXPECT_TRUE(r.is_pending()); | 899 EXPECT_TRUE(r.is_pending()); |
895 | 900 |
896 base::RunLoop().Run(); | 901 base::RunLoop().Run(); |
897 | 902 |
898 WIN32_FILE_ATTRIBUTE_DATA data; | 903 WIN32_FILE_ATTRIBUTE_DATA data; |
899 GetFileAttributesEx(app_path.value().c_str(), | 904 GetFileAttributesEx(app_path.value().c_str(), |
900 GetFileExInfoStandard, &data); | 905 GetFileExInfoStandard, &data); |
(...skipping 23 matching lines...) Expand all Loading... |
924 // Put in mock resource provider. | 929 // Put in mock resource provider. |
925 NetModule::SetResourceProvider(TestNetResourceProvider); | 930 NetModule::SetResourceProvider(TestNetResourceProvider); |
926 | 931 |
927 TestDelegate d; | 932 TestDelegate d; |
928 { | 933 { |
929 base::FilePath file_path; | 934 base::FilePath file_path; |
930 PathService::Get(base::DIR_SOURCE_ROOT, &file_path); | 935 PathService::Get(base::DIR_SOURCE_ROOT, &file_path); |
931 file_path = file_path.Append(FILE_PATH_LITERAL("net")); | 936 file_path = file_path.Append(FILE_PATH_LITERAL("net")); |
932 file_path = file_path.Append(FILE_PATH_LITERAL("data")); | 937 file_path = file_path.Append(FILE_PATH_LITERAL("data")); |
933 | 938 |
934 URLRequest req(FilePathToFileURL(file_path), &d, &default_context_); | 939 URLRequest req( |
| 940 FilePathToFileURL(file_path), DEFAULT_PRIORITY, &d, &default_context_); |
935 req.Start(); | 941 req.Start(); |
936 EXPECT_TRUE(req.is_pending()); | 942 EXPECT_TRUE(req.is_pending()); |
937 | 943 |
938 d.set_cancel_in_received_data_pending(true); | 944 d.set_cancel_in_received_data_pending(true); |
939 | 945 |
940 base::RunLoop().Run(); | 946 base::RunLoop().Run(); |
941 } | 947 } |
942 | 948 |
943 // Take out mock resource provider. | 949 // Take out mock resource provider. |
944 NetModule::SetResourceProvider(NULL); | 950 NetModule::SetResourceProvider(NULL); |
945 } | 951 } |
946 | 952 |
947 TEST_F(URLRequestTest, FileDirOutputSanity) { | 953 TEST_F(URLRequestTest, FileDirOutputSanity) { |
948 // Verify the general sanity of the the output of the file: | 954 // Verify the general sanity of the the output of the file: |
949 // directory lister by checking for the output of a known existing | 955 // directory lister by checking for the output of a known existing |
950 // file. | 956 // file. |
951 const char sentinel_name[] = "filedir-sentinel"; | 957 const char sentinel_name[] = "filedir-sentinel"; |
952 | 958 |
953 base::FilePath path; | 959 base::FilePath path; |
954 PathService::Get(base::DIR_SOURCE_ROOT, &path); | 960 PathService::Get(base::DIR_SOURCE_ROOT, &path); |
955 path = path.Append(FILE_PATH_LITERAL("net")); | 961 path = path.Append(FILE_PATH_LITERAL("net")); |
956 path = path.Append(FILE_PATH_LITERAL("data")); | 962 path = path.Append(FILE_PATH_LITERAL("data")); |
957 path = path.Append(FILE_PATH_LITERAL("url_request_unittest")); | 963 path = path.Append(FILE_PATH_LITERAL("url_request_unittest")); |
958 | 964 |
959 TestDelegate d; | 965 TestDelegate d; |
960 URLRequest req(FilePathToFileURL(path), &d, &default_context_); | 966 URLRequest req( |
| 967 FilePathToFileURL(path), DEFAULT_PRIORITY, &d, &default_context_); |
961 req.Start(); | 968 req.Start(); |
962 base::RunLoop().Run(); | 969 base::RunLoop().Run(); |
963 | 970 |
964 // Generate entry for the sentinel file. | 971 // Generate entry for the sentinel file. |
965 base::FilePath sentinel_path = path.AppendASCII(sentinel_name); | 972 base::FilePath sentinel_path = path.AppendASCII(sentinel_name); |
966 base::PlatformFileInfo info; | 973 base::PlatformFileInfo info; |
967 EXPECT_TRUE(file_util::GetFileInfo(sentinel_path, &info)); | 974 EXPECT_TRUE(file_util::GetFileInfo(sentinel_path, &info)); |
968 EXPECT_GT(info.size, 0); | 975 EXPECT_GT(info.size, 0); |
969 std::string sentinel_output = GetDirectoryListingEntry( | 976 std::string sentinel_output = GetDirectoryListingEntry( |
970 base::string16(sentinel_name, sentinel_name + strlen(sentinel_name)), | 977 base::string16(sentinel_name, sentinel_name + strlen(sentinel_name)), |
(...skipping 15 matching lines...) Expand all Loading... |
986 // directory and does not end with a slash. Ensure that following such | 993 // directory and does not end with a slash. Ensure that following such |
987 // redirects does not crash. See http://crbug.com/18686. | 994 // redirects does not crash. See http://crbug.com/18686. |
988 | 995 |
989 base::FilePath path; | 996 base::FilePath path; |
990 PathService::Get(base::DIR_SOURCE_ROOT, &path); | 997 PathService::Get(base::DIR_SOURCE_ROOT, &path); |
991 path = path.Append(FILE_PATH_LITERAL("net")); | 998 path = path.Append(FILE_PATH_LITERAL("net")); |
992 path = path.Append(FILE_PATH_LITERAL("data")); | 999 path = path.Append(FILE_PATH_LITERAL("data")); |
993 path = path.Append(FILE_PATH_LITERAL("url_request_unittest")); | 1000 path = path.Append(FILE_PATH_LITERAL("url_request_unittest")); |
994 | 1001 |
995 TestDelegate d; | 1002 TestDelegate d; |
996 URLRequest req(FilePathToFileURL(path), &d, &default_context_); | 1003 URLRequest req( |
| 1004 FilePathToFileURL(path), DEFAULT_PRIORITY, &d, &default_context_); |
997 req.Start(); | 1005 req.Start(); |
998 base::RunLoop().Run(); | 1006 base::RunLoop().Run(); |
999 | 1007 |
1000 ASSERT_EQ(1, d.received_redirect_count()); | 1008 ASSERT_EQ(1, d.received_redirect_count()); |
1001 ASSERT_LT(0, d.bytes_received()); | 1009 ASSERT_LT(0, d.bytes_received()); |
1002 ASSERT_FALSE(d.request_failed()); | 1010 ASSERT_FALSE(d.request_failed()); |
1003 ASSERT_TRUE(req.status().is_success()); | 1011 ASSERT_TRUE(req.status().is_success()); |
1004 } | 1012 } |
1005 | 1013 |
1006 #if defined(OS_WIN) | 1014 #if defined(OS_WIN) |
1007 // Don't accept the url "file:///" on windows. See http://crbug.com/1474. | 1015 // Don't accept the url "file:///" on windows. See http://crbug.com/1474. |
1008 TEST_F(URLRequestTest, FileDirRedirectSingleSlash) { | 1016 TEST_F(URLRequestTest, FileDirRedirectSingleSlash) { |
1009 TestDelegate d; | 1017 TestDelegate d; |
1010 URLRequest req(GURL("file:///"), &d, &default_context_); | 1018 URLRequest req(GURL("file:///"), DEFAULT_PRIORITY, &d, &default_context_); |
1011 req.Start(); | 1019 req.Start(); |
1012 base::RunLoop().Run(); | 1020 base::RunLoop().Run(); |
1013 | 1021 |
1014 ASSERT_EQ(1, d.received_redirect_count()); | 1022 ASSERT_EQ(1, d.received_redirect_count()); |
1015 ASSERT_FALSE(req.status().is_success()); | 1023 ASSERT_FALSE(req.status().is_success()); |
1016 } | 1024 } |
1017 #endif | 1025 #endif |
1018 | 1026 |
1019 // Custom URLRequestJobs for use with interceptor tests | 1027 // Custom URLRequestJobs for use with interceptor tests |
1020 class RestartTestJob : public URLRequestTestJob { | 1028 class RestartTestJob : public URLRequestTestJob { |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1221 | 1229 |
1222 TEST_F(URLRequestTest, Intercept) { | 1230 TEST_F(URLRequestTest, Intercept) { |
1223 TestInterceptor interceptor; | 1231 TestInterceptor interceptor; |
1224 | 1232 |
1225 // intercept the main request and respond with a simple response | 1233 // intercept the main request and respond with a simple response |
1226 interceptor.intercept_main_request_ = true; | 1234 interceptor.intercept_main_request_ = true; |
1227 interceptor.main_headers_ = TestInterceptor::ok_headers(); | 1235 interceptor.main_headers_ = TestInterceptor::ok_headers(); |
1228 interceptor.main_data_ = TestInterceptor::ok_data(); | 1236 interceptor.main_data_ = TestInterceptor::ok_data(); |
1229 | 1237 |
1230 TestDelegate d; | 1238 TestDelegate d; |
1231 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1239 URLRequest req(GURL("http://test_intercept/foo"), |
| 1240 DEFAULT_PRIORITY, |
| 1241 &d, |
| 1242 &default_context_); |
1232 base::SupportsUserData::Data* user_data0 = new base::SupportsUserData::Data(); | 1243 base::SupportsUserData::Data* user_data0 = new base::SupportsUserData::Data(); |
1233 base::SupportsUserData::Data* user_data1 = new base::SupportsUserData::Data(); | 1244 base::SupportsUserData::Data* user_data1 = new base::SupportsUserData::Data(); |
1234 base::SupportsUserData::Data* user_data2 = new base::SupportsUserData::Data(); | 1245 base::SupportsUserData::Data* user_data2 = new base::SupportsUserData::Data(); |
1235 req.SetUserData(NULL, user_data0); | 1246 req.SetUserData(NULL, user_data0); |
1236 req.SetUserData(&user_data1, user_data1); | 1247 req.SetUserData(&user_data1, user_data1); |
1237 req.SetUserData(&user_data2, user_data2); | 1248 req.SetUserData(&user_data2, user_data2); |
1238 req.set_method("GET"); | 1249 req.set_method("GET"); |
1239 req.Start(); | 1250 req.Start(); |
1240 base::RunLoop().Run(); | 1251 base::RunLoop().Run(); |
1241 | 1252 |
(...skipping 20 matching lines...) Expand all Loading... |
1262 interceptor.intercept_main_request_ = true; | 1273 interceptor.intercept_main_request_ = true; |
1263 interceptor.main_headers_ = TestInterceptor::redirect_headers(); | 1274 interceptor.main_headers_ = TestInterceptor::redirect_headers(); |
1264 interceptor.main_data_ = TestInterceptor::redirect_data(); | 1275 interceptor.main_data_ = TestInterceptor::redirect_data(); |
1265 | 1276 |
1266 // intercept that redirect and respond a final OK response | 1277 // intercept that redirect and respond a final OK response |
1267 interceptor.intercept_redirect_ = true; | 1278 interceptor.intercept_redirect_ = true; |
1268 interceptor.redirect_headers_ = TestInterceptor::ok_headers(); | 1279 interceptor.redirect_headers_ = TestInterceptor::ok_headers(); |
1269 interceptor.redirect_data_ = TestInterceptor::ok_data(); | 1280 interceptor.redirect_data_ = TestInterceptor::ok_data(); |
1270 | 1281 |
1271 TestDelegate d; | 1282 TestDelegate d; |
1272 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1283 URLRequest req(GURL("http://test_intercept/foo"), |
| 1284 DEFAULT_PRIORITY, |
| 1285 &d, |
| 1286 &default_context_); |
1273 req.set_method("GET"); | 1287 req.set_method("GET"); |
1274 req.Start(); | 1288 req.Start(); |
1275 base::RunLoop().Run(); | 1289 base::RunLoop().Run(); |
1276 | 1290 |
1277 // Check the interceptor got called as expected | 1291 // Check the interceptor got called as expected |
1278 EXPECT_TRUE(interceptor.did_intercept_main_); | 1292 EXPECT_TRUE(interceptor.did_intercept_main_); |
1279 EXPECT_TRUE(interceptor.did_intercept_redirect_); | 1293 EXPECT_TRUE(interceptor.did_intercept_redirect_); |
1280 | 1294 |
1281 // Check we got one good response | 1295 // Check we got one good response |
1282 EXPECT_TRUE(req.status().is_success()); | 1296 EXPECT_TRUE(req.status().is_success()); |
(...skipping 12 matching lines...) Expand all Loading... |
1295 interceptor.intercept_main_request_ = true; | 1309 interceptor.intercept_main_request_ = true; |
1296 interceptor.main_headers_ = TestInterceptor::error_headers(); | 1310 interceptor.main_headers_ = TestInterceptor::error_headers(); |
1297 interceptor.main_data_ = TestInterceptor::error_data(); | 1311 interceptor.main_data_ = TestInterceptor::error_data(); |
1298 | 1312 |
1299 // intercept that error and respond with an OK response | 1313 // intercept that error and respond with an OK response |
1300 interceptor.intercept_final_response_ = true; | 1314 interceptor.intercept_final_response_ = true; |
1301 interceptor.final_headers_ = TestInterceptor::ok_headers(); | 1315 interceptor.final_headers_ = TestInterceptor::ok_headers(); |
1302 interceptor.final_data_ = TestInterceptor::ok_data(); | 1316 interceptor.final_data_ = TestInterceptor::ok_data(); |
1303 | 1317 |
1304 TestDelegate d; | 1318 TestDelegate d; |
1305 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1319 URLRequest req(GURL("http://test_intercept/foo"), |
| 1320 DEFAULT_PRIORITY, |
| 1321 &d, |
| 1322 &default_context_); |
1306 req.set_method("GET"); | 1323 req.set_method("GET"); |
1307 req.Start(); | 1324 req.Start(); |
1308 base::RunLoop().Run(); | 1325 base::RunLoop().Run(); |
1309 | 1326 |
1310 // Check the interceptor got called as expected | 1327 // Check the interceptor got called as expected |
1311 EXPECT_TRUE(interceptor.did_intercept_main_); | 1328 EXPECT_TRUE(interceptor.did_intercept_main_); |
1312 EXPECT_TRUE(interceptor.did_intercept_final_); | 1329 EXPECT_TRUE(interceptor.did_intercept_final_); |
1313 | 1330 |
1314 // Check we got one good response | 1331 // Check we got one good response |
1315 EXPECT_TRUE(req.status().is_success()); | 1332 EXPECT_TRUE(req.status().is_success()); |
1316 EXPECT_EQ(200, req.response_headers()->response_code()); | 1333 EXPECT_EQ(200, req.response_headers()->response_code()); |
1317 EXPECT_EQ(TestInterceptor::ok_data(), d.data_received()); | 1334 EXPECT_EQ(TestInterceptor::ok_data(), d.data_received()); |
1318 EXPECT_EQ(1, d.response_started_count()); | 1335 EXPECT_EQ(1, d.response_started_count()); |
1319 EXPECT_EQ(0, d.received_redirect_count()); | 1336 EXPECT_EQ(0, d.received_redirect_count()); |
1320 } | 1337 } |
1321 | 1338 |
1322 TEST_F(URLRequestTest, InterceptNetworkError) { | 1339 TEST_F(URLRequestTest, InterceptNetworkError) { |
1323 TestInterceptor interceptor; | 1340 TestInterceptor interceptor; |
1324 | 1341 |
1325 // intercept the main request to simulate a network error | 1342 // intercept the main request to simulate a network error |
1326 interceptor.simulate_main_network_error_ = true; | 1343 interceptor.simulate_main_network_error_ = true; |
1327 | 1344 |
1328 // intercept that error and respond with an OK response | 1345 // intercept that error and respond with an OK response |
1329 interceptor.intercept_final_response_ = true; | 1346 interceptor.intercept_final_response_ = true; |
1330 interceptor.final_headers_ = TestInterceptor::ok_headers(); | 1347 interceptor.final_headers_ = TestInterceptor::ok_headers(); |
1331 interceptor.final_data_ = TestInterceptor::ok_data(); | 1348 interceptor.final_data_ = TestInterceptor::ok_data(); |
1332 | 1349 |
1333 TestDelegate d; | 1350 TestDelegate d; |
1334 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1351 URLRequest req(GURL("http://test_intercept/foo"), |
| 1352 DEFAULT_PRIORITY, |
| 1353 &d, |
| 1354 &default_context_); |
1335 req.set_method("GET"); | 1355 req.set_method("GET"); |
1336 req.Start(); | 1356 req.Start(); |
1337 base::RunLoop().Run(); | 1357 base::RunLoop().Run(); |
1338 | 1358 |
1339 // Check the interceptor got called as expected | 1359 // Check the interceptor got called as expected |
1340 EXPECT_TRUE(interceptor.did_simulate_error_main_); | 1360 EXPECT_TRUE(interceptor.did_simulate_error_main_); |
1341 EXPECT_TRUE(interceptor.did_intercept_final_); | 1361 EXPECT_TRUE(interceptor.did_intercept_final_); |
1342 | 1362 |
1343 // Check we received one good response | 1363 // Check we received one good response |
1344 EXPECT_TRUE(req.status().is_success()); | 1364 EXPECT_TRUE(req.status().is_success()); |
1345 EXPECT_EQ(200, req.response_headers()->response_code()); | 1365 EXPECT_EQ(200, req.response_headers()->response_code()); |
1346 EXPECT_EQ(TestInterceptor::ok_data(), d.data_received()); | 1366 EXPECT_EQ(TestInterceptor::ok_data(), d.data_received()); |
1347 EXPECT_EQ(1, d.response_started_count()); | 1367 EXPECT_EQ(1, d.response_started_count()); |
1348 EXPECT_EQ(0, d.received_redirect_count()); | 1368 EXPECT_EQ(0, d.received_redirect_count()); |
1349 } | 1369 } |
1350 | 1370 |
1351 TEST_F(URLRequestTest, InterceptRestartRequired) { | 1371 TEST_F(URLRequestTest, InterceptRestartRequired) { |
1352 TestInterceptor interceptor; | 1372 TestInterceptor interceptor; |
1353 | 1373 |
1354 // restart the main request | 1374 // restart the main request |
1355 interceptor.restart_main_request_ = true; | 1375 interceptor.restart_main_request_ = true; |
1356 | 1376 |
1357 // then intercept the new main request and respond with an OK response | 1377 // then intercept the new main request and respond with an OK response |
1358 interceptor.intercept_main_request_ = true; | 1378 interceptor.intercept_main_request_ = true; |
1359 interceptor.main_headers_ = TestInterceptor::ok_headers(); | 1379 interceptor.main_headers_ = TestInterceptor::ok_headers(); |
1360 interceptor.main_data_ = TestInterceptor::ok_data(); | 1380 interceptor.main_data_ = TestInterceptor::ok_data(); |
1361 | 1381 |
1362 TestDelegate d; | 1382 TestDelegate d; |
1363 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1383 URLRequest req(GURL("http://test_intercept/foo"), |
| 1384 DEFAULT_PRIORITY, |
| 1385 &d, |
| 1386 &default_context_); |
1364 req.set_method("GET"); | 1387 req.set_method("GET"); |
1365 req.Start(); | 1388 req.Start(); |
1366 base::RunLoop().Run(); | 1389 base::RunLoop().Run(); |
1367 | 1390 |
1368 // Check the interceptor got called as expected | 1391 // Check the interceptor got called as expected |
1369 EXPECT_TRUE(interceptor.did_restart_main_); | 1392 EXPECT_TRUE(interceptor.did_restart_main_); |
1370 EXPECT_TRUE(interceptor.did_intercept_main_); | 1393 EXPECT_TRUE(interceptor.did_intercept_main_); |
1371 | 1394 |
1372 // Check we received one good response | 1395 // Check we received one good response |
1373 EXPECT_TRUE(req.status().is_success()); | 1396 EXPECT_TRUE(req.status().is_success()); |
(...skipping 10 matching lines...) Expand all Loading... |
1384 | 1407 |
1385 // intercept the main request and cancel from within the restarted job | 1408 // intercept the main request and cancel from within the restarted job |
1386 interceptor.cancel_main_request_ = true; | 1409 interceptor.cancel_main_request_ = true; |
1387 | 1410 |
1388 // setup to intercept final response and override it with an OK response | 1411 // setup to intercept final response and override it with an OK response |
1389 interceptor.intercept_final_response_ = true; | 1412 interceptor.intercept_final_response_ = true; |
1390 interceptor.final_headers_ = TestInterceptor::ok_headers(); | 1413 interceptor.final_headers_ = TestInterceptor::ok_headers(); |
1391 interceptor.final_data_ = TestInterceptor::ok_data(); | 1414 interceptor.final_data_ = TestInterceptor::ok_data(); |
1392 | 1415 |
1393 TestDelegate d; | 1416 TestDelegate d; |
1394 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1417 URLRequest req(GURL("http://test_intercept/foo"), |
| 1418 DEFAULT_PRIORITY, |
| 1419 &d, |
| 1420 &default_context_); |
1395 req.set_method("GET"); | 1421 req.set_method("GET"); |
1396 req.Start(); | 1422 req.Start(); |
1397 base::RunLoop().Run(); | 1423 base::RunLoop().Run(); |
1398 | 1424 |
1399 // Check the interceptor got called as expected | 1425 // Check the interceptor got called as expected |
1400 EXPECT_TRUE(interceptor.did_cancel_main_); | 1426 EXPECT_TRUE(interceptor.did_cancel_main_); |
1401 EXPECT_FALSE(interceptor.did_intercept_final_); | 1427 EXPECT_FALSE(interceptor.did_intercept_final_); |
1402 | 1428 |
1403 // Check we see a canceled request | 1429 // Check we see a canceled request |
1404 EXPECT_FALSE(req.status().is_success()); | 1430 EXPECT_FALSE(req.status().is_success()); |
(...skipping 10 matching lines...) Expand all Loading... |
1415 | 1441 |
1416 // intercept the redirect and cancel from within that job | 1442 // intercept the redirect and cancel from within that job |
1417 interceptor.cancel_redirect_request_ = true; | 1443 interceptor.cancel_redirect_request_ = true; |
1418 | 1444 |
1419 // setup to intercept final response and override it with an OK response | 1445 // setup to intercept final response and override it with an OK response |
1420 interceptor.intercept_final_response_ = true; | 1446 interceptor.intercept_final_response_ = true; |
1421 interceptor.final_headers_ = TestInterceptor::ok_headers(); | 1447 interceptor.final_headers_ = TestInterceptor::ok_headers(); |
1422 interceptor.final_data_ = TestInterceptor::ok_data(); | 1448 interceptor.final_data_ = TestInterceptor::ok_data(); |
1423 | 1449 |
1424 TestDelegate d; | 1450 TestDelegate d; |
1425 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1451 URLRequest req(GURL("http://test_intercept/foo"), |
| 1452 DEFAULT_PRIORITY, |
| 1453 &d, |
| 1454 &default_context_); |
1426 req.set_method("GET"); | 1455 req.set_method("GET"); |
1427 req.Start(); | 1456 req.Start(); |
1428 base::RunLoop().Run(); | 1457 base::RunLoop().Run(); |
1429 | 1458 |
1430 // Check the interceptor got called as expected | 1459 // Check the interceptor got called as expected |
1431 EXPECT_TRUE(interceptor.did_intercept_main_); | 1460 EXPECT_TRUE(interceptor.did_intercept_main_); |
1432 EXPECT_TRUE(interceptor.did_cancel_redirect_); | 1461 EXPECT_TRUE(interceptor.did_cancel_redirect_); |
1433 EXPECT_FALSE(interceptor.did_intercept_final_); | 1462 EXPECT_FALSE(interceptor.did_intercept_final_); |
1434 | 1463 |
1435 // Check we see a canceled request | 1464 // Check we see a canceled request |
1436 EXPECT_FALSE(req.status().is_success()); | 1465 EXPECT_FALSE(req.status().is_success()); |
1437 EXPECT_EQ(URLRequestStatus::CANCELED, req.status().status()); | 1466 EXPECT_EQ(URLRequestStatus::CANCELED, req.status().status()); |
1438 } | 1467 } |
1439 | 1468 |
1440 TEST_F(URLRequestTest, InterceptRespectsCancelFinal) { | 1469 TEST_F(URLRequestTest, InterceptRespectsCancelFinal) { |
1441 TestInterceptor interceptor; | 1470 TestInterceptor interceptor; |
1442 | 1471 |
1443 // intercept the main request to simulate a network error | 1472 // intercept the main request to simulate a network error |
1444 interceptor.simulate_main_network_error_ = true; | 1473 interceptor.simulate_main_network_error_ = true; |
1445 | 1474 |
1446 // setup to intercept final response and cancel from within that job | 1475 // setup to intercept final response and cancel from within that job |
1447 interceptor.cancel_final_request_ = true; | 1476 interceptor.cancel_final_request_ = true; |
1448 | 1477 |
1449 TestDelegate d; | 1478 TestDelegate d; |
1450 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1479 URLRequest req(GURL("http://test_intercept/foo"), |
| 1480 DEFAULT_PRIORITY, |
| 1481 &d, |
| 1482 &default_context_); |
1451 req.set_method("GET"); | 1483 req.set_method("GET"); |
1452 req.Start(); | 1484 req.Start(); |
1453 base::RunLoop().Run(); | 1485 base::RunLoop().Run(); |
1454 | 1486 |
1455 // Check the interceptor got called as expected | 1487 // Check the interceptor got called as expected |
1456 EXPECT_TRUE(interceptor.did_simulate_error_main_); | 1488 EXPECT_TRUE(interceptor.did_simulate_error_main_); |
1457 EXPECT_TRUE(interceptor.did_cancel_final_); | 1489 EXPECT_TRUE(interceptor.did_cancel_final_); |
1458 | 1490 |
1459 // Check we see a canceled request | 1491 // Check we see a canceled request |
1460 EXPECT_FALSE(req.status().is_success()); | 1492 EXPECT_FALSE(req.status().is_success()); |
1461 EXPECT_EQ(URLRequestStatus::CANCELED, req.status().status()); | 1493 EXPECT_EQ(URLRequestStatus::CANCELED, req.status().status()); |
1462 } | 1494 } |
1463 | 1495 |
1464 TEST_F(URLRequestTest, InterceptRespectsCancelInRestart) { | 1496 TEST_F(URLRequestTest, InterceptRespectsCancelInRestart) { |
1465 TestInterceptor interceptor; | 1497 TestInterceptor interceptor; |
1466 | 1498 |
1467 // intercept the main request and cancel then restart from within that job | 1499 // intercept the main request and cancel then restart from within that job |
1468 interceptor.cancel_then_restart_main_request_ = true; | 1500 interceptor.cancel_then_restart_main_request_ = true; |
1469 | 1501 |
1470 // setup to intercept final response and override it with an OK response | 1502 // setup to intercept final response and override it with an OK response |
1471 interceptor.intercept_final_response_ = true; | 1503 interceptor.intercept_final_response_ = true; |
1472 interceptor.final_headers_ = TestInterceptor::ok_headers(); | 1504 interceptor.final_headers_ = TestInterceptor::ok_headers(); |
1473 interceptor.final_data_ = TestInterceptor::ok_data(); | 1505 interceptor.final_data_ = TestInterceptor::ok_data(); |
1474 | 1506 |
1475 TestDelegate d; | 1507 TestDelegate d; |
1476 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1508 URLRequest req(GURL("http://test_intercept/foo"), |
| 1509 DEFAULT_PRIORITY, |
| 1510 &d, |
| 1511 &default_context_); |
1477 req.set_method("GET"); | 1512 req.set_method("GET"); |
1478 req.Start(); | 1513 req.Start(); |
1479 base::RunLoop().Run(); | 1514 base::RunLoop().Run(); |
1480 | 1515 |
1481 // Check the interceptor got called as expected | 1516 // Check the interceptor got called as expected |
1482 EXPECT_TRUE(interceptor.did_cancel_then_restart_main_); | 1517 EXPECT_TRUE(interceptor.did_cancel_then_restart_main_); |
1483 EXPECT_FALSE(interceptor.did_intercept_final_); | 1518 EXPECT_FALSE(interceptor.did_intercept_final_); |
1484 | 1519 |
1485 // Check we see a canceled request | 1520 // Check we see a canceled request |
1486 EXPECT_FALSE(req.status().is_success()); | 1521 EXPECT_FALSE(req.status().is_success()); |
1487 EXPECT_EQ(URLRequestStatus::CANCELED, req.status().status()); | 1522 EXPECT_EQ(URLRequestStatus::CANCELED, req.status().status()); |
1488 } | 1523 } |
1489 | 1524 |
1490 LoadTimingInfo RunLoadTimingTest(const LoadTimingInfo& job_load_timing, | 1525 LoadTimingInfo RunLoadTimingTest(const LoadTimingInfo& job_load_timing, |
1491 URLRequestContext* context) { | 1526 URLRequestContext* context) { |
1492 TestInterceptor interceptor; | 1527 TestInterceptor interceptor; |
1493 interceptor.intercept_main_request_ = true; | 1528 interceptor.intercept_main_request_ = true; |
1494 interceptor.main_request_load_timing_info_ = job_load_timing; | 1529 interceptor.main_request_load_timing_info_ = job_load_timing; |
1495 TestDelegate d; | 1530 TestDelegate d; |
1496 URLRequest req(GURL("http://test_intercept/foo"), &d, context); | 1531 URLRequest req( |
| 1532 GURL("http://test_intercept/foo"), DEFAULT_PRIORITY, &d, context); |
1497 req.Start(); | 1533 req.Start(); |
1498 base::RunLoop().Run(); | 1534 base::RunLoop().Run(); |
1499 | 1535 |
1500 LoadTimingInfo resulting_load_timing; | 1536 LoadTimingInfo resulting_load_timing; |
1501 req.GetLoadTimingInfo(&resulting_load_timing); | 1537 req.GetLoadTimingInfo(&resulting_load_timing); |
1502 | 1538 |
1503 // None of these should be modified by the URLRequest. | 1539 // None of these should be modified by the URLRequest. |
1504 EXPECT_EQ(job_load_timing.socket_reused, resulting_load_timing.socket_reused); | 1540 EXPECT_EQ(job_load_timing.socket_reused, resulting_load_timing.socket_reused); |
1505 EXPECT_EQ(job_load_timing.socket_log_id, resulting_load_timing.socket_log_id); | 1541 EXPECT_EQ(job_load_timing.socket_log_id, resulting_load_timing.socket_log_id); |
1506 EXPECT_EQ(job_load_timing.send_start, resulting_load_timing.send_start); | 1542 EXPECT_EQ(job_load_timing.send_start, resulting_load_timing.send_start); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1560 load_timing.receive_headers_end = now + base::TimeDelta::FromDays(11); | 1596 load_timing.receive_headers_end = now + base::TimeDelta::FromDays(11); |
1561 return load_timing; | 1597 return load_timing; |
1562 } | 1598 } |
1563 | 1599 |
1564 // Basic test that the intercept + load timing tests work. | 1600 // Basic test that the intercept + load timing tests work. |
1565 TEST_F(URLRequestTest, InterceptLoadTiming) { | 1601 TEST_F(URLRequestTest, InterceptLoadTiming) { |
1566 base::TimeTicks now = base::TimeTicks::Now(); | 1602 base::TimeTicks now = base::TimeTicks::Now(); |
1567 LoadTimingInfo job_load_timing = | 1603 LoadTimingInfo job_load_timing = |
1568 NormalLoadTimingInfo(now, CONNECT_TIMING_HAS_DNS_TIMES, false); | 1604 NormalLoadTimingInfo(now, CONNECT_TIMING_HAS_DNS_TIMES, false); |
1569 | 1605 |
1570 LoadTimingInfo load_timing_result = RunLoadTimingTest(job_load_timing, | 1606 LoadTimingInfo load_timing_result = |
1571 &default_context_); | 1607 RunLoadTimingTest(job_load_timing, &default_context_); |
1572 | 1608 |
1573 // Nothing should have been changed by the URLRequest. | 1609 // Nothing should have been changed by the URLRequest. |
1574 EXPECT_EQ(job_load_timing.proxy_resolve_start, | 1610 EXPECT_EQ(job_load_timing.proxy_resolve_start, |
1575 load_timing_result.proxy_resolve_start); | 1611 load_timing_result.proxy_resolve_start); |
1576 EXPECT_EQ(job_load_timing.proxy_resolve_end, | 1612 EXPECT_EQ(job_load_timing.proxy_resolve_end, |
1577 load_timing_result.proxy_resolve_end); | 1613 load_timing_result.proxy_resolve_end); |
1578 EXPECT_EQ(job_load_timing.connect_timing.dns_start, | 1614 EXPECT_EQ(job_load_timing.connect_timing.dns_start, |
1579 load_timing_result.connect_timing.dns_start); | 1615 load_timing_result.connect_timing.dns_start); |
1580 EXPECT_EQ(job_load_timing.connect_timing.dns_end, | 1616 EXPECT_EQ(job_load_timing.connect_timing.dns_end, |
1581 load_timing_result.connect_timing.dns_end); | 1617 load_timing_result.connect_timing.dns_end); |
1582 EXPECT_EQ(job_load_timing.connect_timing.connect_start, | 1618 EXPECT_EQ(job_load_timing.connect_timing.connect_start, |
1583 load_timing_result.connect_timing.connect_start); | 1619 load_timing_result.connect_timing.connect_start); |
1584 EXPECT_EQ(job_load_timing.connect_timing.connect_end, | 1620 EXPECT_EQ(job_load_timing.connect_timing.connect_end, |
1585 load_timing_result.connect_timing.connect_end); | 1621 load_timing_result.connect_timing.connect_end); |
1586 EXPECT_EQ(job_load_timing.connect_timing.ssl_start, | 1622 EXPECT_EQ(job_load_timing.connect_timing.ssl_start, |
1587 load_timing_result.connect_timing.ssl_start); | 1623 load_timing_result.connect_timing.ssl_start); |
1588 EXPECT_EQ(job_load_timing.connect_timing.ssl_end, | 1624 EXPECT_EQ(job_load_timing.connect_timing.ssl_end, |
1589 load_timing_result.connect_timing.ssl_end); | 1625 load_timing_result.connect_timing.ssl_end); |
1590 | 1626 |
1591 // Redundant sanity check. | 1627 // Redundant sanity check. |
1592 TestLoadTimingNotReused(load_timing_result, CONNECT_TIMING_HAS_DNS_TIMES); | 1628 TestLoadTimingNotReused(load_timing_result, CONNECT_TIMING_HAS_DNS_TIMES); |
1593 } | 1629 } |
1594 | 1630 |
1595 // Another basic test, with proxy and SSL times, but no DNS times. | 1631 // Another basic test, with proxy and SSL times, but no DNS times. |
1596 TEST_F(URLRequestTest, InterceptLoadTimingProxy) { | 1632 TEST_F(URLRequestTest, InterceptLoadTimingProxy) { |
1597 base::TimeTicks now = base::TimeTicks::Now(); | 1633 base::TimeTicks now = base::TimeTicks::Now(); |
1598 LoadTimingInfo job_load_timing = | 1634 LoadTimingInfo job_load_timing = |
1599 NormalLoadTimingInfo(now, CONNECT_TIMING_HAS_SSL_TIMES, true); | 1635 NormalLoadTimingInfo(now, CONNECT_TIMING_HAS_SSL_TIMES, true); |
1600 | 1636 |
1601 LoadTimingInfo load_timing_result = RunLoadTimingTest(job_load_timing, | 1637 LoadTimingInfo load_timing_result = |
1602 &default_context_); | 1638 RunLoadTimingTest(job_load_timing, &default_context_); |
1603 | 1639 |
1604 // Nothing should have been changed by the URLRequest. | 1640 // Nothing should have been changed by the URLRequest. |
1605 EXPECT_EQ(job_load_timing.proxy_resolve_start, | 1641 EXPECT_EQ(job_load_timing.proxy_resolve_start, |
1606 load_timing_result.proxy_resolve_start); | 1642 load_timing_result.proxy_resolve_start); |
1607 EXPECT_EQ(job_load_timing.proxy_resolve_end, | 1643 EXPECT_EQ(job_load_timing.proxy_resolve_end, |
1608 load_timing_result.proxy_resolve_end); | 1644 load_timing_result.proxy_resolve_end); |
1609 EXPECT_EQ(job_load_timing.connect_timing.dns_start, | 1645 EXPECT_EQ(job_load_timing.connect_timing.dns_start, |
1610 load_timing_result.connect_timing.dns_start); | 1646 load_timing_result.connect_timing.dns_start); |
1611 EXPECT_EQ(job_load_timing.connect_timing.dns_end, | 1647 EXPECT_EQ(job_load_timing.connect_timing.dns_end, |
1612 load_timing_result.connect_timing.dns_end); | 1648 load_timing_result.connect_timing.dns_end); |
(...skipping 23 matching lines...) Expand all Loading... |
1636 NormalLoadTimingInfo(now, CONNECT_TIMING_HAS_DNS_TIMES, true); | 1672 NormalLoadTimingInfo(now, CONNECT_TIMING_HAS_DNS_TIMES, true); |
1637 job_load_timing.proxy_resolve_start = now - base::TimeDelta::FromDays(6); | 1673 job_load_timing.proxy_resolve_start = now - base::TimeDelta::FromDays(6); |
1638 job_load_timing.proxy_resolve_end = now - base::TimeDelta::FromDays(5); | 1674 job_load_timing.proxy_resolve_end = now - base::TimeDelta::FromDays(5); |
1639 job_load_timing.connect_timing.dns_start = now - base::TimeDelta::FromDays(4); | 1675 job_load_timing.connect_timing.dns_start = now - base::TimeDelta::FromDays(4); |
1640 job_load_timing.connect_timing.dns_end = now - base::TimeDelta::FromDays(3); | 1676 job_load_timing.connect_timing.dns_end = now - base::TimeDelta::FromDays(3); |
1641 job_load_timing.connect_timing.connect_start = | 1677 job_load_timing.connect_timing.connect_start = |
1642 now - base::TimeDelta::FromDays(2); | 1678 now - base::TimeDelta::FromDays(2); |
1643 job_load_timing.connect_timing.connect_end = | 1679 job_load_timing.connect_timing.connect_end = |
1644 now - base::TimeDelta::FromDays(1); | 1680 now - base::TimeDelta::FromDays(1); |
1645 | 1681 |
1646 LoadTimingInfo load_timing_result = RunLoadTimingTest(job_load_timing, | 1682 LoadTimingInfo load_timing_result = |
1647 &default_context_); | 1683 RunLoadTimingTest(job_load_timing, &default_context_); |
1648 | 1684 |
1649 // Proxy times, connect times, and DNS times should all be replaced with | 1685 // Proxy times, connect times, and DNS times should all be replaced with |
1650 // request_start. | 1686 // request_start. |
1651 EXPECT_EQ(load_timing_result.request_start, | 1687 EXPECT_EQ(load_timing_result.request_start, |
1652 load_timing_result.proxy_resolve_start); | 1688 load_timing_result.proxy_resolve_start); |
1653 EXPECT_EQ(load_timing_result.request_start, | 1689 EXPECT_EQ(load_timing_result.request_start, |
1654 load_timing_result.proxy_resolve_end); | 1690 load_timing_result.proxy_resolve_end); |
1655 EXPECT_EQ(load_timing_result.request_start, | 1691 EXPECT_EQ(load_timing_result.request_start, |
1656 load_timing_result.connect_timing.dns_start); | 1692 load_timing_result.connect_timing.dns_start); |
1657 EXPECT_EQ(load_timing_result.request_start, | 1693 EXPECT_EQ(load_timing_result.request_start, |
1658 load_timing_result.connect_timing.dns_end); | 1694 load_timing_result.connect_timing.dns_end); |
1659 EXPECT_EQ(load_timing_result.request_start, | 1695 EXPECT_EQ(load_timing_result.request_start, |
1660 load_timing_result.connect_timing.connect_start); | 1696 load_timing_result.connect_timing.connect_start); |
1661 EXPECT_EQ(load_timing_result.request_start, | 1697 EXPECT_EQ(load_timing_result.request_start, |
1662 load_timing_result.connect_timing.connect_end); | 1698 load_timing_result.connect_timing.connect_end); |
1663 | 1699 |
1664 // Other times should have been left null. | 1700 // Other times should have been left null. |
1665 TestLoadTimingNotReusedWithProxy(load_timing_result, | 1701 TestLoadTimingNotReusedWithProxy(load_timing_result, |
1666 CONNECT_TIMING_HAS_DNS_TIMES); | 1702 CONNECT_TIMING_HAS_DNS_TIMES); |
1667 } | 1703 } |
1668 | 1704 |
1669 // Same as above, but in the reused case. | 1705 // Same as above, but in the reused case. |
1670 TEST_F(URLRequestTest, InterceptLoadTimingEarlyProxyResolutionReused) { | 1706 TEST_F(URLRequestTest, InterceptLoadTimingEarlyProxyResolutionReused) { |
1671 base::TimeTicks now = base::TimeTicks::Now(); | 1707 base::TimeTicks now = base::TimeTicks::Now(); |
1672 LoadTimingInfo job_load_timing = NormalLoadTimingInfoReused(now, true); | 1708 LoadTimingInfo job_load_timing = NormalLoadTimingInfoReused(now, true); |
1673 job_load_timing.proxy_resolve_start = now - base::TimeDelta::FromDays(4); | 1709 job_load_timing.proxy_resolve_start = now - base::TimeDelta::FromDays(4); |
1674 job_load_timing.proxy_resolve_end = now - base::TimeDelta::FromDays(3); | 1710 job_load_timing.proxy_resolve_end = now - base::TimeDelta::FromDays(3); |
1675 | 1711 |
1676 LoadTimingInfo load_timing_result = RunLoadTimingTest(job_load_timing, | 1712 LoadTimingInfo load_timing_result = |
1677 &default_context_); | 1713 RunLoadTimingTest(job_load_timing, &default_context_); |
1678 | 1714 |
1679 // Proxy times and connect times should all be replaced with request_start. | 1715 // Proxy times and connect times should all be replaced with request_start. |
1680 EXPECT_EQ(load_timing_result.request_start, | 1716 EXPECT_EQ(load_timing_result.request_start, |
1681 load_timing_result.proxy_resolve_start); | 1717 load_timing_result.proxy_resolve_start); |
1682 EXPECT_EQ(load_timing_result.request_start, | 1718 EXPECT_EQ(load_timing_result.request_start, |
1683 load_timing_result.proxy_resolve_end); | 1719 load_timing_result.proxy_resolve_end); |
1684 | 1720 |
1685 // Other times should have been left null. | 1721 // Other times should have been left null. |
1686 TestLoadTimingReusedWithProxy(load_timing_result); | 1722 TestLoadTimingReusedWithProxy(load_timing_result); |
1687 } | 1723 } |
1688 | 1724 |
1689 // Make sure that URLRequest correctly adjusts connect times when they're before | 1725 // Make sure that URLRequest correctly adjusts connect times when they're before |
1690 // |request_start|, due to reusing a connected socket. The connected socket is | 1726 // |request_start|, due to reusing a connected socket. The connected socket is |
1691 // not considered reused in this test (May be a preconnect). | 1727 // not considered reused in this test (May be a preconnect). |
1692 // | 1728 // |
1693 // To mix things up, the request has SSL times, but no DNS times. | 1729 // To mix things up, the request has SSL times, but no DNS times. |
1694 TEST_F(URLRequestTest, InterceptLoadTimingEarlyConnect) { | 1730 TEST_F(URLRequestTest, InterceptLoadTimingEarlyConnect) { |
1695 base::TimeTicks now = base::TimeTicks::Now(); | 1731 base::TimeTicks now = base::TimeTicks::Now(); |
1696 LoadTimingInfo job_load_timing = | 1732 LoadTimingInfo job_load_timing = |
1697 NormalLoadTimingInfo(now, CONNECT_TIMING_HAS_SSL_TIMES, false); | 1733 NormalLoadTimingInfo(now, CONNECT_TIMING_HAS_SSL_TIMES, false); |
1698 job_load_timing.connect_timing.connect_start = | 1734 job_load_timing.connect_timing.connect_start = |
1699 now - base::TimeDelta::FromDays(1); | 1735 now - base::TimeDelta::FromDays(1); |
1700 job_load_timing.connect_timing.ssl_start = now - base::TimeDelta::FromDays(2); | 1736 job_load_timing.connect_timing.ssl_start = now - base::TimeDelta::FromDays(2); |
1701 job_load_timing.connect_timing.ssl_end = now - base::TimeDelta::FromDays(3); | 1737 job_load_timing.connect_timing.ssl_end = now - base::TimeDelta::FromDays(3); |
1702 job_load_timing.connect_timing.connect_end = | 1738 job_load_timing.connect_timing.connect_end = |
1703 now - base::TimeDelta::FromDays(4); | 1739 now - base::TimeDelta::FromDays(4); |
1704 | 1740 |
1705 LoadTimingInfo load_timing_result = RunLoadTimingTest(job_load_timing, | 1741 LoadTimingInfo load_timing_result = |
1706 &default_context_); | 1742 RunLoadTimingTest(job_load_timing, &default_context_); |
1707 | 1743 |
1708 // Connect times, and SSL times should be replaced with request_start. | 1744 // Connect times, and SSL times should be replaced with request_start. |
1709 EXPECT_EQ(load_timing_result.request_start, | 1745 EXPECT_EQ(load_timing_result.request_start, |
1710 load_timing_result.connect_timing.connect_start); | 1746 load_timing_result.connect_timing.connect_start); |
1711 EXPECT_EQ(load_timing_result.request_start, | 1747 EXPECT_EQ(load_timing_result.request_start, |
1712 load_timing_result.connect_timing.ssl_start); | 1748 load_timing_result.connect_timing.ssl_start); |
1713 EXPECT_EQ(load_timing_result.request_start, | 1749 EXPECT_EQ(load_timing_result.request_start, |
1714 load_timing_result.connect_timing.ssl_end); | 1750 load_timing_result.connect_timing.ssl_end); |
1715 EXPECT_EQ(load_timing_result.request_start, | 1751 EXPECT_EQ(load_timing_result.request_start, |
1716 load_timing_result.connect_timing.connect_end); | 1752 load_timing_result.connect_timing.connect_end); |
(...skipping 10 matching lines...) Expand all Loading... |
1727 // In this test, there are no SSL or DNS times. | 1763 // In this test, there are no SSL or DNS times. |
1728 TEST_F(URLRequestTest, InterceptLoadTimingEarlyConnectWithProxy) { | 1764 TEST_F(URLRequestTest, InterceptLoadTimingEarlyConnectWithProxy) { |
1729 base::TimeTicks now = base::TimeTicks::Now(); | 1765 base::TimeTicks now = base::TimeTicks::Now(); |
1730 LoadTimingInfo job_load_timing = | 1766 LoadTimingInfo job_load_timing = |
1731 NormalLoadTimingInfo(now, CONNECT_TIMING_HAS_CONNECT_TIMES_ONLY, true); | 1767 NormalLoadTimingInfo(now, CONNECT_TIMING_HAS_CONNECT_TIMES_ONLY, true); |
1732 job_load_timing.connect_timing.connect_start = | 1768 job_load_timing.connect_timing.connect_start = |
1733 now - base::TimeDelta::FromDays(1); | 1769 now - base::TimeDelta::FromDays(1); |
1734 job_load_timing.connect_timing.connect_end = | 1770 job_load_timing.connect_timing.connect_end = |
1735 now - base::TimeDelta::FromDays(2); | 1771 now - base::TimeDelta::FromDays(2); |
1736 | 1772 |
1737 LoadTimingInfo load_timing_result = RunLoadTimingTest(job_load_timing, | 1773 LoadTimingInfo load_timing_result = |
1738 &default_context_); | 1774 RunLoadTimingTest(job_load_timing, &default_context_); |
1739 | 1775 |
1740 // Connect times should be replaced with proxy_resolve_end. | 1776 // Connect times should be replaced with proxy_resolve_end. |
1741 EXPECT_EQ(load_timing_result.proxy_resolve_end, | 1777 EXPECT_EQ(load_timing_result.proxy_resolve_end, |
1742 load_timing_result.connect_timing.connect_start); | 1778 load_timing_result.connect_timing.connect_start); |
1743 EXPECT_EQ(load_timing_result.proxy_resolve_end, | 1779 EXPECT_EQ(load_timing_result.proxy_resolve_end, |
1744 load_timing_result.connect_timing.connect_end); | 1780 load_timing_result.connect_timing.connect_end); |
1745 | 1781 |
1746 // Other times should have been left null. | 1782 // Other times should have been left null. |
1747 TestLoadTimingNotReusedWithProxy(load_timing_result, | 1783 TestLoadTimingNotReusedWithProxy(load_timing_result, |
1748 CONNECT_TIMING_HAS_CONNECT_TIMES_ONLY); | 1784 CONNECT_TIMING_HAS_CONNECT_TIMES_ONLY); |
1749 } | 1785 } |
1750 | 1786 |
1751 // Check that two different URL requests have different identifiers. | 1787 // Check that two different URL requests have different identifiers. |
1752 TEST_F(URLRequestTest, Identifiers) { | 1788 TEST_F(URLRequestTest, Identifiers) { |
1753 TestDelegate d; | 1789 TestDelegate d; |
1754 TestURLRequestContext context; | 1790 TestURLRequestContext context; |
1755 TestURLRequest req(GURL("http://example.com"), &d, &context, NULL); | 1791 TestURLRequest req( |
1756 TestURLRequest other_req(GURL("http://example.com"), &d, &context, NULL); | 1792 GURL("http://example.com"), DEFAULT_PRIORITY, &d, &context); |
| 1793 TestURLRequest other_req( |
| 1794 GURL("http://example.com"), DEFAULT_PRIORITY, &d, &context); |
1757 | 1795 |
1758 ASSERT_NE(req.identifier(), other_req.identifier()); | 1796 ASSERT_NE(req.identifier(), other_req.identifier()); |
1759 } | 1797 } |
1760 | 1798 |
1761 // Check that a failure to connect to the proxy is reported to the network | 1799 // Check that a failure to connect to the proxy is reported to the network |
1762 // delegate. | 1800 // delegate. |
1763 TEST_F(URLRequestTest, NetworkDelegateProxyError) { | 1801 TEST_F(URLRequestTest, NetworkDelegateProxyError) { |
1764 MockHostResolver host_resolver; | 1802 MockHostResolver host_resolver; |
1765 host_resolver.rules()->AddSimulatedFailure("*"); | 1803 host_resolver.rules()->AddSimulatedFailure("*"); |
1766 | 1804 |
1767 TestNetworkDelegate network_delegate; // Must outlive URLRequests. | 1805 TestNetworkDelegate network_delegate; // Must outlive URLRequests. |
1768 TestURLRequestContextWithProxy context("myproxy:70", &network_delegate); | 1806 TestURLRequestContextWithProxy context("myproxy:70", &network_delegate); |
1769 | 1807 |
1770 TestDelegate d; | 1808 TestDelegate d; |
1771 URLRequest req(GURL("http://example.com"), &d, &context); | 1809 URLRequest req(GURL("http://example.com"), DEFAULT_PRIORITY, &d, &context); |
1772 req.set_method("GET"); | 1810 req.set_method("GET"); |
1773 | 1811 |
1774 req.Start(); | 1812 req.Start(); |
1775 base::RunLoop().Run(); | 1813 base::RunLoop().Run(); |
1776 | 1814 |
1777 // Check we see a failed request. | 1815 // Check we see a failed request. |
1778 EXPECT_FALSE(req.status().is_success()); | 1816 EXPECT_FALSE(req.status().is_success()); |
1779 EXPECT_EQ(URLRequestStatus::FAILED, req.status().status()); | 1817 EXPECT_EQ(URLRequestStatus::FAILED, req.status().status()); |
1780 EXPECT_EQ(ERR_PROXY_CONNECTION_FAILED, req.status().error()); | 1818 EXPECT_EQ(ERR_PROXY_CONNECTION_FAILED, req.status().error()); |
1781 | 1819 |
1782 EXPECT_EQ(1, network_delegate.error_count()); | 1820 EXPECT_EQ(1, network_delegate.error_count()); |
1783 EXPECT_EQ(ERR_PROXY_CONNECTION_FAILED, network_delegate.last_error()); | 1821 EXPECT_EQ(ERR_PROXY_CONNECTION_FAILED, network_delegate.last_error()); |
1784 EXPECT_EQ(1, network_delegate.completed_requests()); | 1822 EXPECT_EQ(1, network_delegate.completed_requests()); |
1785 } | 1823 } |
1786 | 1824 |
1787 // Make sure that net::NetworkDelegate::NotifyCompleted is called if | 1825 // Make sure that net::NetworkDelegate::NotifyCompleted is called if |
1788 // content is empty. | 1826 // content is empty. |
1789 TEST_F(URLRequestTest, RequestCompletionForEmptyResponse) { | 1827 TEST_F(URLRequestTest, RequestCompletionForEmptyResponse) { |
1790 TestDelegate d; | 1828 TestDelegate d; |
1791 URLRequest req(GURL("data:,"), &d, &default_context_); | 1829 URLRequest req(GURL("data:,"), DEFAULT_PRIORITY, &d, &default_context_); |
1792 req.Start(); | 1830 req.Start(); |
1793 base::RunLoop().Run(); | 1831 base::RunLoop().Run(); |
1794 EXPECT_EQ("", d.data_received()); | 1832 EXPECT_EQ("", d.data_received()); |
1795 EXPECT_EQ(1, default_network_delegate_.completed_requests()); | 1833 EXPECT_EQ(1, default_network_delegate_.completed_requests()); |
1796 } | 1834 } |
1797 | 1835 |
1798 // Make sure that SetPriority actually sets the URLRequest's priority | 1836 // Make sure that SetPriority actually sets the URLRequest's priority |
1799 // correctly, both before and after start. | 1837 // correctly, both before and after start. |
1800 TEST_F(URLRequestTest, SetPriorityBasic) { | 1838 TEST_F(URLRequestTest, SetPriorityBasic) { |
1801 TestDelegate d; | 1839 TestDelegate d; |
1802 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1840 URLRequest req(GURL("http://test_intercept/foo"), |
| 1841 DEFAULT_PRIORITY, |
| 1842 &d, |
| 1843 &default_context_); |
1803 EXPECT_EQ(DEFAULT_PRIORITY, req.priority()); | 1844 EXPECT_EQ(DEFAULT_PRIORITY, req.priority()); |
1804 | 1845 |
1805 req.SetPriority(LOW); | 1846 req.SetPriority(LOW); |
1806 EXPECT_EQ(LOW, req.priority()); | 1847 EXPECT_EQ(LOW, req.priority()); |
1807 | 1848 |
1808 req.Start(); | 1849 req.Start(); |
1809 EXPECT_EQ(LOW, req.priority()); | 1850 EXPECT_EQ(LOW, req.priority()); |
1810 | 1851 |
1811 req.SetPriority(MEDIUM); | 1852 req.SetPriority(MEDIUM); |
1812 EXPECT_EQ(MEDIUM, req.priority()); | 1853 EXPECT_EQ(MEDIUM, req.priority()); |
1813 } | 1854 } |
1814 | 1855 |
1815 // Make sure that URLRequest calls SetPriority on a job before calling | 1856 // Make sure that URLRequest calls SetPriority on a job before calling |
1816 // Start on it. | 1857 // Start on it. |
1817 TEST_F(URLRequestTest, SetJobPriorityBeforeJobStart) { | 1858 TEST_F(URLRequestTest, SetJobPriorityBeforeJobStart) { |
1818 TestDelegate d; | 1859 TestDelegate d; |
1819 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1860 URLRequest req(GURL("http://test_intercept/foo"), |
| 1861 DEFAULT_PRIORITY, |
| 1862 &d, |
| 1863 &default_context_); |
1820 EXPECT_EQ(DEFAULT_PRIORITY, req.priority()); | 1864 EXPECT_EQ(DEFAULT_PRIORITY, req.priority()); |
1821 | 1865 |
1822 scoped_refptr<URLRequestTestJob> job = | 1866 scoped_refptr<URLRequestTestJob> job = |
1823 new URLRequestTestJob(&req, &default_network_delegate_); | 1867 new URLRequestTestJob(&req, &default_network_delegate_); |
1824 AddTestInterceptor()->set_main_intercept_job(job.get()); | 1868 AddTestInterceptor()->set_main_intercept_job(job.get()); |
1825 EXPECT_EQ(DEFAULT_PRIORITY, job->priority()); | 1869 EXPECT_EQ(DEFAULT_PRIORITY, job->priority()); |
1826 | 1870 |
1827 req.SetPriority(LOW); | 1871 req.SetPriority(LOW); |
1828 | 1872 |
1829 req.Start(); | 1873 req.Start(); |
1830 EXPECT_EQ(LOW, job->priority()); | 1874 EXPECT_EQ(LOW, job->priority()); |
1831 } | 1875 } |
1832 | 1876 |
1833 // Make sure that URLRequest passes on its priority updates to its | 1877 // Make sure that URLRequest passes on its priority updates to its |
1834 // job. | 1878 // job. |
1835 TEST_F(URLRequestTest, SetJobPriority) { | 1879 TEST_F(URLRequestTest, SetJobPriority) { |
1836 TestDelegate d; | 1880 TestDelegate d; |
1837 URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); | 1881 URLRequest req(GURL("http://test_intercept/foo"), |
| 1882 DEFAULT_PRIORITY, |
| 1883 &d, |
| 1884 &default_context_); |
1838 | 1885 |
1839 scoped_refptr<URLRequestTestJob> job = | 1886 scoped_refptr<URLRequestTestJob> job = |
1840 new URLRequestTestJob(&req, &default_network_delegate_); | 1887 new URLRequestTestJob(&req, &default_network_delegate_); |
1841 AddTestInterceptor()->set_main_intercept_job(job.get()); | 1888 AddTestInterceptor()->set_main_intercept_job(job.get()); |
1842 | 1889 |
1843 req.SetPriority(LOW); | 1890 req.SetPriority(LOW); |
1844 req.Start(); | 1891 req.Start(); |
1845 EXPECT_EQ(LOW, job->priority()); | 1892 EXPECT_EQ(LOW, job->priority()); |
1846 | 1893 |
1847 req.SetPriority(MEDIUM); | 1894 req.SetPriority(MEDIUM); |
(...skipping 26 matching lines...) Expand all Loading... |
1874 scoped_refptr<DelayedCookieMonster> delayed_cm = | 1921 scoped_refptr<DelayedCookieMonster> delayed_cm = |
1875 new DelayedCookieMonster(); | 1922 new DelayedCookieMonster(); |
1876 scoped_refptr<CookieStore> cookie_store = delayed_cm; | 1923 scoped_refptr<CookieStore> cookie_store = delayed_cm; |
1877 context.set_cookie_store(delayed_cm.get()); | 1924 context.set_cookie_store(delayed_cm.get()); |
1878 | 1925 |
1879 // Set up a cookie. | 1926 // Set up a cookie. |
1880 { | 1927 { |
1881 TestNetworkDelegate network_delegate; | 1928 TestNetworkDelegate network_delegate; |
1882 context.set_network_delegate(&network_delegate); | 1929 context.set_network_delegate(&network_delegate); |
1883 TestDelegate d; | 1930 TestDelegate d; |
1884 URLRequest req( | 1931 URLRequest req(test_server.GetURL("set-cookie?CookieToNotSend=1"), |
1885 test_server.GetURL("set-cookie?CookieToNotSend=1"), &d, &context); | 1932 DEFAULT_PRIORITY, |
| 1933 &d, |
| 1934 &context); |
1886 req.Start(); | 1935 req.Start(); |
1887 base::RunLoop().Run(); | 1936 base::RunLoop().Run(); |
1888 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 1937 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
1889 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 1938 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
1890 EXPECT_EQ(1, network_delegate.set_cookie_count()); | 1939 EXPECT_EQ(1, network_delegate.set_cookie_count()); |
1891 } | 1940 } |
1892 | 1941 |
1893 // Verify that the cookie is set. | 1942 // Verify that the cookie is set. |
1894 { | 1943 { |
1895 TestNetworkDelegate network_delegate; | 1944 TestNetworkDelegate network_delegate; |
1896 context.set_network_delegate(&network_delegate); | 1945 context.set_network_delegate(&network_delegate); |
1897 TestDelegate d; | 1946 TestDelegate d; |
1898 URLRequest req(test_server.GetURL("echoheader?Cookie"), &d, &context); | 1947 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
| 1948 DEFAULT_PRIORITY, |
| 1949 &d, |
| 1950 &context); |
1899 req.Start(); | 1951 req.Start(); |
1900 base::RunLoop().Run(); | 1952 base::RunLoop().Run(); |
1901 | 1953 |
1902 EXPECT_TRUE(d.data_received().find("CookieToNotSend=1") | 1954 EXPECT_TRUE(d.data_received().find("CookieToNotSend=1") |
1903 != std::string::npos); | 1955 != std::string::npos); |
1904 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 1956 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
1905 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 1957 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
1906 } | 1958 } |
1907 } | 1959 } |
1908 | 1960 |
1909 TEST_F(URLRequestTest, DoNotSendCookies) { | 1961 TEST_F(URLRequestTest, DoNotSendCookies) { |
1910 LocalHttpTestServer test_server; | 1962 LocalHttpTestServer test_server; |
1911 ASSERT_TRUE(test_server.Start()); | 1963 ASSERT_TRUE(test_server.Start()); |
1912 | 1964 |
1913 // Set up a cookie. | 1965 // Set up a cookie. |
1914 { | 1966 { |
1915 TestNetworkDelegate network_delegate; | 1967 TestNetworkDelegate network_delegate; |
1916 default_context_.set_network_delegate(&network_delegate); | 1968 default_context_.set_network_delegate(&network_delegate); |
1917 TestDelegate d; | 1969 TestDelegate d; |
1918 URLRequest req(test_server.GetURL("set-cookie?CookieToNotSend=1"), | 1970 URLRequest req(test_server.GetURL("set-cookie?CookieToNotSend=1"), |
| 1971 DEFAULT_PRIORITY, |
1919 &d, | 1972 &d, |
1920 &default_context_); | 1973 &default_context_); |
1921 req.Start(); | 1974 req.Start(); |
1922 base::RunLoop().Run(); | 1975 base::RunLoop().Run(); |
1923 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 1976 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
1924 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 1977 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
1925 } | 1978 } |
1926 | 1979 |
1927 // Verify that the cookie is set. | 1980 // Verify that the cookie is set. |
1928 { | 1981 { |
1929 TestNetworkDelegate network_delegate; | 1982 TestNetworkDelegate network_delegate; |
1930 default_context_.set_network_delegate(&network_delegate); | 1983 default_context_.set_network_delegate(&network_delegate); |
1931 TestDelegate d; | 1984 TestDelegate d; |
1932 URLRequest req( | 1985 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
1933 test_server.GetURL("echoheader?Cookie"), &d, &default_context_); | 1986 DEFAULT_PRIORITY, |
| 1987 &d, |
| 1988 &default_context_); |
1934 req.Start(); | 1989 req.Start(); |
1935 base::RunLoop().Run(); | 1990 base::RunLoop().Run(); |
1936 | 1991 |
1937 EXPECT_TRUE(d.data_received().find("CookieToNotSend=1") | 1992 EXPECT_TRUE(d.data_received().find("CookieToNotSend=1") |
1938 != std::string::npos); | 1993 != std::string::npos); |
1939 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 1994 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
1940 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 1995 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
1941 } | 1996 } |
1942 | 1997 |
1943 // Verify that the cookie isn't sent when LOAD_DO_NOT_SEND_COOKIES is set. | 1998 // Verify that the cookie isn't sent when LOAD_DO_NOT_SEND_COOKIES is set. |
1944 { | 1999 { |
1945 TestNetworkDelegate network_delegate; | 2000 TestNetworkDelegate network_delegate; |
1946 default_context_.set_network_delegate(&network_delegate); | 2001 default_context_.set_network_delegate(&network_delegate); |
1947 TestDelegate d; | 2002 TestDelegate d; |
1948 URLRequest req( | 2003 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
1949 test_server.GetURL("echoheader?Cookie"), &d, &default_context_); | 2004 DEFAULT_PRIORITY, |
| 2005 &d, |
| 2006 &default_context_); |
1950 req.set_load_flags(LOAD_DO_NOT_SEND_COOKIES); | 2007 req.set_load_flags(LOAD_DO_NOT_SEND_COOKIES); |
1951 req.Start(); | 2008 req.Start(); |
1952 base::RunLoop().Run(); | 2009 base::RunLoop().Run(); |
1953 | 2010 |
1954 EXPECT_TRUE(d.data_received().find("Cookie: CookieToNotSend=1") | 2011 EXPECT_TRUE(d.data_received().find("Cookie: CookieToNotSend=1") |
1955 == std::string::npos); | 2012 == std::string::npos); |
1956 | 2013 |
1957 // LOAD_DO_NOT_SEND_COOKIES does not trigger OnGetCookies. | 2014 // LOAD_DO_NOT_SEND_COOKIES does not trigger OnGetCookies. |
1958 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2015 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
1959 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2016 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
1960 } | 2017 } |
1961 } | 2018 } |
1962 | 2019 |
1963 TEST_F(URLRequestTest, DoNotSaveCookies) { | 2020 TEST_F(URLRequestTest, DoNotSaveCookies) { |
1964 LocalHttpTestServer test_server; | 2021 LocalHttpTestServer test_server; |
1965 ASSERT_TRUE(test_server.Start()); | 2022 ASSERT_TRUE(test_server.Start()); |
1966 | 2023 |
1967 // Set up a cookie. | 2024 // Set up a cookie. |
1968 { | 2025 { |
1969 TestNetworkDelegate network_delegate; | 2026 TestNetworkDelegate network_delegate; |
1970 default_context_.set_network_delegate(&network_delegate); | 2027 default_context_.set_network_delegate(&network_delegate); |
1971 TestDelegate d; | 2028 TestDelegate d; |
1972 URLRequest req(test_server.GetURL("set-cookie?CookieToNotUpdate=2"), | 2029 URLRequest req(test_server.GetURL("set-cookie?CookieToNotUpdate=2"), |
| 2030 DEFAULT_PRIORITY, |
1973 &d, | 2031 &d, |
1974 &default_context_); | 2032 &default_context_); |
1975 req.Start(); | 2033 req.Start(); |
1976 base::RunLoop().Run(); | 2034 base::RunLoop().Run(); |
1977 | 2035 |
1978 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2036 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
1979 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2037 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
1980 EXPECT_EQ(1, network_delegate.set_cookie_count()); | 2038 EXPECT_EQ(1, network_delegate.set_cookie_count()); |
1981 } | 2039 } |
1982 | 2040 |
1983 // Try to set-up another cookie and update the previous cookie. | 2041 // Try to set-up another cookie and update the previous cookie. |
1984 { | 2042 { |
1985 TestNetworkDelegate network_delegate; | 2043 TestNetworkDelegate network_delegate; |
1986 default_context_.set_network_delegate(&network_delegate); | 2044 default_context_.set_network_delegate(&network_delegate); |
1987 TestDelegate d; | 2045 TestDelegate d; |
1988 URLRequest req( | 2046 URLRequest req( |
1989 test_server.GetURL("set-cookie?CookieToNotSave=1&CookieToNotUpdate=1"), | 2047 test_server.GetURL("set-cookie?CookieToNotSave=1&CookieToNotUpdate=1"), |
| 2048 DEFAULT_PRIORITY, |
1990 &d, | 2049 &d, |
1991 &default_context_); | 2050 &default_context_); |
1992 req.set_load_flags(LOAD_DO_NOT_SAVE_COOKIES); | 2051 req.set_load_flags(LOAD_DO_NOT_SAVE_COOKIES); |
1993 req.Start(); | 2052 req.Start(); |
1994 | 2053 |
1995 base::RunLoop().Run(); | 2054 base::RunLoop().Run(); |
1996 | 2055 |
1997 // LOAD_DO_NOT_SAVE_COOKIES does not trigger OnSetCookie. | 2056 // LOAD_DO_NOT_SAVE_COOKIES does not trigger OnSetCookie. |
1998 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2057 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
1999 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2058 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2000 EXPECT_EQ(0, network_delegate.set_cookie_count()); | 2059 EXPECT_EQ(0, network_delegate.set_cookie_count()); |
2001 } | 2060 } |
2002 | 2061 |
2003 // Verify the cookies weren't saved or updated. | 2062 // Verify the cookies weren't saved or updated. |
2004 { | 2063 { |
2005 TestNetworkDelegate network_delegate; | 2064 TestNetworkDelegate network_delegate; |
2006 default_context_.set_network_delegate(&network_delegate); | 2065 default_context_.set_network_delegate(&network_delegate); |
2007 TestDelegate d; | 2066 TestDelegate d; |
2008 URLRequest req( | 2067 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
2009 test_server.GetURL("echoheader?Cookie"), &d, &default_context_); | 2068 DEFAULT_PRIORITY, |
| 2069 &d, |
| 2070 &default_context_); |
2010 req.Start(); | 2071 req.Start(); |
2011 base::RunLoop().Run(); | 2072 base::RunLoop().Run(); |
2012 | 2073 |
2013 EXPECT_TRUE(d.data_received().find("CookieToNotSave=1") | 2074 EXPECT_TRUE(d.data_received().find("CookieToNotSave=1") |
2014 == std::string::npos); | 2075 == std::string::npos); |
2015 EXPECT_TRUE(d.data_received().find("CookieToNotUpdate=2") | 2076 EXPECT_TRUE(d.data_received().find("CookieToNotUpdate=2") |
2016 != std::string::npos); | 2077 != std::string::npos); |
2017 | 2078 |
2018 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2079 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2019 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2080 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2020 EXPECT_EQ(0, network_delegate.set_cookie_count()); | 2081 EXPECT_EQ(0, network_delegate.set_cookie_count()); |
2021 } | 2082 } |
2022 } | 2083 } |
2023 | 2084 |
2024 TEST_F(URLRequestTest, DoNotSendCookies_ViaPolicy) { | 2085 TEST_F(URLRequestTest, DoNotSendCookies_ViaPolicy) { |
2025 LocalHttpTestServer test_server; | 2086 LocalHttpTestServer test_server; |
2026 ASSERT_TRUE(test_server.Start()); | 2087 ASSERT_TRUE(test_server.Start()); |
2027 | 2088 |
2028 // Set up a cookie. | 2089 // Set up a cookie. |
2029 { | 2090 { |
2030 TestNetworkDelegate network_delegate; | 2091 TestNetworkDelegate network_delegate; |
2031 default_context_.set_network_delegate(&network_delegate); | 2092 default_context_.set_network_delegate(&network_delegate); |
2032 TestDelegate d; | 2093 TestDelegate d; |
2033 URLRequest req(test_server.GetURL("set-cookie?CookieToNotSend=1"), | 2094 URLRequest req(test_server.GetURL("set-cookie?CookieToNotSend=1"), |
| 2095 DEFAULT_PRIORITY, |
2034 &d, | 2096 &d, |
2035 &default_context_); | 2097 &default_context_); |
2036 req.Start(); | 2098 req.Start(); |
2037 base::RunLoop().Run(); | 2099 base::RunLoop().Run(); |
2038 | 2100 |
2039 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2101 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2040 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2102 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2041 } | 2103 } |
2042 | 2104 |
2043 // Verify that the cookie is set. | 2105 // Verify that the cookie is set. |
2044 { | 2106 { |
2045 TestNetworkDelegate network_delegate; | 2107 TestNetworkDelegate network_delegate; |
2046 default_context_.set_network_delegate(&network_delegate); | 2108 default_context_.set_network_delegate(&network_delegate); |
2047 TestDelegate d; | 2109 TestDelegate d; |
2048 URLRequest req( | 2110 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
2049 test_server.GetURL("echoheader?Cookie"), &d, &default_context_); | 2111 DEFAULT_PRIORITY, |
| 2112 &d, |
| 2113 &default_context_); |
2050 req.Start(); | 2114 req.Start(); |
2051 base::RunLoop().Run(); | 2115 base::RunLoop().Run(); |
2052 | 2116 |
2053 EXPECT_TRUE(d.data_received().find("CookieToNotSend=1") | 2117 EXPECT_TRUE(d.data_received().find("CookieToNotSend=1") |
2054 != std::string::npos); | 2118 != std::string::npos); |
2055 | 2119 |
2056 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2120 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2057 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2121 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2058 } | 2122 } |
2059 | 2123 |
2060 // Verify that the cookie isn't sent. | 2124 // Verify that the cookie isn't sent. |
2061 { | 2125 { |
2062 TestNetworkDelegate network_delegate; | 2126 TestNetworkDelegate network_delegate; |
2063 default_context_.set_network_delegate(&network_delegate); | 2127 default_context_.set_network_delegate(&network_delegate); |
2064 TestDelegate d; | 2128 TestDelegate d; |
2065 network_delegate.set_cookie_options(TestNetworkDelegate::NO_GET_COOKIES); | 2129 network_delegate.set_cookie_options(TestNetworkDelegate::NO_GET_COOKIES); |
2066 URLRequest req( | 2130 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
2067 test_server.GetURL("echoheader?Cookie"), &d, &default_context_); | 2131 DEFAULT_PRIORITY, |
| 2132 &d, |
| 2133 &default_context_); |
2068 req.Start(); | 2134 req.Start(); |
2069 base::RunLoop().Run(); | 2135 base::RunLoop().Run(); |
2070 | 2136 |
2071 EXPECT_TRUE(d.data_received().find("Cookie: CookieToNotSend=1") | 2137 EXPECT_TRUE(d.data_received().find("Cookie: CookieToNotSend=1") |
2072 == std::string::npos); | 2138 == std::string::npos); |
2073 | 2139 |
2074 EXPECT_EQ(1, network_delegate.blocked_get_cookies_count()); | 2140 EXPECT_EQ(1, network_delegate.blocked_get_cookies_count()); |
2075 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2141 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2076 } | 2142 } |
2077 } | 2143 } |
2078 | 2144 |
2079 TEST_F(URLRequestTest, DoNotSaveCookies_ViaPolicy) { | 2145 TEST_F(URLRequestTest, DoNotSaveCookies_ViaPolicy) { |
2080 LocalHttpTestServer test_server; | 2146 LocalHttpTestServer test_server; |
2081 ASSERT_TRUE(test_server.Start()); | 2147 ASSERT_TRUE(test_server.Start()); |
2082 | 2148 |
2083 // Set up a cookie. | 2149 // Set up a cookie. |
2084 { | 2150 { |
2085 TestNetworkDelegate network_delegate; | 2151 TestNetworkDelegate network_delegate; |
2086 default_context_.set_network_delegate(&network_delegate); | 2152 default_context_.set_network_delegate(&network_delegate); |
2087 TestDelegate d; | 2153 TestDelegate d; |
2088 URLRequest req(test_server.GetURL("set-cookie?CookieToNotUpdate=2"), | 2154 URLRequest req(test_server.GetURL("set-cookie?CookieToNotUpdate=2"), |
| 2155 DEFAULT_PRIORITY, |
2089 &d, | 2156 &d, |
2090 &default_context_); | 2157 &default_context_); |
2091 req.Start(); | 2158 req.Start(); |
2092 base::RunLoop().Run(); | 2159 base::RunLoop().Run(); |
2093 | 2160 |
2094 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2161 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2095 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2162 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2096 } | 2163 } |
2097 | 2164 |
2098 // Try to set-up another cookie and update the previous cookie. | 2165 // Try to set-up another cookie and update the previous cookie. |
2099 { | 2166 { |
2100 TestNetworkDelegate network_delegate; | 2167 TestNetworkDelegate network_delegate; |
2101 default_context_.set_network_delegate(&network_delegate); | 2168 default_context_.set_network_delegate(&network_delegate); |
2102 TestDelegate d; | 2169 TestDelegate d; |
2103 network_delegate.set_cookie_options(TestNetworkDelegate::NO_SET_COOKIE); | 2170 network_delegate.set_cookie_options(TestNetworkDelegate::NO_SET_COOKIE); |
2104 URLRequest req( | 2171 URLRequest req( |
2105 test_server.GetURL("set-cookie?CookieToNotSave=1&CookieToNotUpdate=1"), | 2172 test_server.GetURL("set-cookie?CookieToNotSave=1&CookieToNotUpdate=1"), |
| 2173 DEFAULT_PRIORITY, |
2106 &d, | 2174 &d, |
2107 &default_context_); | 2175 &default_context_); |
2108 req.Start(); | 2176 req.Start(); |
2109 | 2177 |
2110 base::RunLoop().Run(); | 2178 base::RunLoop().Run(); |
2111 | 2179 |
2112 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2180 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2113 EXPECT_EQ(2, network_delegate.blocked_set_cookie_count()); | 2181 EXPECT_EQ(2, network_delegate.blocked_set_cookie_count()); |
2114 } | 2182 } |
2115 | 2183 |
2116 // Verify the cookies weren't saved or updated. | 2184 // Verify the cookies weren't saved or updated. |
2117 { | 2185 { |
2118 TestNetworkDelegate network_delegate; | 2186 TestNetworkDelegate network_delegate; |
2119 default_context_.set_network_delegate(&network_delegate); | 2187 default_context_.set_network_delegate(&network_delegate); |
2120 TestDelegate d; | 2188 TestDelegate d; |
2121 URLRequest req( | 2189 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
2122 test_server.GetURL("echoheader?Cookie"), &d, &default_context_); | 2190 DEFAULT_PRIORITY, |
| 2191 &d, |
| 2192 &default_context_); |
2123 req.Start(); | 2193 req.Start(); |
2124 base::RunLoop().Run(); | 2194 base::RunLoop().Run(); |
2125 | 2195 |
2126 EXPECT_TRUE(d.data_received().find("CookieToNotSave=1") | 2196 EXPECT_TRUE(d.data_received().find("CookieToNotSave=1") |
2127 == std::string::npos); | 2197 == std::string::npos); |
2128 EXPECT_TRUE(d.data_received().find("CookieToNotUpdate=2") | 2198 EXPECT_TRUE(d.data_received().find("CookieToNotUpdate=2") |
2129 != std::string::npos); | 2199 != std::string::npos); |
2130 | 2200 |
2131 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2201 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2132 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2202 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2133 } | 2203 } |
2134 } | 2204 } |
2135 | 2205 |
2136 TEST_F(URLRequestTest, DoNotSaveEmptyCookies) { | 2206 TEST_F(URLRequestTest, DoNotSaveEmptyCookies) { |
2137 LocalHttpTestServer test_server; | 2207 LocalHttpTestServer test_server; |
2138 ASSERT_TRUE(test_server.Start()); | 2208 ASSERT_TRUE(test_server.Start()); |
2139 | 2209 |
2140 // Set up an empty cookie. | 2210 // Set up an empty cookie. |
2141 { | 2211 { |
2142 TestNetworkDelegate network_delegate; | 2212 TestNetworkDelegate network_delegate; |
2143 default_context_.set_network_delegate(&network_delegate); | 2213 default_context_.set_network_delegate(&network_delegate); |
2144 TestDelegate d; | 2214 TestDelegate d; |
2145 URLRequest req(test_server.GetURL("set-cookie"), &d, &default_context_); | 2215 URLRequest req(test_server.GetURL("set-cookie"), |
| 2216 DEFAULT_PRIORITY, |
| 2217 &d, |
| 2218 &default_context_); |
2146 req.Start(); | 2219 req.Start(); |
2147 base::RunLoop().Run(); | 2220 base::RunLoop().Run(); |
2148 | 2221 |
2149 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2222 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2150 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2223 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2151 EXPECT_EQ(0, network_delegate.set_cookie_count()); | 2224 EXPECT_EQ(0, network_delegate.set_cookie_count()); |
2152 } | 2225 } |
2153 } | 2226 } |
2154 | 2227 |
2155 TEST_F(URLRequestTest, DoNotSendCookies_ViaPolicy_Async) { | 2228 TEST_F(URLRequestTest, DoNotSendCookies_ViaPolicy_Async) { |
2156 LocalHttpTestServer test_server; | 2229 LocalHttpTestServer test_server; |
2157 ASSERT_TRUE(test_server.Start()); | 2230 ASSERT_TRUE(test_server.Start()); |
2158 | 2231 |
2159 // Set up a cookie. | 2232 // Set up a cookie. |
2160 { | 2233 { |
2161 TestNetworkDelegate network_delegate; | 2234 TestNetworkDelegate network_delegate; |
2162 default_context_.set_network_delegate(&network_delegate); | 2235 default_context_.set_network_delegate(&network_delegate); |
2163 TestDelegate d; | 2236 TestDelegate d; |
2164 URLRequest req(test_server.GetURL("set-cookie?CookieToNotSend=1"), | 2237 URLRequest req(test_server.GetURL("set-cookie?CookieToNotSend=1"), |
| 2238 DEFAULT_PRIORITY, |
2165 &d, | 2239 &d, |
2166 &default_context_); | 2240 &default_context_); |
2167 req.Start(); | 2241 req.Start(); |
2168 base::RunLoop().Run(); | 2242 base::RunLoop().Run(); |
2169 | 2243 |
2170 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2244 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2171 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2245 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2172 } | 2246 } |
2173 | 2247 |
2174 // Verify that the cookie is set. | 2248 // Verify that the cookie is set. |
2175 { | 2249 { |
2176 TestNetworkDelegate network_delegate; | 2250 TestNetworkDelegate network_delegate; |
2177 default_context_.set_network_delegate(&network_delegate); | 2251 default_context_.set_network_delegate(&network_delegate); |
2178 TestDelegate d; | 2252 TestDelegate d; |
2179 URLRequest req( | 2253 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
2180 test_server.GetURL("echoheader?Cookie"), &d, &default_context_); | 2254 DEFAULT_PRIORITY, |
| 2255 &d, |
| 2256 &default_context_); |
2181 req.Start(); | 2257 req.Start(); |
2182 base::RunLoop().Run(); | 2258 base::RunLoop().Run(); |
2183 | 2259 |
2184 EXPECT_TRUE(d.data_received().find("CookieToNotSend=1") | 2260 EXPECT_TRUE(d.data_received().find("CookieToNotSend=1") |
2185 != std::string::npos); | 2261 != std::string::npos); |
2186 | 2262 |
2187 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2263 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2188 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2264 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2189 } | 2265 } |
2190 | 2266 |
2191 // Verify that the cookie isn't sent. | 2267 // Verify that the cookie isn't sent. |
2192 { | 2268 { |
2193 TestNetworkDelegate network_delegate; | 2269 TestNetworkDelegate network_delegate; |
2194 default_context_.set_network_delegate(&network_delegate); | 2270 default_context_.set_network_delegate(&network_delegate); |
2195 TestDelegate d; | 2271 TestDelegate d; |
2196 network_delegate.set_cookie_options(TestNetworkDelegate::NO_GET_COOKIES); | 2272 network_delegate.set_cookie_options(TestNetworkDelegate::NO_GET_COOKIES); |
2197 URLRequest req( | 2273 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
2198 test_server.GetURL("echoheader?Cookie"), &d, &default_context_); | 2274 DEFAULT_PRIORITY, |
| 2275 &d, |
| 2276 &default_context_); |
2199 req.Start(); | 2277 req.Start(); |
2200 base::RunLoop().Run(); | 2278 base::RunLoop().Run(); |
2201 | 2279 |
2202 EXPECT_TRUE(d.data_received().find("Cookie: CookieToNotSend=1") | 2280 EXPECT_TRUE(d.data_received().find("Cookie: CookieToNotSend=1") |
2203 == std::string::npos); | 2281 == std::string::npos); |
2204 | 2282 |
2205 EXPECT_EQ(1, network_delegate.blocked_get_cookies_count()); | 2283 EXPECT_EQ(1, network_delegate.blocked_get_cookies_count()); |
2206 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2284 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2207 } | 2285 } |
2208 } | 2286 } |
2209 | 2287 |
2210 TEST_F(URLRequestTest, DoNotSaveCookies_ViaPolicy_Async) { | 2288 TEST_F(URLRequestTest, DoNotSaveCookies_ViaPolicy_Async) { |
2211 LocalHttpTestServer test_server; | 2289 LocalHttpTestServer test_server; |
2212 ASSERT_TRUE(test_server.Start()); | 2290 ASSERT_TRUE(test_server.Start()); |
2213 | 2291 |
2214 // Set up a cookie. | 2292 // Set up a cookie. |
2215 { | 2293 { |
2216 TestNetworkDelegate network_delegate; | 2294 TestNetworkDelegate network_delegate; |
2217 default_context_.set_network_delegate(&network_delegate); | 2295 default_context_.set_network_delegate(&network_delegate); |
2218 TestDelegate d; | 2296 TestDelegate d; |
2219 URLRequest req(test_server.GetURL("set-cookie?CookieToNotUpdate=2"), | 2297 URLRequest req(test_server.GetURL("set-cookie?CookieToNotUpdate=2"), |
| 2298 DEFAULT_PRIORITY, |
2220 &d, | 2299 &d, |
2221 &default_context_); | 2300 &default_context_); |
2222 req.Start(); | 2301 req.Start(); |
2223 base::RunLoop().Run(); | 2302 base::RunLoop().Run(); |
2224 | 2303 |
2225 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2304 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2226 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2305 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2227 } | 2306 } |
2228 | 2307 |
2229 // Try to set-up another cookie and update the previous cookie. | 2308 // Try to set-up another cookie and update the previous cookie. |
2230 { | 2309 { |
2231 TestNetworkDelegate network_delegate; | 2310 TestNetworkDelegate network_delegate; |
2232 default_context_.set_network_delegate(&network_delegate); | 2311 default_context_.set_network_delegate(&network_delegate); |
2233 TestDelegate d; | 2312 TestDelegate d; |
2234 network_delegate.set_cookie_options(TestNetworkDelegate::NO_SET_COOKIE); | 2313 network_delegate.set_cookie_options(TestNetworkDelegate::NO_SET_COOKIE); |
2235 URLRequest req( | 2314 URLRequest req( |
2236 test_server.GetURL("set-cookie?CookieToNotSave=1&CookieToNotUpdate=1"), | 2315 test_server.GetURL("set-cookie?CookieToNotSave=1&CookieToNotUpdate=1"), |
| 2316 DEFAULT_PRIORITY, |
2237 &d, | 2317 &d, |
2238 &default_context_); | 2318 &default_context_); |
2239 req.Start(); | 2319 req.Start(); |
2240 | 2320 |
2241 base::RunLoop().Run(); | 2321 base::RunLoop().Run(); |
2242 | 2322 |
2243 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2323 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2244 EXPECT_EQ(2, network_delegate.blocked_set_cookie_count()); | 2324 EXPECT_EQ(2, network_delegate.blocked_set_cookie_count()); |
2245 } | 2325 } |
2246 | 2326 |
2247 // Verify the cookies weren't saved or updated. | 2327 // Verify the cookies weren't saved or updated. |
2248 { | 2328 { |
2249 TestNetworkDelegate network_delegate; | 2329 TestNetworkDelegate network_delegate; |
2250 default_context_.set_network_delegate(&network_delegate); | 2330 default_context_.set_network_delegate(&network_delegate); |
2251 TestDelegate d; | 2331 TestDelegate d; |
2252 URLRequest req( | 2332 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
2253 test_server.GetURL("echoheader?Cookie"), &d, &default_context_); | 2333 DEFAULT_PRIORITY, |
| 2334 &d, |
| 2335 &default_context_); |
2254 req.Start(); | 2336 req.Start(); |
2255 base::RunLoop().Run(); | 2337 base::RunLoop().Run(); |
2256 | 2338 |
2257 EXPECT_TRUE(d.data_received().find("CookieToNotSave=1") | 2339 EXPECT_TRUE(d.data_received().find("CookieToNotSave=1") |
2258 == std::string::npos); | 2340 == std::string::npos); |
2259 EXPECT_TRUE(d.data_received().find("CookieToNotUpdate=2") | 2341 EXPECT_TRUE(d.data_received().find("CookieToNotUpdate=2") |
2260 != std::string::npos); | 2342 != std::string::npos); |
2261 | 2343 |
2262 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2344 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2263 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2345 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2309 // headers by defaulting to GMT. (crbug.com/135131) | 2391 // headers by defaulting to GMT. (crbug.com/135131) |
2310 TEST_F(URLRequestTest, AcceptClockSkewCookieWithWrongDateTimezone) { | 2392 TEST_F(URLRequestTest, AcceptClockSkewCookieWithWrongDateTimezone) { |
2311 LocalHttpTestServer test_server; | 2393 LocalHttpTestServer test_server; |
2312 ASSERT_TRUE(test_server.Start()); | 2394 ASSERT_TRUE(test_server.Start()); |
2313 | 2395 |
2314 // Set up an expired cookie. | 2396 // Set up an expired cookie. |
2315 { | 2397 { |
2316 TestNetworkDelegate network_delegate; | 2398 TestNetworkDelegate network_delegate; |
2317 default_context_.set_network_delegate(&network_delegate); | 2399 default_context_.set_network_delegate(&network_delegate); |
2318 TestDelegate d; | 2400 TestDelegate d; |
2319 URLRequest req(test_server.GetURL( | 2401 URLRequest req( |
2320 "set-cookie?StillGood=1;expires=Mon,18-Apr-1977,22:50:13,GMT"), | 2402 test_server.GetURL( |
| 2403 "set-cookie?StillGood=1;expires=Mon,18-Apr-1977,22:50:13,GMT"), |
| 2404 DEFAULT_PRIORITY, |
2321 &d, | 2405 &d, |
2322 &default_context_); | 2406 &default_context_); |
2323 req.Start(); | 2407 req.Start(); |
2324 base::RunLoop().Run(); | 2408 base::RunLoop().Run(); |
2325 } | 2409 } |
2326 // Verify that the cookie is not set. | 2410 // Verify that the cookie is not set. |
2327 { | 2411 { |
2328 TestNetworkDelegate network_delegate; | 2412 TestNetworkDelegate network_delegate; |
2329 default_context_.set_network_delegate(&network_delegate); | 2413 default_context_.set_network_delegate(&network_delegate); |
2330 TestDelegate d; | 2414 TestDelegate d; |
2331 URLRequest req( | 2415 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
2332 test_server.GetURL("echoheader?Cookie"), &d, &default_context_); | 2416 DEFAULT_PRIORITY, |
| 2417 &d, |
| 2418 &default_context_); |
2333 req.Start(); | 2419 req.Start(); |
2334 base::RunLoop().Run(); | 2420 base::RunLoop().Run(); |
2335 | 2421 |
2336 EXPECT_TRUE(d.data_received().find("StillGood=1") == std::string::npos); | 2422 EXPECT_TRUE(d.data_received().find("StillGood=1") == std::string::npos); |
2337 } | 2423 } |
2338 // Set up a cookie with clock skew and "UTC" HTTP Date timezone specifier. | 2424 // Set up a cookie with clock skew and "UTC" HTTP Date timezone specifier. |
2339 { | 2425 { |
2340 FixedDateNetworkDelegate network_delegate("18-Apr-1977 22:49:13 UTC"); | 2426 FixedDateNetworkDelegate network_delegate("18-Apr-1977 22:49:13 UTC"); |
2341 default_context_.set_network_delegate(&network_delegate); | 2427 default_context_.set_network_delegate(&network_delegate); |
2342 TestDelegate d; | 2428 TestDelegate d; |
2343 URLRequest req(test_server.GetURL( | 2429 URLRequest req( |
2344 "set-cookie?StillGood=1;expires=Mon,18-Apr-1977,22:50:13,GMT"), | 2430 test_server.GetURL( |
| 2431 "set-cookie?StillGood=1;expires=Mon,18-Apr-1977,22:50:13,GMT"), |
| 2432 DEFAULT_PRIORITY, |
2345 &d, | 2433 &d, |
2346 &default_context_); | 2434 &default_context_); |
2347 req.Start(); | 2435 req.Start(); |
2348 base::RunLoop().Run(); | 2436 base::RunLoop().Run(); |
2349 } | 2437 } |
2350 // Verify that the cookie is set. | 2438 // Verify that the cookie is set. |
2351 { | 2439 { |
2352 TestNetworkDelegate network_delegate; | 2440 TestNetworkDelegate network_delegate; |
2353 default_context_.set_network_delegate(&network_delegate); | 2441 default_context_.set_network_delegate(&network_delegate); |
2354 TestDelegate d; | 2442 TestDelegate d; |
2355 URLRequest req( | 2443 URLRequest req(test_server.GetURL("echoheader?Cookie"), |
2356 test_server.GetURL("echoheader?Cookie"), &d, &default_context_); | 2444 DEFAULT_PRIORITY, |
| 2445 &d, |
| 2446 &default_context_); |
2357 req.Start(); | 2447 req.Start(); |
2358 base::RunLoop().Run(); | 2448 base::RunLoop().Run(); |
2359 | 2449 |
2360 EXPECT_TRUE(d.data_received().find("StillGood=1") != std::string::npos); | 2450 EXPECT_TRUE(d.data_received().find("StillGood=1") != std::string::npos); |
2361 } | 2451 } |
2362 } | 2452 } |
2363 | 2453 |
2364 | 2454 |
2365 // Check that it is impossible to change the referrer in the extra headers of | 2455 // Check that it is impossible to change the referrer in the extra headers of |
2366 // an URLRequest. | 2456 // an URLRequest. |
2367 TEST_F(URLRequestTest, DoNotOverrideReferrer) { | 2457 TEST_F(URLRequestTest, DoNotOverrideReferrer) { |
2368 LocalHttpTestServer test_server; | 2458 LocalHttpTestServer test_server; |
2369 ASSERT_TRUE(test_server.Start()); | 2459 ASSERT_TRUE(test_server.Start()); |
2370 | 2460 |
2371 // If extra headers contain referer and the request contains a referer, | 2461 // If extra headers contain referer and the request contains a referer, |
2372 // only the latter shall be respected. | 2462 // only the latter shall be respected. |
2373 { | 2463 { |
2374 TestDelegate d; | 2464 TestDelegate d; |
2375 URLRequest req( | 2465 URLRequest req(test_server.GetURL("echoheader?Referer"), |
2376 test_server.GetURL("echoheader?Referer"), &d, &default_context_); | 2466 DEFAULT_PRIORITY, |
| 2467 &d, |
| 2468 &default_context_); |
2377 req.SetReferrer("http://foo.com/"); | 2469 req.SetReferrer("http://foo.com/"); |
2378 | 2470 |
2379 HttpRequestHeaders headers; | 2471 HttpRequestHeaders headers; |
2380 headers.SetHeader(HttpRequestHeaders::kReferer, "http://bar.com/"); | 2472 headers.SetHeader(HttpRequestHeaders::kReferer, "http://bar.com/"); |
2381 req.SetExtraRequestHeaders(headers); | 2473 req.SetExtraRequestHeaders(headers); |
2382 | 2474 |
2383 req.Start(); | 2475 req.Start(); |
2384 base::RunLoop().Run(); | 2476 base::RunLoop().Run(); |
2385 | 2477 |
2386 EXPECT_EQ("http://foo.com/", d.data_received()); | 2478 EXPECT_EQ("http://foo.com/", d.data_received()); |
2387 } | 2479 } |
2388 | 2480 |
2389 // If extra headers contain a referer but the request does not, no referer | 2481 // If extra headers contain a referer but the request does not, no referer |
2390 // shall be sent in the header. | 2482 // shall be sent in the header. |
2391 { | 2483 { |
2392 TestDelegate d; | 2484 TestDelegate d; |
2393 URLRequest req( | 2485 URLRequest req(test_server.GetURL("echoheader?Referer"), |
2394 test_server.GetURL("echoheader?Referer"), &d, &default_context_); | 2486 DEFAULT_PRIORITY, |
| 2487 &d, |
| 2488 &default_context_); |
2395 | 2489 |
2396 HttpRequestHeaders headers; | 2490 HttpRequestHeaders headers; |
2397 headers.SetHeader(HttpRequestHeaders::kReferer, "http://bar.com/"); | 2491 headers.SetHeader(HttpRequestHeaders::kReferer, "http://bar.com/"); |
2398 req.SetExtraRequestHeaders(headers); | 2492 req.SetExtraRequestHeaders(headers); |
2399 req.set_load_flags(LOAD_VALIDATE_CACHE); | 2493 req.set_load_flags(LOAD_VALIDATE_CACHE); |
2400 | 2494 |
2401 req.Start(); | 2495 req.Start(); |
2402 base::RunLoop().Run(); | 2496 base::RunLoop().Run(); |
2403 | 2497 |
2404 EXPECT_EQ("None", d.data_received()); | 2498 EXPECT_EQ("None", d.data_received()); |
(...skipping 14 matching lines...) Expand all Loading... |
2419 // request, after redirection. | 2513 // request, after redirection. |
2420 // If |include_data| is true, data is uploaded with the request. The | 2514 // If |include_data| is true, data is uploaded with the request. The |
2421 // response body is expected to match it exactly, if and only if | 2515 // response body is expected to match it exactly, if and only if |
2422 // |request_method| == |redirect_method|. | 2516 // |request_method| == |redirect_method|. |
2423 void HTTPRedirectMethodTest(const GURL& redirect_url, | 2517 void HTTPRedirectMethodTest(const GURL& redirect_url, |
2424 const std::string& request_method, | 2518 const std::string& request_method, |
2425 const std::string& redirect_method, | 2519 const std::string& redirect_method, |
2426 bool include_data) { | 2520 bool include_data) { |
2427 static const char kData[] = "hello world"; | 2521 static const char kData[] = "hello world"; |
2428 TestDelegate d; | 2522 TestDelegate d; |
2429 URLRequest req(redirect_url, &d, &default_context_); | 2523 URLRequest req(redirect_url, DEFAULT_PRIORITY, &d, &default_context_); |
2430 req.set_method(request_method); | 2524 req.set_method(request_method); |
2431 if (include_data) { | 2525 if (include_data) { |
2432 req.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); | 2526 req.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); |
2433 HttpRequestHeaders headers; | 2527 HttpRequestHeaders headers; |
2434 headers.SetHeader(HttpRequestHeaders::kContentLength, | 2528 headers.SetHeader(HttpRequestHeaders::kContentLength, |
2435 base::UintToString(arraysize(kData) - 1)); | 2529 base::UintToString(arraysize(kData) - 1)); |
2436 req.SetExtraRequestHeaders(headers); | 2530 req.SetExtraRequestHeaders(headers); |
2437 } | 2531 } |
2438 req.Start(); | 2532 req.Start(); |
2439 base::RunLoop().Run(); | 2533 base::RunLoop().Run(); |
(...skipping 24 matching lines...) Expand all Loading... |
2464 ptr--; | 2558 ptr--; |
2465 *ptr++ = marker; | 2559 *ptr++ = marker; |
2466 if (++marker > 'z') | 2560 if (++marker > 'z') |
2467 marker = 'a'; | 2561 marker = 'a'; |
2468 } | 2562 } |
2469 } | 2563 } |
2470 uploadBytes[kMsgSize] = '\0'; | 2564 uploadBytes[kMsgSize] = '\0'; |
2471 | 2565 |
2472 for (int i = 0; i < kIterations; ++i) { | 2566 for (int i = 0; i < kIterations; ++i) { |
2473 TestDelegate d; | 2567 TestDelegate d; |
2474 URLRequest r(test_server_.GetURL("echo"), &d, &default_context_); | 2568 URLRequest r( |
| 2569 test_server_.GetURL("echo"), DEFAULT_PRIORITY, &d, &default_context_); |
2475 r.set_method(method.c_str()); | 2570 r.set_method(method.c_str()); |
2476 | 2571 |
2477 r.set_upload(make_scoped_ptr(CreateSimpleUploadData(uploadBytes))); | 2572 r.set_upload(make_scoped_ptr(CreateSimpleUploadData(uploadBytes))); |
2478 | 2573 |
2479 r.Start(); | 2574 r.Start(); |
2480 EXPECT_TRUE(r.is_pending()); | 2575 EXPECT_TRUE(r.is_pending()); |
2481 | 2576 |
2482 base::RunLoop().Run(); | 2577 base::RunLoop().Run(); |
2483 | 2578 |
2484 ASSERT_EQ(1, d.response_started_count()) | 2579 ASSERT_EQ(1, d.response_started_count()) |
(...skipping 27 matching lines...) Expand all Loading... |
2512 EXPECT_FALSE(d->received_data_before_response()); | 2607 EXPECT_FALSE(d->received_data_before_response()); |
2513 | 2608 |
2514 EXPECT_EQ(expected_data.size(), static_cast<size_t>(d->bytes_received())); | 2609 EXPECT_EQ(expected_data.size(), static_cast<size_t>(d->bytes_received())); |
2515 EXPECT_EQ(expected_data, d->data_received()); | 2610 EXPECT_EQ(expected_data, d->data_received()); |
2516 } | 2611 } |
2517 | 2612 |
2518 bool DoManyCookiesRequest(int num_cookies) { | 2613 bool DoManyCookiesRequest(int num_cookies) { |
2519 TestDelegate d; | 2614 TestDelegate d; |
2520 URLRequest r(test_server_.GetURL("set-many-cookies?" + | 2615 URLRequest r(test_server_.GetURL("set-many-cookies?" + |
2521 base::IntToString(num_cookies)), | 2616 base::IntToString(num_cookies)), |
2522 &d, | 2617 DEFAULT_PRIORITY, |
2523 &default_context_); | 2618 &d, |
| 2619 &default_context_); |
2524 | 2620 |
2525 r.Start(); | 2621 r.Start(); |
2526 EXPECT_TRUE(r.is_pending()); | 2622 EXPECT_TRUE(r.is_pending()); |
2527 | 2623 |
2528 base::RunLoop().Run(); | 2624 base::RunLoop().Run(); |
2529 | 2625 |
2530 bool is_success = r.status().is_success(); | 2626 bool is_success = r.status().is_success(); |
2531 | 2627 |
2532 if (!is_success) { | 2628 if (!is_success) { |
2533 // Requests handled by ChromeFrame send a less precise error message, | 2629 // Requests handled by ChromeFrame send a less precise error message, |
(...skipping 14 matching lines...) Expand all Loading... |
2548 | 2644 |
2549 // In this unit test, we're using the HTTPTestServer as a proxy server and | 2645 // In this unit test, we're using the HTTPTestServer as a proxy server and |
2550 // issuing a CONNECT request with the magic host name "www.redirect.com". | 2646 // issuing a CONNECT request with the magic host name "www.redirect.com". |
2551 // The HTTPTestServer will return a 302 response, which we should not | 2647 // The HTTPTestServer will return a 302 response, which we should not |
2552 // follow. | 2648 // follow. |
2553 TEST_F(URLRequestTestHTTP, ProxyTunnelRedirectTest) { | 2649 TEST_F(URLRequestTestHTTP, ProxyTunnelRedirectTest) { |
2554 ASSERT_TRUE(test_server_.Start()); | 2650 ASSERT_TRUE(test_server_.Start()); |
2555 | 2651 |
2556 TestNetworkDelegate network_delegate; // Must outlive URLRequest. | 2652 TestNetworkDelegate network_delegate; // Must outlive URLRequest. |
2557 TestURLRequestContextWithProxy context( | 2653 TestURLRequestContextWithProxy context( |
2558 test_server_.host_port_pair().ToString(), | 2654 test_server_.host_port_pair().ToString(), &network_delegate); |
2559 &network_delegate); | |
2560 | 2655 |
2561 TestDelegate d; | 2656 TestDelegate d; |
2562 { | 2657 { |
2563 URLRequest r(GURL("https://www.redirect.com/"), &d, &context); | 2658 URLRequest r( |
| 2659 GURL("https://www.redirect.com/"), DEFAULT_PRIORITY, &d, &context); |
2564 r.Start(); | 2660 r.Start(); |
2565 EXPECT_TRUE(r.is_pending()); | 2661 EXPECT_TRUE(r.is_pending()); |
2566 | 2662 |
2567 base::RunLoop().Run(); | 2663 base::RunLoop().Run(); |
2568 | 2664 |
2569 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); | 2665 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); |
2570 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, r.status().error()); | 2666 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, r.status().error()); |
2571 EXPECT_EQ(1, d.response_started_count()); | 2667 EXPECT_EQ(1, d.response_started_count()); |
2572 // We should not have followed the redirect. | 2668 // We should not have followed the redirect. |
2573 EXPECT_EQ(0, d.received_redirect_count()); | 2669 EXPECT_EQ(0, d.received_redirect_count()); |
2574 } | 2670 } |
2575 } | 2671 } |
2576 | 2672 |
2577 // This is the same as the previous test, but checks that the network delegate | 2673 // This is the same as the previous test, but checks that the network delegate |
2578 // registers the error. | 2674 // registers the error. |
2579 TEST_F(URLRequestTestHTTP, NetworkDelegateTunnelConnectionFailed) { | 2675 TEST_F(URLRequestTestHTTP, NetworkDelegateTunnelConnectionFailed) { |
2580 ASSERT_TRUE(test_server_.Start()); | 2676 ASSERT_TRUE(test_server_.Start()); |
2581 | 2677 |
2582 TestNetworkDelegate network_delegate; // Must outlive URLRequest. | 2678 TestNetworkDelegate network_delegate; // Must outlive URLRequest. |
2583 TestURLRequestContextWithProxy context( | 2679 TestURLRequestContextWithProxy context( |
2584 test_server_.host_port_pair().ToString(), | 2680 test_server_.host_port_pair().ToString(), &network_delegate); |
2585 &network_delegate); | |
2586 | 2681 |
2587 TestDelegate d; | 2682 TestDelegate d; |
2588 { | 2683 { |
2589 URLRequest r(GURL("https://www.redirect.com/"), &d, &context); | 2684 URLRequest r( |
| 2685 GURL("https://www.redirect.com/"), DEFAULT_PRIORITY, &d, &context); |
2590 r.Start(); | 2686 r.Start(); |
2591 EXPECT_TRUE(r.is_pending()); | 2687 EXPECT_TRUE(r.is_pending()); |
2592 | 2688 |
2593 base::RunLoop().Run(); | 2689 base::RunLoop().Run(); |
2594 | 2690 |
2595 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); | 2691 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); |
2596 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, r.status().error()); | 2692 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, r.status().error()); |
2597 EXPECT_EQ(1, d.response_started_count()); | 2693 EXPECT_EQ(1, d.response_started_count()); |
2598 // We should not have followed the redirect. | 2694 // We should not have followed the redirect. |
2599 EXPECT_EQ(0, d.received_redirect_count()); | 2695 EXPECT_EQ(0, d.received_redirect_count()); |
(...skipping 20 matching lines...) Expand all Loading... |
2620 network_delegate.set_block_on( | 2716 network_delegate.set_block_on( |
2621 BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST | | 2717 BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST | |
2622 BlockingNetworkDelegate::ON_BEFORE_SEND_HEADERS | | 2718 BlockingNetworkDelegate::ON_BEFORE_SEND_HEADERS | |
2623 BlockingNetworkDelegate::ON_HEADERS_RECEIVED); | 2719 BlockingNetworkDelegate::ON_HEADERS_RECEIVED); |
2624 | 2720 |
2625 TestURLRequestContext context(true); | 2721 TestURLRequestContext context(true); |
2626 context.set_network_delegate(&network_delegate); | 2722 context.set_network_delegate(&network_delegate); |
2627 context.Init(); | 2723 context.Init(); |
2628 | 2724 |
2629 { | 2725 { |
2630 URLRequest r(test_server_.GetURL("empty.html"), &d, &context); | 2726 URLRequest r( |
| 2727 test_server_.GetURL("empty.html"), DEFAULT_PRIORITY, &d, &context); |
2631 | 2728 |
2632 r.Start(); | 2729 r.Start(); |
2633 for (size_t i = 0; i < blocking_stages_length; ++i) { | 2730 for (size_t i = 0; i < blocking_stages_length; ++i) { |
2634 base::RunLoop().Run(); | 2731 base::RunLoop().Run(); |
2635 EXPECT_EQ(blocking_stages[i], | 2732 EXPECT_EQ(blocking_stages[i], |
2636 network_delegate.stage_blocked_for_callback()); | 2733 network_delegate.stage_blocked_for_callback()); |
2637 network_delegate.DoCallback(OK); | 2734 network_delegate.DoCallback(OK); |
2638 } | 2735 } |
2639 base::RunLoop().Run(); | 2736 base::RunLoop().Run(); |
2640 EXPECT_EQ(200, r.GetResponseCode()); | 2737 EXPECT_EQ(200, r.GetResponseCode()); |
2641 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 2738 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
2642 EXPECT_EQ(1, network_delegate.created_requests()); | 2739 EXPECT_EQ(1, network_delegate.created_requests()); |
2643 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 2740 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
2644 } | 2741 } |
2645 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 2742 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
2646 } | 2743 } |
2647 | 2744 |
2648 // Tests that the network delegate can block and cancel a request. | 2745 // Tests that the network delegate can block and cancel a request. |
2649 TEST_F(URLRequestTestHTTP, NetworkDelegateCancelRequest) { | 2746 TEST_F(URLRequestTestHTTP, NetworkDelegateCancelRequest) { |
2650 ASSERT_TRUE(test_server_.Start()); | 2747 ASSERT_TRUE(test_server_.Start()); |
2651 | 2748 |
2652 TestDelegate d; | 2749 TestDelegate d; |
2653 BlockingNetworkDelegate network_delegate( | 2750 BlockingNetworkDelegate network_delegate( |
2654 BlockingNetworkDelegate::AUTO_CALLBACK); | 2751 BlockingNetworkDelegate::AUTO_CALLBACK); |
2655 network_delegate.set_block_on(BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST); | 2752 network_delegate.set_block_on(BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST); |
2656 network_delegate.set_retval(ERR_EMPTY_RESPONSE); | 2753 network_delegate.set_retval(ERR_EMPTY_RESPONSE); |
2657 | 2754 |
2658 TestURLRequestContextWithProxy context( | 2755 TestURLRequestContextWithProxy context( |
2659 test_server_.host_port_pair().ToString(), | 2756 test_server_.host_port_pair().ToString(), &network_delegate); |
2660 &network_delegate); | |
2661 | 2757 |
2662 { | 2758 { |
2663 URLRequest r(test_server_.GetURL(std::string()), &d, &context); | 2759 URLRequest r( |
| 2760 test_server_.GetURL(std::string()), DEFAULT_PRIORITY, &d, &context); |
2664 | 2761 |
2665 r.Start(); | 2762 r.Start(); |
2666 base::RunLoop().Run(); | 2763 base::RunLoop().Run(); |
2667 | 2764 |
2668 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); | 2765 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); |
2669 EXPECT_EQ(ERR_EMPTY_RESPONSE, r.status().error()); | 2766 EXPECT_EQ(ERR_EMPTY_RESPONSE, r.status().error()); |
2670 EXPECT_EQ(1, network_delegate.created_requests()); | 2767 EXPECT_EQ(1, network_delegate.created_requests()); |
2671 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 2768 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
2672 } | 2769 } |
2673 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 2770 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
2674 } | 2771 } |
2675 | 2772 |
2676 // Helper function for NetworkDelegateCancelRequestAsynchronously and | 2773 // Helper function for NetworkDelegateCancelRequestAsynchronously and |
2677 // NetworkDelegateCancelRequestSynchronously. Sets up a blocking network | 2774 // NetworkDelegateCancelRequestSynchronously. Sets up a blocking network |
2678 // delegate operating in |block_mode| and a request for |url|. It blocks the | 2775 // delegate operating in |block_mode| and a request for |url|. It blocks the |
2679 // request in |stage| and cancels it with ERR_BLOCKED_BY_CLIENT. | 2776 // request in |stage| and cancels it with ERR_BLOCKED_BY_CLIENT. |
2680 void NetworkDelegateCancelRequest(BlockingNetworkDelegate::BlockMode block_mode, | 2777 void NetworkDelegateCancelRequest(BlockingNetworkDelegate::BlockMode block_mode, |
2681 BlockingNetworkDelegate::Stage stage, | 2778 BlockingNetworkDelegate::Stage stage, |
2682 const GURL& url) { | 2779 const GURL& url) { |
2683 TestDelegate d; | 2780 TestDelegate d; |
2684 BlockingNetworkDelegate network_delegate(block_mode); | 2781 BlockingNetworkDelegate network_delegate(block_mode); |
2685 network_delegate.set_retval(ERR_BLOCKED_BY_CLIENT); | 2782 network_delegate.set_retval(ERR_BLOCKED_BY_CLIENT); |
2686 network_delegate.set_block_on(stage); | 2783 network_delegate.set_block_on(stage); |
2687 | 2784 |
2688 TestURLRequestContext context(true); | 2785 TestURLRequestContext context(true); |
2689 context.set_network_delegate(&network_delegate); | 2786 context.set_network_delegate(&network_delegate); |
2690 context.Init(); | 2787 context.Init(); |
2691 | 2788 |
2692 { | 2789 { |
2693 URLRequest r(url, &d, &context); | 2790 URLRequest r(url, DEFAULT_PRIORITY, &d, &context); |
2694 | 2791 |
2695 r.Start(); | 2792 r.Start(); |
2696 base::RunLoop().Run(); | 2793 base::RunLoop().Run(); |
2697 | 2794 |
2698 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); | 2795 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); |
2699 EXPECT_EQ(ERR_BLOCKED_BY_CLIENT, r.status().error()); | 2796 EXPECT_EQ(ERR_BLOCKED_BY_CLIENT, r.status().error()); |
2700 EXPECT_EQ(1, network_delegate.created_requests()); | 2797 EXPECT_EQ(1, network_delegate.created_requests()); |
2701 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 2798 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
2702 } | 2799 } |
2703 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 2800 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2755 ASSERT_TRUE(test_server_.Start()); | 2852 ASSERT_TRUE(test_server_.Start()); |
2756 | 2853 |
2757 TestDelegate d; | 2854 TestDelegate d; |
2758 BlockingNetworkDelegate network_delegate( | 2855 BlockingNetworkDelegate network_delegate( |
2759 BlockingNetworkDelegate::AUTO_CALLBACK); | 2856 BlockingNetworkDelegate::AUTO_CALLBACK); |
2760 network_delegate.set_block_on(BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST); | 2857 network_delegate.set_block_on(BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST); |
2761 GURL redirect_url(test_server_.GetURL("simple.html")); | 2858 GURL redirect_url(test_server_.GetURL("simple.html")); |
2762 network_delegate.set_redirect_url(redirect_url); | 2859 network_delegate.set_redirect_url(redirect_url); |
2763 | 2860 |
2764 TestURLRequestContextWithProxy context( | 2861 TestURLRequestContextWithProxy context( |
2765 test_server_.host_port_pair().ToString(), | 2862 test_server_.host_port_pair().ToString(), &network_delegate); |
2766 &network_delegate); | |
2767 | 2863 |
2768 { | 2864 { |
2769 GURL original_url(test_server_.GetURL("empty.html")); | 2865 GURL original_url(test_server_.GetURL("empty.html")); |
2770 URLRequest r(original_url, &d, &context); | 2866 URLRequest r(original_url, DEFAULT_PRIORITY, &d, &context); |
2771 | 2867 |
2772 r.Start(); | 2868 r.Start(); |
2773 base::RunLoop().Run(); | 2869 base::RunLoop().Run(); |
2774 | 2870 |
2775 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 2871 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
2776 EXPECT_EQ(0, r.status().error()); | 2872 EXPECT_EQ(0, r.status().error()); |
2777 EXPECT_EQ(redirect_url, r.url()); | 2873 EXPECT_EQ(redirect_url, r.url()); |
2778 EXPECT_EQ(original_url, r.original_url()); | 2874 EXPECT_EQ(original_url, r.original_url()); |
2779 EXPECT_EQ(2U, r.url_chain().size()); | 2875 EXPECT_EQ(2U, r.url_chain().size()); |
2780 EXPECT_EQ(1, network_delegate.created_requests()); | 2876 EXPECT_EQ(1, network_delegate.created_requests()); |
2781 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 2877 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
2782 } | 2878 } |
2783 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 2879 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
2784 } | 2880 } |
2785 | 2881 |
2786 // Tests that the network delegate can block and redirect a request to a new | 2882 // Tests that the network delegate can block and redirect a request to a new |
2787 // URL by setting a redirect_url and returning in OnBeforeURLRequest directly. | 2883 // URL by setting a redirect_url and returning in OnBeforeURLRequest directly. |
2788 TEST_F(URLRequestTestHTTP, NetworkDelegateRedirectRequestSynchronously) { | 2884 TEST_F(URLRequestTestHTTP, NetworkDelegateRedirectRequestSynchronously) { |
2789 ASSERT_TRUE(test_server_.Start()); | 2885 ASSERT_TRUE(test_server_.Start()); |
2790 | 2886 |
2791 TestDelegate d; | 2887 TestDelegate d; |
2792 BlockingNetworkDelegate network_delegate( | 2888 BlockingNetworkDelegate network_delegate( |
2793 BlockingNetworkDelegate::SYNCHRONOUS); | 2889 BlockingNetworkDelegate::SYNCHRONOUS); |
2794 GURL redirect_url(test_server_.GetURL("simple.html")); | 2890 GURL redirect_url(test_server_.GetURL("simple.html")); |
2795 network_delegate.set_redirect_url(redirect_url); | 2891 network_delegate.set_redirect_url(redirect_url); |
2796 | 2892 |
2797 TestURLRequestContextWithProxy context( | 2893 TestURLRequestContextWithProxy context( |
2798 test_server_.host_port_pair().ToString(), | 2894 test_server_.host_port_pair().ToString(), &network_delegate); |
2799 &network_delegate); | |
2800 | 2895 |
2801 { | 2896 { |
2802 GURL original_url(test_server_.GetURL("empty.html")); | 2897 GURL original_url(test_server_.GetURL("empty.html")); |
2803 URLRequest r(original_url, &d, &context); | 2898 URLRequest r(original_url, DEFAULT_PRIORITY, &d, &context); |
2804 | 2899 |
2805 r.Start(); | 2900 r.Start(); |
2806 base::RunLoop().Run(); | 2901 base::RunLoop().Run(); |
2807 | 2902 |
2808 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 2903 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
2809 EXPECT_EQ(0, r.status().error()); | 2904 EXPECT_EQ(0, r.status().error()); |
2810 EXPECT_EQ(redirect_url, r.url()); | 2905 EXPECT_EQ(redirect_url, r.url()); |
2811 EXPECT_EQ(original_url, r.original_url()); | 2906 EXPECT_EQ(original_url, r.original_url()); |
2812 EXPECT_EQ(2U, r.url_chain().size()); | 2907 EXPECT_EQ(2U, r.url_chain().size()); |
2813 EXPECT_EQ(1, network_delegate.created_requests()); | 2908 EXPECT_EQ(1, network_delegate.created_requests()); |
(...skipping 14 matching lines...) Expand all Loading... |
2828 network_delegate.set_block_on(BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST); | 2923 network_delegate.set_block_on(BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST); |
2829 GURL redirect_url(test_server_.GetURL("echo")); | 2924 GURL redirect_url(test_server_.GetURL("echo")); |
2830 network_delegate.set_redirect_url(redirect_url); | 2925 network_delegate.set_redirect_url(redirect_url); |
2831 | 2926 |
2832 TestURLRequestContext context(true); | 2927 TestURLRequestContext context(true); |
2833 context.set_network_delegate(&network_delegate); | 2928 context.set_network_delegate(&network_delegate); |
2834 context.Init(); | 2929 context.Init(); |
2835 | 2930 |
2836 { | 2931 { |
2837 GURL original_url(test_server_.GetURL("empty.html")); | 2932 GURL original_url(test_server_.GetURL("empty.html")); |
2838 URLRequest r(original_url, &d, &context); | 2933 URLRequest r(original_url, DEFAULT_PRIORITY, &d, &context); |
2839 r.set_method("POST"); | 2934 r.set_method("POST"); |
2840 r.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); | 2935 r.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); |
2841 HttpRequestHeaders headers; | 2936 HttpRequestHeaders headers; |
2842 headers.SetHeader(HttpRequestHeaders::kContentLength, | 2937 headers.SetHeader(HttpRequestHeaders::kContentLength, |
2843 base::UintToString(arraysize(kData) - 1)); | 2938 base::UintToString(arraysize(kData) - 1)); |
2844 r.SetExtraRequestHeaders(headers); | 2939 r.SetExtraRequestHeaders(headers); |
2845 r.Start(); | 2940 r.Start(); |
2846 base::RunLoop().Run(); | 2941 base::RunLoop().Run(); |
2847 | 2942 |
2848 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 2943 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
(...skipping 21 matching lines...) Expand all Loading... |
2870 BlockingNetworkDelegate::SYNCHRONOUS); | 2965 BlockingNetworkDelegate::SYNCHRONOUS); |
2871 | 2966 |
2872 TestURLRequestContext context(true); | 2967 TestURLRequestContext context(true); |
2873 context.set_network_delegate(&network_delegate); | 2968 context.set_network_delegate(&network_delegate); |
2874 context.Init(); | 2969 context.Init(); |
2875 | 2970 |
2876 d.set_credentials(AuthCredentials(kUser, kSecret)); | 2971 d.set_credentials(AuthCredentials(kUser, kSecret)); |
2877 | 2972 |
2878 { | 2973 { |
2879 GURL url(test_server_.GetURL("auth-basic")); | 2974 GURL url(test_server_.GetURL("auth-basic")); |
2880 URLRequest r(url, &d, &context); | 2975 URLRequest r(url, DEFAULT_PRIORITY, &d, &context); |
2881 r.Start(); | 2976 r.Start(); |
2882 | 2977 |
2883 base::RunLoop().Run(); | 2978 base::RunLoop().Run(); |
2884 | 2979 |
2885 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 2980 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
2886 EXPECT_EQ(0, r.status().error()); | 2981 EXPECT_EQ(0, r.status().error()); |
2887 EXPECT_EQ(200, r.GetResponseCode()); | 2982 EXPECT_EQ(200, r.GetResponseCode()); |
2888 EXPECT_TRUE(d.auth_required_called()); | 2983 EXPECT_TRUE(d.auth_required_called()); |
2889 EXPECT_EQ(1, network_delegate.created_requests()); | 2984 EXPECT_EQ(1, network_delegate.created_requests()); |
2890 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 2985 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
(...skipping 10 matching lines...) Expand all Loading... |
2901 BlockingNetworkDelegate::SYNCHRONOUS); | 2996 BlockingNetworkDelegate::SYNCHRONOUS); |
2902 | 2997 |
2903 TestURLRequestContext context(true); | 2998 TestURLRequestContext context(true); |
2904 context.set_network_delegate(&network_delegate); | 2999 context.set_network_delegate(&network_delegate); |
2905 context.Init(); | 3000 context.Init(); |
2906 | 3001 |
2907 d.set_credentials(AuthCredentials(kUser, kSecret)); | 3002 d.set_credentials(AuthCredentials(kUser, kSecret)); |
2908 | 3003 |
2909 { | 3004 { |
2910 GURL url(test_server_.GetURL("auth-basic")); | 3005 GURL url(test_server_.GetURL("auth-basic")); |
2911 URLRequest r(url, &d, &context); | 3006 URLRequest r(url, DEFAULT_PRIORITY, &d, &context); |
2912 r.Start(); | 3007 r.Start(); |
2913 | 3008 |
2914 { | 3009 { |
2915 HttpRequestHeaders headers; | 3010 HttpRequestHeaders headers; |
2916 EXPECT_TRUE(r.GetFullRequestHeaders(&headers)); | 3011 EXPECT_TRUE(r.GetFullRequestHeaders(&headers)); |
2917 EXPECT_FALSE(headers.HasHeader("Authorization")); | 3012 EXPECT_FALSE(headers.HasHeader("Authorization")); |
2918 } | 3013 } |
2919 | 3014 |
2920 base::RunLoop().Run(); | 3015 base::RunLoop().Run(); |
2921 | 3016 |
(...skipping 20 matching lines...) Expand all Loading... |
2942 NetworkDelegate::AUTH_REQUIRED_RESPONSE_SET_AUTH); | 3037 NetworkDelegate::AUTH_REQUIRED_RESPONSE_SET_AUTH); |
2943 | 3038 |
2944 network_delegate.set_auth_credentials(AuthCredentials(kUser, kSecret)); | 3039 network_delegate.set_auth_credentials(AuthCredentials(kUser, kSecret)); |
2945 | 3040 |
2946 TestURLRequestContext context(true); | 3041 TestURLRequestContext context(true); |
2947 context.set_network_delegate(&network_delegate); | 3042 context.set_network_delegate(&network_delegate); |
2948 context.Init(); | 3043 context.Init(); |
2949 | 3044 |
2950 { | 3045 { |
2951 GURL url(test_server_.GetURL("auth-basic")); | 3046 GURL url(test_server_.GetURL("auth-basic")); |
2952 URLRequest r(url, &d, &context); | 3047 URLRequest r(url, DEFAULT_PRIORITY, &d, &context); |
2953 r.Start(); | 3048 r.Start(); |
2954 base::RunLoop().Run(); | 3049 base::RunLoop().Run(); |
2955 | 3050 |
2956 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 3051 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
2957 EXPECT_EQ(0, r.status().error()); | 3052 EXPECT_EQ(0, r.status().error()); |
2958 EXPECT_EQ(200, r.GetResponseCode()); | 3053 EXPECT_EQ(200, r.GetResponseCode()); |
2959 EXPECT_FALSE(d.auth_required_called()); | 3054 EXPECT_FALSE(d.auth_required_called()); |
2960 EXPECT_EQ(1, network_delegate.created_requests()); | 3055 EXPECT_EQ(1, network_delegate.created_requests()); |
2961 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 3056 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
2962 } | 3057 } |
(...skipping 14 matching lines...) Expand all Loading... |
2977 NetworkDelegate::AUTH_REQUIRED_RESPONSE_SET_AUTH); | 3072 NetworkDelegate::AUTH_REQUIRED_RESPONSE_SET_AUTH); |
2978 | 3073 |
2979 network_delegate.set_auth_credentials(AuthCredentials(kUser, kSecret)); | 3074 network_delegate.set_auth_credentials(AuthCredentials(kUser, kSecret)); |
2980 | 3075 |
2981 TestURLRequestContext context(true); | 3076 TestURLRequestContext context(true); |
2982 context.set_network_delegate(&network_delegate); | 3077 context.set_network_delegate(&network_delegate); |
2983 context.Init(); | 3078 context.Init(); |
2984 | 3079 |
2985 { | 3080 { |
2986 GURL url(test_server_.GetURL("auth-basic")); | 3081 GURL url(test_server_.GetURL("auth-basic")); |
2987 URLRequest r(url, &d, &context); | 3082 URLRequest r(url, DEFAULT_PRIORITY, &d, &context); |
2988 r.Start(); | 3083 r.Start(); |
2989 base::RunLoop().Run(); | 3084 base::RunLoop().Run(); |
2990 | 3085 |
2991 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 3086 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
2992 EXPECT_EQ(0, r.status().error()); | 3087 EXPECT_EQ(0, r.status().error()); |
2993 EXPECT_EQ(200, r.GetResponseCode()); | 3088 EXPECT_EQ(200, r.GetResponseCode()); |
2994 EXPECT_FALSE(d.auth_required_called()); | 3089 EXPECT_FALSE(d.auth_required_called()); |
2995 EXPECT_EQ(1, network_delegate.created_requests()); | 3090 EXPECT_EQ(1, network_delegate.created_requests()); |
2996 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 3091 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
2997 | 3092 |
(...skipping 17 matching lines...) Expand all Loading... |
3015 network_delegate.set_block_on(BlockingNetworkDelegate::ON_AUTH_REQUIRED); | 3110 network_delegate.set_block_on(BlockingNetworkDelegate::ON_AUTH_REQUIRED); |
3016 network_delegate.set_auth_retval( | 3111 network_delegate.set_auth_retval( |
3017 NetworkDelegate::AUTH_REQUIRED_RESPONSE_CANCEL_AUTH); | 3112 NetworkDelegate::AUTH_REQUIRED_RESPONSE_CANCEL_AUTH); |
3018 | 3113 |
3019 TestURLRequestContext context(true); | 3114 TestURLRequestContext context(true); |
3020 context.set_network_delegate(&network_delegate); | 3115 context.set_network_delegate(&network_delegate); |
3021 context.Init(); | 3116 context.Init(); |
3022 | 3117 |
3023 { | 3118 { |
3024 GURL url(test_server_.GetURL("auth-basic")); | 3119 GURL url(test_server_.GetURL("auth-basic")); |
3025 URLRequest r(url, &d, &context); | 3120 URLRequest r(url, DEFAULT_PRIORITY, &d, &context); |
3026 r.Start(); | 3121 r.Start(); |
3027 base::RunLoop().Run(); | 3122 base::RunLoop().Run(); |
3028 | 3123 |
3029 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 3124 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
3030 EXPECT_EQ(OK, r.status().error()); | 3125 EXPECT_EQ(OK, r.status().error()); |
3031 EXPECT_EQ(401, r.GetResponseCode()); | 3126 EXPECT_EQ(401, r.GetResponseCode()); |
3032 EXPECT_FALSE(d.auth_required_called()); | 3127 EXPECT_FALSE(d.auth_required_called()); |
3033 EXPECT_EQ(1, network_delegate.created_requests()); | 3128 EXPECT_EQ(1, network_delegate.created_requests()); |
3034 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 3129 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
3035 } | 3130 } |
(...skipping 13 matching lines...) Expand all Loading... |
3049 network_delegate.set_block_on(BlockingNetworkDelegate::ON_AUTH_REQUIRED); | 3144 network_delegate.set_block_on(BlockingNetworkDelegate::ON_AUTH_REQUIRED); |
3050 | 3145 |
3051 TestURLRequestContext context(true); | 3146 TestURLRequestContext context(true); |
3052 context.set_network_delegate(&network_delegate); | 3147 context.set_network_delegate(&network_delegate); |
3053 context.Init(); | 3148 context.Init(); |
3054 | 3149 |
3055 d.set_credentials(AuthCredentials(kUser, kSecret)); | 3150 d.set_credentials(AuthCredentials(kUser, kSecret)); |
3056 | 3151 |
3057 { | 3152 { |
3058 GURL url(test_server_.GetURL("auth-basic")); | 3153 GURL url(test_server_.GetURL("auth-basic")); |
3059 URLRequest r(url, &d, &context); | 3154 URLRequest r(url, DEFAULT_PRIORITY, &d, &context); |
3060 r.Start(); | 3155 r.Start(); |
3061 base::RunLoop().Run(); | 3156 base::RunLoop().Run(); |
3062 | 3157 |
3063 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 3158 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
3064 EXPECT_EQ(0, r.status().error()); | 3159 EXPECT_EQ(0, r.status().error()); |
3065 EXPECT_EQ(200, r.GetResponseCode()); | 3160 EXPECT_EQ(200, r.GetResponseCode()); |
3066 EXPECT_TRUE(d.auth_required_called()); | 3161 EXPECT_TRUE(d.auth_required_called()); |
3067 EXPECT_EQ(1, network_delegate.created_requests()); | 3162 EXPECT_EQ(1, network_delegate.created_requests()); |
3068 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 3163 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
3069 } | 3164 } |
(...skipping 14 matching lines...) Expand all Loading... |
3084 | 3179 |
3085 AuthCredentials auth_credentials(kUser, kSecret); | 3180 AuthCredentials auth_credentials(kUser, kSecret); |
3086 network_delegate.set_auth_credentials(auth_credentials); | 3181 network_delegate.set_auth_credentials(auth_credentials); |
3087 | 3182 |
3088 TestURLRequestContext context(true); | 3183 TestURLRequestContext context(true); |
3089 context.set_network_delegate(&network_delegate); | 3184 context.set_network_delegate(&network_delegate); |
3090 context.Init(); | 3185 context.Init(); |
3091 | 3186 |
3092 { | 3187 { |
3093 GURL url(test_server_.GetURL("auth-basic")); | 3188 GURL url(test_server_.GetURL("auth-basic")); |
3094 URLRequest r(url, &d, &context); | 3189 URLRequest r(url, DEFAULT_PRIORITY, &d, &context); |
3095 r.Start(); | 3190 r.Start(); |
3096 base::RunLoop().Run(); | 3191 base::RunLoop().Run(); |
3097 | 3192 |
3098 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 3193 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
3099 EXPECT_EQ(0, r.status().error()); | 3194 EXPECT_EQ(0, r.status().error()); |
3100 | 3195 |
3101 EXPECT_EQ(200, r.GetResponseCode()); | 3196 EXPECT_EQ(200, r.GetResponseCode()); |
3102 EXPECT_FALSE(d.auth_required_called()); | 3197 EXPECT_FALSE(d.auth_required_called()); |
3103 EXPECT_EQ(1, network_delegate.created_requests()); | 3198 EXPECT_EQ(1, network_delegate.created_requests()); |
3104 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 3199 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
(...skipping 12 matching lines...) Expand all Loading... |
3117 network_delegate.set_block_on(BlockingNetworkDelegate::ON_AUTH_REQUIRED); | 3212 network_delegate.set_block_on(BlockingNetworkDelegate::ON_AUTH_REQUIRED); |
3118 network_delegate.set_auth_retval( | 3213 network_delegate.set_auth_retval( |
3119 NetworkDelegate::AUTH_REQUIRED_RESPONSE_CANCEL_AUTH); | 3214 NetworkDelegate::AUTH_REQUIRED_RESPONSE_CANCEL_AUTH); |
3120 | 3215 |
3121 TestURLRequestContext context(true); | 3216 TestURLRequestContext context(true); |
3122 context.set_network_delegate(&network_delegate); | 3217 context.set_network_delegate(&network_delegate); |
3123 context.Init(); | 3218 context.Init(); |
3124 | 3219 |
3125 { | 3220 { |
3126 GURL url(test_server_.GetURL("auth-basic")); | 3221 GURL url(test_server_.GetURL("auth-basic")); |
3127 URLRequest r(url, &d, &context); | 3222 URLRequest r(url, DEFAULT_PRIORITY, &d, &context); |
3128 r.Start(); | 3223 r.Start(); |
3129 base::RunLoop().Run(); | 3224 base::RunLoop().Run(); |
3130 | 3225 |
3131 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 3226 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
3132 EXPECT_EQ(OK, r.status().error()); | 3227 EXPECT_EQ(OK, r.status().error()); |
3133 EXPECT_EQ(401, r.GetResponseCode()); | 3228 EXPECT_EQ(401, r.GetResponseCode()); |
3134 EXPECT_FALSE(d.auth_required_called()); | 3229 EXPECT_FALSE(d.auth_required_called()); |
3135 EXPECT_EQ(1, network_delegate.created_requests()); | 3230 EXPECT_EQ(1, network_delegate.created_requests()); |
3136 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 3231 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
3137 } | 3232 } |
3138 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 3233 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
3139 } | 3234 } |
3140 | 3235 |
3141 // Tests that we can handle when a network request was canceled while we were | 3236 // Tests that we can handle when a network request was canceled while we were |
3142 // waiting for the network delegate. | 3237 // waiting for the network delegate. |
3143 // Part 1: Request is cancelled while waiting for OnBeforeURLRequest callback. | 3238 // Part 1: Request is cancelled while waiting for OnBeforeURLRequest callback. |
3144 TEST_F(URLRequestTestHTTP, NetworkDelegateCancelWhileWaiting1) { | 3239 TEST_F(URLRequestTestHTTP, NetworkDelegateCancelWhileWaiting1) { |
3145 ASSERT_TRUE(test_server_.Start()); | 3240 ASSERT_TRUE(test_server_.Start()); |
3146 | 3241 |
3147 TestDelegate d; | 3242 TestDelegate d; |
3148 BlockingNetworkDelegate network_delegate( | 3243 BlockingNetworkDelegate network_delegate( |
3149 BlockingNetworkDelegate::USER_CALLBACK); | 3244 BlockingNetworkDelegate::USER_CALLBACK); |
3150 network_delegate.set_block_on(BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST); | 3245 network_delegate.set_block_on(BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST); |
3151 | 3246 |
3152 TestURLRequestContext context(true); | 3247 TestURLRequestContext context(true); |
3153 context.set_network_delegate(&network_delegate); | 3248 context.set_network_delegate(&network_delegate); |
3154 context.Init(); | 3249 context.Init(); |
3155 | 3250 |
3156 { | 3251 { |
3157 URLRequest r(test_server_.GetURL(std::string()), &d, &context); | 3252 URLRequest r( |
| 3253 test_server_.GetURL(std::string()), DEFAULT_PRIORITY, &d, &context); |
3158 | 3254 |
3159 r.Start(); | 3255 r.Start(); |
3160 base::RunLoop().Run(); | 3256 base::RunLoop().Run(); |
3161 EXPECT_EQ(BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST, | 3257 EXPECT_EQ(BlockingNetworkDelegate::ON_BEFORE_URL_REQUEST, |
3162 network_delegate.stage_blocked_for_callback()); | 3258 network_delegate.stage_blocked_for_callback()); |
3163 EXPECT_EQ(0, network_delegate.completed_requests()); | 3259 EXPECT_EQ(0, network_delegate.completed_requests()); |
3164 // Cancel before callback. | 3260 // Cancel before callback. |
3165 r.Cancel(); | 3261 r.Cancel(); |
3166 // Ensure that network delegate is notified. | 3262 // Ensure that network delegate is notified. |
3167 EXPECT_EQ(1, network_delegate.completed_requests()); | 3263 EXPECT_EQ(1, network_delegate.completed_requests()); |
(...skipping 15 matching lines...) Expand all Loading... |
3183 BlockingNetworkDelegate network_delegate( | 3279 BlockingNetworkDelegate network_delegate( |
3184 BlockingNetworkDelegate::USER_CALLBACK); | 3280 BlockingNetworkDelegate::USER_CALLBACK); |
3185 network_delegate.set_block_on( | 3281 network_delegate.set_block_on( |
3186 BlockingNetworkDelegate::ON_BEFORE_SEND_HEADERS); | 3282 BlockingNetworkDelegate::ON_BEFORE_SEND_HEADERS); |
3187 | 3283 |
3188 TestURLRequestContext context(true); | 3284 TestURLRequestContext context(true); |
3189 context.set_network_delegate(&network_delegate); | 3285 context.set_network_delegate(&network_delegate); |
3190 context.Init(); | 3286 context.Init(); |
3191 | 3287 |
3192 { | 3288 { |
3193 URLRequest r(test_server_.GetURL(std::string()), &d, &context); | 3289 URLRequest r( |
| 3290 test_server_.GetURL(std::string()), DEFAULT_PRIORITY, &d, &context); |
3194 | 3291 |
3195 r.Start(); | 3292 r.Start(); |
3196 base::RunLoop().Run(); | 3293 base::RunLoop().Run(); |
3197 EXPECT_EQ(BlockingNetworkDelegate::ON_BEFORE_SEND_HEADERS, | 3294 EXPECT_EQ(BlockingNetworkDelegate::ON_BEFORE_SEND_HEADERS, |
3198 network_delegate.stage_blocked_for_callback()); | 3295 network_delegate.stage_blocked_for_callback()); |
3199 EXPECT_EQ(0, network_delegate.completed_requests()); | 3296 EXPECT_EQ(0, network_delegate.completed_requests()); |
3200 // Cancel before callback. | 3297 // Cancel before callback. |
3201 r.Cancel(); | 3298 r.Cancel(); |
3202 // Ensure that network delegate is notified. | 3299 // Ensure that network delegate is notified. |
3203 EXPECT_EQ(1, network_delegate.completed_requests()); | 3300 EXPECT_EQ(1, network_delegate.completed_requests()); |
(...skipping 14 matching lines...) Expand all Loading... |
3218 TestDelegate d; | 3315 TestDelegate d; |
3219 BlockingNetworkDelegate network_delegate( | 3316 BlockingNetworkDelegate network_delegate( |
3220 BlockingNetworkDelegate::USER_CALLBACK); | 3317 BlockingNetworkDelegate::USER_CALLBACK); |
3221 network_delegate.set_block_on(BlockingNetworkDelegate::ON_HEADERS_RECEIVED); | 3318 network_delegate.set_block_on(BlockingNetworkDelegate::ON_HEADERS_RECEIVED); |
3222 | 3319 |
3223 TestURLRequestContext context(true); | 3320 TestURLRequestContext context(true); |
3224 context.set_network_delegate(&network_delegate); | 3321 context.set_network_delegate(&network_delegate); |
3225 context.Init(); | 3322 context.Init(); |
3226 | 3323 |
3227 { | 3324 { |
3228 URLRequest r(test_server_.GetURL(std::string()), &d, &context); | 3325 URLRequest r( |
| 3326 test_server_.GetURL(std::string()), DEFAULT_PRIORITY, &d, &context); |
3229 | 3327 |
3230 r.Start(); | 3328 r.Start(); |
3231 base::RunLoop().Run(); | 3329 base::RunLoop().Run(); |
3232 EXPECT_EQ(BlockingNetworkDelegate::ON_HEADERS_RECEIVED, | 3330 EXPECT_EQ(BlockingNetworkDelegate::ON_HEADERS_RECEIVED, |
3233 network_delegate.stage_blocked_for_callback()); | 3331 network_delegate.stage_blocked_for_callback()); |
3234 EXPECT_EQ(0, network_delegate.completed_requests()); | 3332 EXPECT_EQ(0, network_delegate.completed_requests()); |
3235 // Cancel before callback. | 3333 // Cancel before callback. |
3236 r.Cancel(); | 3334 r.Cancel(); |
3237 // Ensure that network delegate is notified. | 3335 // Ensure that network delegate is notified. |
3238 EXPECT_EQ(1, network_delegate.completed_requests()); | 3336 EXPECT_EQ(1, network_delegate.completed_requests()); |
(...skipping 14 matching lines...) Expand all Loading... |
3253 TestDelegate d; | 3351 TestDelegate d; |
3254 BlockingNetworkDelegate network_delegate( | 3352 BlockingNetworkDelegate network_delegate( |
3255 BlockingNetworkDelegate::USER_CALLBACK); | 3353 BlockingNetworkDelegate::USER_CALLBACK); |
3256 network_delegate.set_block_on(BlockingNetworkDelegate::ON_AUTH_REQUIRED); | 3354 network_delegate.set_block_on(BlockingNetworkDelegate::ON_AUTH_REQUIRED); |
3257 | 3355 |
3258 TestURLRequestContext context(true); | 3356 TestURLRequestContext context(true); |
3259 context.set_network_delegate(&network_delegate); | 3357 context.set_network_delegate(&network_delegate); |
3260 context.Init(); | 3358 context.Init(); |
3261 | 3359 |
3262 { | 3360 { |
3263 URLRequest r(test_server_.GetURL("auth-basic"), &d, &context); | 3361 URLRequest r( |
| 3362 test_server_.GetURL("auth-basic"), DEFAULT_PRIORITY, &d, &context); |
3264 | 3363 |
3265 r.Start(); | 3364 r.Start(); |
3266 base::RunLoop().Run(); | 3365 base::RunLoop().Run(); |
3267 EXPECT_EQ(BlockingNetworkDelegate::ON_AUTH_REQUIRED, | 3366 EXPECT_EQ(BlockingNetworkDelegate::ON_AUTH_REQUIRED, |
3268 network_delegate.stage_blocked_for_callback()); | 3367 network_delegate.stage_blocked_for_callback()); |
3269 EXPECT_EQ(0, network_delegate.completed_requests()); | 3368 EXPECT_EQ(0, network_delegate.completed_requests()); |
3270 // Cancel before callback. | 3369 // Cancel before callback. |
3271 r.Cancel(); | 3370 r.Cancel(); |
3272 // Ensure that network delegate is notified. | 3371 // Ensure that network delegate is notified. |
3273 EXPECT_EQ(1, network_delegate.completed_requests()); | 3372 EXPECT_EQ(1, network_delegate.completed_requests()); |
3274 EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status()); | 3373 EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status()); |
3275 EXPECT_EQ(ERR_ABORTED, r.status().error()); | 3374 EXPECT_EQ(ERR_ABORTED, r.status().error()); |
3276 EXPECT_EQ(1, network_delegate.created_requests()); | 3375 EXPECT_EQ(1, network_delegate.created_requests()); |
3277 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 3376 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
3278 } | 3377 } |
3279 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 3378 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
3280 } | 3379 } |
3281 | 3380 |
3282 // In this unit test, we're using the HTTPTestServer as a proxy server and | 3381 // In this unit test, we're using the HTTPTestServer as a proxy server and |
3283 // issuing a CONNECT request with the magic host name "www.server-auth.com". | 3382 // issuing a CONNECT request with the magic host name "www.server-auth.com". |
3284 // The HTTPTestServer will return a 401 response, which we should balk at. | 3383 // The HTTPTestServer will return a 401 response, which we should balk at. |
3285 TEST_F(URLRequestTestHTTP, UnexpectedServerAuthTest) { | 3384 TEST_F(URLRequestTestHTTP, UnexpectedServerAuthTest) { |
3286 ASSERT_TRUE(test_server_.Start()); | 3385 ASSERT_TRUE(test_server_.Start()); |
3287 | 3386 |
3288 TestNetworkDelegate network_delegate; // Must outlive URLRequest. | 3387 TestNetworkDelegate network_delegate; // Must outlive URLRequest. |
3289 TestURLRequestContextWithProxy context( | 3388 TestURLRequestContextWithProxy context( |
3290 test_server_.host_port_pair().ToString(), | 3389 test_server_.host_port_pair().ToString(), &network_delegate); |
3291 &network_delegate); | |
3292 | 3390 |
3293 TestDelegate d; | 3391 TestDelegate d; |
3294 { | 3392 { |
3295 URLRequest r(GURL("https://www.server-auth.com/"), &d, &context); | 3393 URLRequest r( |
| 3394 GURL("https://www.server-auth.com/"), DEFAULT_PRIORITY, &d, &context); |
3296 | 3395 |
3297 r.Start(); | 3396 r.Start(); |
3298 EXPECT_TRUE(r.is_pending()); | 3397 EXPECT_TRUE(r.is_pending()); |
3299 | 3398 |
3300 base::RunLoop().Run(); | 3399 base::RunLoop().Run(); |
3301 | 3400 |
3302 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); | 3401 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); |
3303 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, r.status().error()); | 3402 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, r.status().error()); |
3304 } | 3403 } |
3305 } | 3404 } |
3306 | 3405 |
3307 TEST_F(URLRequestTestHTTP, GetTest_NoCache) { | 3406 TEST_F(URLRequestTestHTTP, GetTest_NoCache) { |
3308 ASSERT_TRUE(test_server_.Start()); | 3407 ASSERT_TRUE(test_server_.Start()); |
3309 | 3408 |
3310 TestDelegate d; | 3409 TestDelegate d; |
3311 { | 3410 { |
3312 URLRequest r(test_server_.GetURL(std::string()), &d, &default_context_); | 3411 URLRequest r(test_server_.GetURL(std::string()), |
| 3412 DEFAULT_PRIORITY, |
| 3413 &d, |
| 3414 &default_context_); |
3313 | 3415 |
3314 r.Start(); | 3416 r.Start(); |
3315 EXPECT_TRUE(r.is_pending()); | 3417 EXPECT_TRUE(r.is_pending()); |
3316 | 3418 |
3317 base::RunLoop().Run(); | 3419 base::RunLoop().Run(); |
3318 | 3420 |
3319 EXPECT_EQ(1, d.response_started_count()); | 3421 EXPECT_EQ(1, d.response_started_count()); |
3320 EXPECT_FALSE(d.received_data_before_response()); | 3422 EXPECT_FALSE(d.received_data_before_response()); |
3321 EXPECT_NE(0, d.bytes_received()); | 3423 EXPECT_NE(0, d.bytes_received()); |
3322 EXPECT_EQ(test_server_.host_port_pair().host(), | 3424 EXPECT_EQ(test_server_.host_port_pair().host(), |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3368 upper_bound = num_cookies; | 3470 upper_bound = num_cookies; |
3369 } | 3471 } |
3370 // Success: the test did not crash. | 3472 // Success: the test did not crash. |
3371 } | 3473 } |
3372 | 3474 |
3373 TEST_F(URLRequestTestHTTP, GetTest) { | 3475 TEST_F(URLRequestTestHTTP, GetTest) { |
3374 ASSERT_TRUE(test_server_.Start()); | 3476 ASSERT_TRUE(test_server_.Start()); |
3375 | 3477 |
3376 TestDelegate d; | 3478 TestDelegate d; |
3377 { | 3479 { |
3378 URLRequest r(test_server_.GetURL(std::string()), &d, &default_context_); | 3480 URLRequest r(test_server_.GetURL(std::string()), |
| 3481 DEFAULT_PRIORITY, |
| 3482 &d, |
| 3483 &default_context_); |
3379 | 3484 |
3380 r.Start(); | 3485 r.Start(); |
3381 EXPECT_TRUE(r.is_pending()); | 3486 EXPECT_TRUE(r.is_pending()); |
3382 | 3487 |
3383 base::RunLoop().Run(); | 3488 base::RunLoop().Run(); |
3384 | 3489 |
3385 EXPECT_EQ(1, d.response_started_count()); | 3490 EXPECT_EQ(1, d.response_started_count()); |
3386 EXPECT_FALSE(d.received_data_before_response()); | 3491 EXPECT_FALSE(d.received_data_before_response()); |
3387 EXPECT_NE(0, d.bytes_received()); | 3492 EXPECT_NE(0, d.bytes_received()); |
3388 EXPECT_EQ(test_server_.host_port_pair().host(), | 3493 EXPECT_EQ(test_server_.host_port_pair().host(), |
3389 r.GetSocketAddress().host()); | 3494 r.GetSocketAddress().host()); |
3390 EXPECT_EQ(test_server_.host_port_pair().port(), | 3495 EXPECT_EQ(test_server_.host_port_pair().port(), |
3391 r.GetSocketAddress().port()); | 3496 r.GetSocketAddress().port()); |
3392 } | 3497 } |
3393 } | 3498 } |
3394 | 3499 |
3395 TEST_F(URLRequestTestHTTP, GetTest_GetFullRequestHeaders) { | 3500 TEST_F(URLRequestTestHTTP, GetTest_GetFullRequestHeaders) { |
3396 ASSERT_TRUE(test_server_.Start()); | 3501 ASSERT_TRUE(test_server_.Start()); |
3397 | 3502 |
3398 TestDelegate d; | 3503 TestDelegate d; |
3399 { | 3504 { |
3400 GURL test_url(test_server_.GetURL(std::string())); | 3505 GURL test_url(test_server_.GetURL(std::string())); |
3401 URLRequest r(test_url, &d, &default_context_); | 3506 URLRequest r(test_url, DEFAULT_PRIORITY, &d, &default_context_); |
3402 | 3507 |
3403 HttpRequestHeaders headers; | 3508 HttpRequestHeaders headers; |
3404 EXPECT_FALSE(r.GetFullRequestHeaders(&headers)); | 3509 EXPECT_FALSE(r.GetFullRequestHeaders(&headers)); |
3405 | 3510 |
3406 r.Start(); | 3511 r.Start(); |
3407 EXPECT_TRUE(r.is_pending()); | 3512 EXPECT_TRUE(r.is_pending()); |
3408 | 3513 |
3409 base::RunLoop().Run(); | 3514 base::RunLoop().Run(); |
3410 | 3515 |
3411 EXPECT_EQ(1, d.response_started_count()); | 3516 EXPECT_EQ(1, d.response_started_count()); |
3412 EXPECT_FALSE(d.received_data_before_response()); | 3517 EXPECT_FALSE(d.received_data_before_response()); |
3413 EXPECT_NE(0, d.bytes_received()); | 3518 EXPECT_NE(0, d.bytes_received()); |
3414 EXPECT_EQ(test_server_.host_port_pair().host(), | 3519 EXPECT_EQ(test_server_.host_port_pair().host(), |
3415 r.GetSocketAddress().host()); | 3520 r.GetSocketAddress().host()); |
3416 EXPECT_EQ(test_server_.host_port_pair().port(), | 3521 EXPECT_EQ(test_server_.host_port_pair().port(), |
3417 r.GetSocketAddress().port()); | 3522 r.GetSocketAddress().port()); |
3418 | 3523 |
3419 EXPECT_TRUE(d.have_full_request_headers()); | 3524 EXPECT_TRUE(d.have_full_request_headers()); |
3420 CheckFullRequestHeaders(d.full_request_headers(), test_url); | 3525 CheckFullRequestHeaders(d.full_request_headers(), test_url); |
3421 } | 3526 } |
3422 } | 3527 } |
3423 | 3528 |
3424 TEST_F(URLRequestTestHTTP, GetTestLoadTiming) { | 3529 TEST_F(URLRequestTestHTTP, GetTestLoadTiming) { |
3425 ASSERT_TRUE(test_server_.Start()); | 3530 ASSERT_TRUE(test_server_.Start()); |
3426 | 3531 |
3427 TestDelegate d; | 3532 TestDelegate d; |
3428 { | 3533 { |
3429 URLRequest r(test_server_.GetURL(std::string()), &d, &default_context_); | 3534 URLRequest r(test_server_.GetURL(std::string()), |
| 3535 DEFAULT_PRIORITY, |
| 3536 &d, |
| 3537 &default_context_); |
3430 | 3538 |
3431 r.Start(); | 3539 r.Start(); |
3432 EXPECT_TRUE(r.is_pending()); | 3540 EXPECT_TRUE(r.is_pending()); |
3433 | 3541 |
3434 base::RunLoop().Run(); | 3542 base::RunLoop().Run(); |
3435 | 3543 |
3436 LoadTimingInfo load_timing_info; | 3544 LoadTimingInfo load_timing_info; |
3437 r.GetLoadTimingInfo(&load_timing_info); | 3545 r.GetLoadTimingInfo(&load_timing_info); |
3438 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_DNS_TIMES); | 3546 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_DNS_TIMES); |
3439 | 3547 |
(...skipping 29 matching lines...) Expand all Loading... |
3469 { | 3577 { |
3470 std::string test_file = | 3578 std::string test_file = |
3471 base::StringPrintf("compressedfiles/BullRunSpeech.txt?%c", | 3579 base::StringPrintf("compressedfiles/BullRunSpeech.txt?%c", |
3472 test_parameters[i]); | 3580 test_parameters[i]); |
3473 | 3581 |
3474 TestNetworkDelegate network_delegate; // Must outlive URLRequest. | 3582 TestNetworkDelegate network_delegate; // Must outlive URLRequest. |
3475 TestURLRequestContext context(true); | 3583 TestURLRequestContext context(true); |
3476 context.set_network_delegate(&network_delegate); | 3584 context.set_network_delegate(&network_delegate); |
3477 context.Init(); | 3585 context.Init(); |
3478 | 3586 |
3479 URLRequest r(test_server_.GetURL(test_file), &d, &context); | 3587 URLRequest r( |
| 3588 test_server_.GetURL(test_file), DEFAULT_PRIORITY, &d, &context); |
3480 r.Start(); | 3589 r.Start(); |
3481 EXPECT_TRUE(r.is_pending()); | 3590 EXPECT_TRUE(r.is_pending()); |
3482 | 3591 |
3483 base::RunLoop().Run(); | 3592 base::RunLoop().Run(); |
3484 | 3593 |
3485 EXPECT_EQ(1, d.response_started_count()); | 3594 EXPECT_EQ(1, d.response_started_count()); |
3486 EXPECT_FALSE(d.received_data_before_response()); | 3595 EXPECT_FALSE(d.received_data_before_response()); |
3487 VLOG(1) << " Received " << d.bytes_received() << " bytes" | 3596 VLOG(1) << " Received " << d.bytes_received() << " bytes" |
3488 << " status = " << r.status().status() | 3597 << " status = " << r.status().status() |
3489 << " error = " << r.status().error(); | 3598 << " error = " << r.status().error(); |
(...skipping 15 matching lines...) Expand all Loading... |
3505 SpawnedTestServer https_test_server( | 3614 SpawnedTestServer https_test_server( |
3506 SpawnedTestServer::TYPE_HTTPS, SpawnedTestServer::kLocalhost, | 3615 SpawnedTestServer::TYPE_HTTPS, SpawnedTestServer::kLocalhost, |
3507 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 3616 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
3508 ASSERT_TRUE(https_test_server.Start()); | 3617 ASSERT_TRUE(https_test_server.Start()); |
3509 | 3618 |
3510 // An https server is sent a request with an https referer, | 3619 // An https server is sent a request with an https referer, |
3511 // and responds with a redirect to an http url. The http | 3620 // and responds with a redirect to an http url. The http |
3512 // server should not be sent the referer. | 3621 // server should not be sent the referer. |
3513 GURL http_destination = test_server_.GetURL(std::string()); | 3622 GURL http_destination = test_server_.GetURL(std::string()); |
3514 TestDelegate d; | 3623 TestDelegate d; |
3515 URLRequest req(https_test_server.GetURL( | 3624 URLRequest req( |
3516 "server-redirect?" + http_destination.spec()), &d, &default_context_); | 3625 https_test_server.GetURL("server-redirect?" + http_destination.spec()), |
| 3626 DEFAULT_PRIORITY, |
| 3627 &d, |
| 3628 &default_context_); |
3517 req.SetReferrer("https://www.referrer.com/"); | 3629 req.SetReferrer("https://www.referrer.com/"); |
3518 req.Start(); | 3630 req.Start(); |
3519 base::RunLoop().Run(); | 3631 base::RunLoop().Run(); |
3520 | 3632 |
3521 EXPECT_EQ(1, d.response_started_count()); | 3633 EXPECT_EQ(1, d.response_started_count()); |
3522 EXPECT_EQ(1, d.received_redirect_count()); | 3634 EXPECT_EQ(1, d.received_redirect_count()); |
3523 EXPECT_EQ(http_destination, req.url()); | 3635 EXPECT_EQ(http_destination, req.url()); |
3524 EXPECT_EQ(std::string(), req.referrer()); | 3636 EXPECT_EQ(std::string(), req.referrer()); |
3525 } | 3637 } |
3526 | 3638 |
3527 TEST_F(URLRequestTestHTTP, RedirectLoadTiming) { | 3639 TEST_F(URLRequestTestHTTP, RedirectLoadTiming) { |
3528 ASSERT_TRUE(test_server_.Start()); | 3640 ASSERT_TRUE(test_server_.Start()); |
3529 | 3641 |
3530 GURL destination_url = test_server_.GetURL(std::string()); | 3642 GURL destination_url = test_server_.GetURL(std::string()); |
3531 GURL original_url = | 3643 GURL original_url = |
3532 test_server_.GetURL("server-redirect?" + destination_url.spec()); | 3644 test_server_.GetURL("server-redirect?" + destination_url.spec()); |
3533 TestDelegate d; | 3645 TestDelegate d; |
3534 URLRequest req(original_url, &d, &default_context_); | 3646 URLRequest req(original_url, DEFAULT_PRIORITY, &d, &default_context_); |
3535 req.Start(); | 3647 req.Start(); |
3536 base::RunLoop().Run(); | 3648 base::RunLoop().Run(); |
3537 | 3649 |
3538 EXPECT_EQ(1, d.response_started_count()); | 3650 EXPECT_EQ(1, d.response_started_count()); |
3539 EXPECT_EQ(1, d.received_redirect_count()); | 3651 EXPECT_EQ(1, d.received_redirect_count()); |
3540 EXPECT_EQ(destination_url, req.url()); | 3652 EXPECT_EQ(destination_url, req.url()); |
3541 EXPECT_EQ(original_url, req.original_url()); | 3653 EXPECT_EQ(original_url, req.original_url()); |
3542 ASSERT_EQ(2U, req.url_chain().size()); | 3654 ASSERT_EQ(2U, req.url_chain().size()); |
3543 EXPECT_EQ(original_url, req.url_chain()[0]); | 3655 EXPECT_EQ(original_url, req.url_chain()[0]); |
3544 EXPECT_EQ(destination_url, req.url_chain()[1]); | 3656 EXPECT_EQ(destination_url, req.url_chain()[1]); |
(...skipping 19 matching lines...) Expand all Loading... |
3564 | 3676 |
3565 TEST_F(URLRequestTestHTTP, MultipleRedirectTest) { | 3677 TEST_F(URLRequestTestHTTP, MultipleRedirectTest) { |
3566 ASSERT_TRUE(test_server_.Start()); | 3678 ASSERT_TRUE(test_server_.Start()); |
3567 | 3679 |
3568 GURL destination_url = test_server_.GetURL(std::string()); | 3680 GURL destination_url = test_server_.GetURL(std::string()); |
3569 GURL middle_redirect_url = | 3681 GURL middle_redirect_url = |
3570 test_server_.GetURL("server-redirect?" + destination_url.spec()); | 3682 test_server_.GetURL("server-redirect?" + destination_url.spec()); |
3571 GURL original_url = test_server_.GetURL( | 3683 GURL original_url = test_server_.GetURL( |
3572 "server-redirect?" + middle_redirect_url.spec()); | 3684 "server-redirect?" + middle_redirect_url.spec()); |
3573 TestDelegate d; | 3685 TestDelegate d; |
3574 URLRequest req(original_url, &d, &default_context_); | 3686 URLRequest req(original_url, DEFAULT_PRIORITY, &d, &default_context_); |
3575 req.Start(); | 3687 req.Start(); |
3576 base::RunLoop().Run(); | 3688 base::RunLoop().Run(); |
3577 | 3689 |
3578 EXPECT_EQ(1, d.response_started_count()); | 3690 EXPECT_EQ(1, d.response_started_count()); |
3579 EXPECT_EQ(2, d.received_redirect_count()); | 3691 EXPECT_EQ(2, d.received_redirect_count()); |
3580 EXPECT_EQ(destination_url, req.url()); | 3692 EXPECT_EQ(destination_url, req.url()); |
3581 EXPECT_EQ(original_url, req.original_url()); | 3693 EXPECT_EQ(original_url, req.original_url()); |
3582 ASSERT_EQ(3U, req.url_chain().size()); | 3694 ASSERT_EQ(3U, req.url_chain().size()); |
3583 EXPECT_EQ(original_url, req.url_chain()[0]); | 3695 EXPECT_EQ(original_url, req.url_chain()[0]); |
3584 EXPECT_EQ(middle_redirect_url, req.url_chain()[1]); | 3696 EXPECT_EQ(middle_redirect_url, req.url_chain()[1]); |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3880 ASSERT_TRUE(test_server_.Start()); | 3992 ASSERT_TRUE(test_server_.Start()); |
3881 | 3993 |
3882 TestDelegate request_delegate; | 3994 TestDelegate request_delegate; |
3883 TestURLRequestContext context(true); | 3995 TestURLRequestContext context(true); |
3884 context.set_network_delegate(NULL); | 3996 context.set_network_delegate(NULL); |
3885 context.set_net_log(&net_log_); | 3997 context.set_net_log(&net_log_); |
3886 context.Init(); | 3998 context.Init(); |
3887 | 3999 |
3888 { | 4000 { |
3889 URLRequest r(test_server_.GetURL("empty.html"), | 4001 URLRequest r(test_server_.GetURL("empty.html"), |
3890 &request_delegate, &context); | 4002 DEFAULT_PRIORITY, |
| 4003 &request_delegate, |
| 4004 &context); |
3891 LoadStateWithParam load_state = r.GetLoadState(); | 4005 LoadStateWithParam load_state = r.GetLoadState(); |
3892 EXPECT_EQ(LOAD_STATE_IDLE, load_state.state); | 4006 EXPECT_EQ(LOAD_STATE_IDLE, load_state.state); |
3893 EXPECT_EQ(string16(), load_state.param); | 4007 EXPECT_EQ(string16(), load_state.param); |
3894 | 4008 |
3895 AsyncDelegateLogger::Run( | 4009 AsyncDelegateLogger::Run( |
3896 &r, | 4010 &r, |
3897 LOAD_STATE_WAITING_FOR_DELEGATE, | 4011 LOAD_STATE_WAITING_FOR_DELEGATE, |
3898 LOAD_STATE_WAITING_FOR_DELEGATE, | 4012 LOAD_STATE_WAITING_FOR_DELEGATE, |
3899 LOAD_STATE_IDLE, | 4013 LOAD_STATE_IDLE, |
3900 base::Bind(&URLRequest::Start, base::Unretained(&r))); | 4014 base::Bind(&URLRequest::Start, base::Unretained(&r))); |
(...skipping 25 matching lines...) Expand all Loading... |
3926 | 4040 |
3927 TestDelegate request_delegate; | 4041 TestDelegate request_delegate; |
3928 AsyncLoggingNetworkDelegate network_delegate; | 4042 AsyncLoggingNetworkDelegate network_delegate; |
3929 TestURLRequestContext context(true); | 4043 TestURLRequestContext context(true); |
3930 context.set_network_delegate(&network_delegate); | 4044 context.set_network_delegate(&network_delegate); |
3931 context.set_net_log(&net_log_); | 4045 context.set_net_log(&net_log_); |
3932 context.Init(); | 4046 context.Init(); |
3933 | 4047 |
3934 { | 4048 { |
3935 URLRequest r(test_server_.GetURL("simple.html"), | 4049 URLRequest r(test_server_.GetURL("simple.html"), |
3936 &request_delegate, &context); | 4050 DEFAULT_PRIORITY, |
| 4051 &request_delegate, |
| 4052 &context); |
3937 LoadStateWithParam load_state = r.GetLoadState(); | 4053 LoadStateWithParam load_state = r.GetLoadState(); |
3938 EXPECT_EQ(LOAD_STATE_IDLE, load_state.state); | 4054 EXPECT_EQ(LOAD_STATE_IDLE, load_state.state); |
3939 EXPECT_EQ(string16(), load_state.param); | 4055 EXPECT_EQ(string16(), load_state.param); |
3940 | 4056 |
3941 r.Start(); | 4057 r.Start(); |
3942 base::RunLoop().Run(); | 4058 base::RunLoop().Run(); |
3943 | 4059 |
3944 EXPECT_EQ(200, r.GetResponseCode()); | 4060 EXPECT_EQ(200, r.GetResponseCode()); |
3945 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 4061 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
3946 EXPECT_EQ(1, network_delegate.created_requests()); | 4062 EXPECT_EQ(1, network_delegate.created_requests()); |
(...skipping 30 matching lines...) Expand all Loading... |
3977 | 4093 |
3978 TestDelegate request_delegate; | 4094 TestDelegate request_delegate; |
3979 AsyncLoggingNetworkDelegate network_delegate; | 4095 AsyncLoggingNetworkDelegate network_delegate; |
3980 TestURLRequestContext context(true); | 4096 TestURLRequestContext context(true); |
3981 context.set_network_delegate(&network_delegate); | 4097 context.set_network_delegate(&network_delegate); |
3982 context.set_net_log(&net_log_); | 4098 context.set_net_log(&net_log_); |
3983 context.Init(); | 4099 context.Init(); |
3984 | 4100 |
3985 { | 4101 { |
3986 URLRequest r(test_server_.GetURL("server-redirect?simple.html"), | 4102 URLRequest r(test_server_.GetURL("server-redirect?simple.html"), |
3987 &request_delegate, &context); | 4103 DEFAULT_PRIORITY, |
| 4104 &request_delegate, |
| 4105 &context); |
3988 LoadStateWithParam load_state = r.GetLoadState(); | 4106 LoadStateWithParam load_state = r.GetLoadState(); |
3989 EXPECT_EQ(LOAD_STATE_IDLE, load_state.state); | 4107 EXPECT_EQ(LOAD_STATE_IDLE, load_state.state); |
3990 EXPECT_EQ(string16(), load_state.param); | 4108 EXPECT_EQ(string16(), load_state.param); |
3991 | 4109 |
3992 r.Start(); | 4110 r.Start(); |
3993 base::RunLoop().Run(); | 4111 base::RunLoop().Run(); |
3994 | 4112 |
3995 EXPECT_EQ(200, r.GetResponseCode()); | 4113 EXPECT_EQ(200, r.GetResponseCode()); |
3996 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 4114 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
3997 EXPECT_EQ(2, network_delegate.created_requests()); | 4115 EXPECT_EQ(2, network_delegate.created_requests()); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4053 | 4171 |
4054 TestDelegate request_delegate; | 4172 TestDelegate request_delegate; |
4055 AsyncLoggingNetworkDelegate network_delegate; | 4173 AsyncLoggingNetworkDelegate network_delegate; |
4056 TestURLRequestContext context(true); | 4174 TestURLRequestContext context(true); |
4057 context.set_network_delegate(&network_delegate); | 4175 context.set_network_delegate(&network_delegate); |
4058 context.set_net_log(&net_log_); | 4176 context.set_net_log(&net_log_); |
4059 context.Init(); | 4177 context.Init(); |
4060 | 4178 |
4061 { | 4179 { |
4062 URLRequest r(test_server_.GetURL("auth-basic"), | 4180 URLRequest r(test_server_.GetURL("auth-basic"), |
4063 &request_delegate, &context); | 4181 DEFAULT_PRIORITY, |
| 4182 &request_delegate, |
| 4183 &context); |
4064 LoadStateWithParam load_state = r.GetLoadState(); | 4184 LoadStateWithParam load_state = r.GetLoadState(); |
4065 EXPECT_EQ(LOAD_STATE_IDLE, load_state.state); | 4185 EXPECT_EQ(LOAD_STATE_IDLE, load_state.state); |
4066 EXPECT_EQ(string16(), load_state.param); | 4186 EXPECT_EQ(string16(), load_state.param); |
4067 | 4187 |
4068 r.Start(); | 4188 r.Start(); |
4069 base::RunLoop().Run(); | 4189 base::RunLoop().Run(); |
4070 | 4190 |
4071 EXPECT_EQ(200, r.GetResponseCode()); | 4191 EXPECT_EQ(200, r.GetResponseCode()); |
4072 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 4192 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
4073 EXPECT_EQ(1, network_delegate.created_requests()); | 4193 EXPECT_EQ(1, network_delegate.created_requests()); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4111 context.set_net_log(&net_log_); | 4231 context.set_net_log(&net_log_); |
4112 context.Init(); | 4232 context.Init(); |
4113 | 4233 |
4114 { | 4234 { |
4115 // A chunked response with delays between chunks is used to make sure that | 4235 // A chunked response with delays between chunks is used to make sure that |
4116 // attempts by the URLRequest delegate to log information while reading the | 4236 // attempts by the URLRequest delegate to log information while reading the |
4117 // body are ignored. Since they are ignored, this test is robust against | 4237 // body are ignored. Since they are ignored, this test is robust against |
4118 // the possability of multiple reads being combined in the unlikely event | 4238 // the possability of multiple reads being combined in the unlikely event |
4119 // that it occurs. | 4239 // that it occurs. |
4120 URLRequest r(test_server_.GetURL("chunked?waitBetweenChunks=20"), | 4240 URLRequest r(test_server_.GetURL("chunked?waitBetweenChunks=20"), |
4121 &request_delegate, &context); | 4241 DEFAULT_PRIORITY, |
| 4242 &request_delegate, |
| 4243 &context); |
4122 LoadStateWithParam load_state = r.GetLoadState(); | 4244 LoadStateWithParam load_state = r.GetLoadState(); |
4123 r.Start(); | 4245 r.Start(); |
4124 base::RunLoop().Run(); | 4246 base::RunLoop().Run(); |
4125 | 4247 |
4126 EXPECT_EQ(200, r.GetResponseCode()); | 4248 EXPECT_EQ(200, r.GetResponseCode()); |
4127 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 4249 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
4128 } | 4250 } |
4129 | 4251 |
4130 CapturingNetLog::CapturedEntryList entries; | 4252 CapturingNetLog::CapturedEntryList entries; |
4131 net_log_.GetEntries(&entries); | 4253 net_log_.GetEntries(&entries); |
(...skipping 27 matching lines...) Expand all Loading... |
4159 | 4281 |
4160 AsyncLoggingUrlRequestDelegate request_delegate( | 4282 AsyncLoggingUrlRequestDelegate request_delegate( |
4161 AsyncLoggingUrlRequestDelegate::NO_CANCEL); | 4283 AsyncLoggingUrlRequestDelegate::NO_CANCEL); |
4162 TestURLRequestContext context(true); | 4284 TestURLRequestContext context(true); |
4163 context.set_network_delegate(NULL); | 4285 context.set_network_delegate(NULL); |
4164 context.set_net_log(&net_log_); | 4286 context.set_net_log(&net_log_); |
4165 context.Init(); | 4287 context.Init(); |
4166 | 4288 |
4167 { | 4289 { |
4168 URLRequest r(test_server_.GetURL("server-redirect?simple.html"), | 4290 URLRequest r(test_server_.GetURL("server-redirect?simple.html"), |
4169 &request_delegate, &context); | 4291 DEFAULT_PRIORITY, |
| 4292 &request_delegate, |
| 4293 &context); |
4170 LoadStateWithParam load_state = r.GetLoadState(); | 4294 LoadStateWithParam load_state = r.GetLoadState(); |
4171 r.Start(); | 4295 r.Start(); |
4172 base::RunLoop().Run(); | 4296 base::RunLoop().Run(); |
4173 | 4297 |
4174 EXPECT_EQ(200, r.GetResponseCode()); | 4298 EXPECT_EQ(200, r.GetResponseCode()); |
4175 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 4299 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
4176 } | 4300 } |
4177 | 4301 |
4178 CapturingNetLog::CapturedEntryList entries; | 4302 CapturingNetLog::CapturedEntryList entries; |
4179 net_log_.GetEntries(&entries); | 4303 net_log_.GetEntries(&entries); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4217 ++test_case) { | 4341 ++test_case) { |
4218 AsyncLoggingUrlRequestDelegate request_delegate(kCancelStages[test_case]); | 4342 AsyncLoggingUrlRequestDelegate request_delegate(kCancelStages[test_case]); |
4219 TestURLRequestContext context(true); | 4343 TestURLRequestContext context(true); |
4220 CapturingNetLog net_log; | 4344 CapturingNetLog net_log; |
4221 context.set_network_delegate(NULL); | 4345 context.set_network_delegate(NULL); |
4222 context.set_net_log(&net_log); | 4346 context.set_net_log(&net_log); |
4223 context.Init(); | 4347 context.Init(); |
4224 | 4348 |
4225 { | 4349 { |
4226 URLRequest r(test_server_.GetURL("server-redirect?simple.html"), | 4350 URLRequest r(test_server_.GetURL("server-redirect?simple.html"), |
4227 &request_delegate, &context); | 4351 DEFAULT_PRIORITY, |
| 4352 &request_delegate, |
| 4353 &context); |
4228 LoadStateWithParam load_state = r.GetLoadState(); | 4354 LoadStateWithParam load_state = r.GetLoadState(); |
4229 r.Start(); | 4355 r.Start(); |
4230 base::RunLoop().Run(); | 4356 base::RunLoop().Run(); |
4231 EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status()); | 4357 EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status()); |
4232 } | 4358 } |
4233 | 4359 |
4234 CapturingNetLog::CapturedEntryList entries; | 4360 CapturingNetLog::CapturedEntryList entries; |
4235 net_log.GetEntries(&entries); | 4361 net_log.GetEntries(&entries); |
4236 | 4362 |
4237 // Delegate info is always logged in both OnReceivedRedirect and | 4363 // Delegate info is always logged in both OnReceivedRedirect and |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4278 } // namespace | 4404 } // namespace |
4279 | 4405 |
4280 TEST_F(URLRequestTestHTTP, RedirectWithAdditionalHeadersTest) { | 4406 TEST_F(URLRequestTestHTTP, RedirectWithAdditionalHeadersTest) { |
4281 ASSERT_TRUE(test_server_.Start()); | 4407 ASSERT_TRUE(test_server_.Start()); |
4282 | 4408 |
4283 GURL destination_url = test_server_.GetURL( | 4409 GURL destination_url = test_server_.GetURL( |
4284 "echoheader?" + std::string(kExtraHeader)); | 4410 "echoheader?" + std::string(kExtraHeader)); |
4285 GURL original_url = test_server_.GetURL( | 4411 GURL original_url = test_server_.GetURL( |
4286 "server-redirect?" + destination_url.spec()); | 4412 "server-redirect?" + destination_url.spec()); |
4287 RedirectWithAdditionalHeadersDelegate d; | 4413 RedirectWithAdditionalHeadersDelegate d; |
4288 URLRequest req(original_url, &d, &default_context_); | 4414 URLRequest req(original_url, DEFAULT_PRIORITY, &d, &default_context_); |
4289 req.Start(); | 4415 req.Start(); |
4290 base::RunLoop().Run(); | 4416 base::RunLoop().Run(); |
4291 | 4417 |
4292 std::string value; | 4418 std::string value; |
4293 const HttpRequestHeaders& headers = req.extra_request_headers(); | 4419 const HttpRequestHeaders& headers = req.extra_request_headers(); |
4294 EXPECT_TRUE(headers.GetHeader(kExtraHeader, &value)); | 4420 EXPECT_TRUE(headers.GetHeader(kExtraHeader, &value)); |
4295 EXPECT_EQ(kExtraValue, value); | 4421 EXPECT_EQ(kExtraValue, value); |
4296 EXPECT_FALSE(req.is_pending()); | 4422 EXPECT_FALSE(req.is_pending()); |
4297 EXPECT_FALSE(req.is_redirecting()); | 4423 EXPECT_FALSE(req.is_redirecting()); |
4298 EXPECT_EQ(kExtraValue, d.data_received()); | 4424 EXPECT_EQ(kExtraValue, d.data_received()); |
(...skipping 15 matching lines...) Expand all Loading... |
4314 } // namespace | 4440 } // namespace |
4315 | 4441 |
4316 TEST_F(URLRequestTestHTTP, RedirectWithHeaderRemovalTest) { | 4442 TEST_F(URLRequestTestHTTP, RedirectWithHeaderRemovalTest) { |
4317 ASSERT_TRUE(test_server_.Start()); | 4443 ASSERT_TRUE(test_server_.Start()); |
4318 | 4444 |
4319 GURL destination_url = test_server_.GetURL( | 4445 GURL destination_url = test_server_.GetURL( |
4320 "echoheader?" + std::string(kExtraHeaderToRemove)); | 4446 "echoheader?" + std::string(kExtraHeaderToRemove)); |
4321 GURL original_url = test_server_.GetURL( | 4447 GURL original_url = test_server_.GetURL( |
4322 "server-redirect?" + destination_url.spec()); | 4448 "server-redirect?" + destination_url.spec()); |
4323 RedirectWithHeaderRemovalDelegate d; | 4449 RedirectWithHeaderRemovalDelegate d; |
4324 URLRequest req(original_url, &d, &default_context_); | 4450 URLRequest req(original_url, DEFAULT_PRIORITY, &d, &default_context_); |
4325 req.SetExtraRequestHeaderByName(kExtraHeaderToRemove, "dummy", false); | 4451 req.SetExtraRequestHeaderByName(kExtraHeaderToRemove, "dummy", false); |
4326 req.Start(); | 4452 req.Start(); |
4327 base::RunLoop().Run(); | 4453 base::RunLoop().Run(); |
4328 | 4454 |
4329 std::string value; | 4455 std::string value; |
4330 const HttpRequestHeaders& headers = req.extra_request_headers(); | 4456 const HttpRequestHeaders& headers = req.extra_request_headers(); |
4331 EXPECT_FALSE(headers.GetHeader(kExtraHeaderToRemove, &value)); | 4457 EXPECT_FALSE(headers.GetHeader(kExtraHeaderToRemove, &value)); |
4332 EXPECT_FALSE(req.is_pending()); | 4458 EXPECT_FALSE(req.is_pending()); |
4333 EXPECT_FALSE(req.is_redirecting()); | 4459 EXPECT_FALSE(req.is_redirecting()); |
4334 EXPECT_EQ("None", d.data_received()); | 4460 EXPECT_EQ("None", d.data_received()); |
4335 } | 4461 } |
4336 | 4462 |
4337 TEST_F(URLRequestTestHTTP, CancelTest) { | 4463 TEST_F(URLRequestTestHTTP, CancelTest) { |
4338 TestDelegate d; | 4464 TestDelegate d; |
4339 { | 4465 { |
4340 URLRequest r(GURL("http://www.google.com/"), &d, &default_context_); | 4466 URLRequest r(GURL("http://www.google.com/"), |
| 4467 DEFAULT_PRIORITY, |
| 4468 &d, |
| 4469 &default_context_); |
4341 | 4470 |
4342 r.Start(); | 4471 r.Start(); |
4343 EXPECT_TRUE(r.is_pending()); | 4472 EXPECT_TRUE(r.is_pending()); |
4344 | 4473 |
4345 r.Cancel(); | 4474 r.Cancel(); |
4346 | 4475 |
4347 base::RunLoop().Run(); | 4476 base::RunLoop().Run(); |
4348 | 4477 |
4349 // We expect to receive OnResponseStarted even though the request has been | 4478 // We expect to receive OnResponseStarted even though the request has been |
4350 // cancelled. | 4479 // cancelled. |
4351 EXPECT_EQ(1, d.response_started_count()); | 4480 EXPECT_EQ(1, d.response_started_count()); |
4352 EXPECT_EQ(0, d.bytes_received()); | 4481 EXPECT_EQ(0, d.bytes_received()); |
4353 EXPECT_FALSE(d.received_data_before_response()); | 4482 EXPECT_FALSE(d.received_data_before_response()); |
4354 } | 4483 } |
4355 } | 4484 } |
4356 | 4485 |
4357 TEST_F(URLRequestTestHTTP, CancelTest2) { | 4486 TEST_F(URLRequestTestHTTP, CancelTest2) { |
4358 ASSERT_TRUE(test_server_.Start()); | 4487 ASSERT_TRUE(test_server_.Start()); |
4359 | 4488 |
4360 TestDelegate d; | 4489 TestDelegate d; |
4361 { | 4490 { |
4362 URLRequest r(test_server_.GetURL(std::string()), &d, &default_context_); | 4491 URLRequest r(test_server_.GetURL(std::string()), |
| 4492 DEFAULT_PRIORITY, |
| 4493 &d, |
| 4494 &default_context_); |
4363 | 4495 |
4364 d.set_cancel_in_response_started(true); | 4496 d.set_cancel_in_response_started(true); |
4365 | 4497 |
4366 r.Start(); | 4498 r.Start(); |
4367 EXPECT_TRUE(r.is_pending()); | 4499 EXPECT_TRUE(r.is_pending()); |
4368 | 4500 |
4369 base::RunLoop().Run(); | 4501 base::RunLoop().Run(); |
4370 | 4502 |
4371 EXPECT_EQ(1, d.response_started_count()); | 4503 EXPECT_EQ(1, d.response_started_count()); |
4372 EXPECT_EQ(0, d.bytes_received()); | 4504 EXPECT_EQ(0, d.bytes_received()); |
4373 EXPECT_FALSE(d.received_data_before_response()); | 4505 EXPECT_FALSE(d.received_data_before_response()); |
4374 EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status()); | 4506 EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status()); |
4375 } | 4507 } |
4376 } | 4508 } |
4377 | 4509 |
4378 TEST_F(URLRequestTestHTTP, CancelTest3) { | 4510 TEST_F(URLRequestTestHTTP, CancelTest3) { |
4379 ASSERT_TRUE(test_server_.Start()); | 4511 ASSERT_TRUE(test_server_.Start()); |
4380 | 4512 |
4381 TestDelegate d; | 4513 TestDelegate d; |
4382 { | 4514 { |
4383 URLRequest r(test_server_.GetURL(std::string()), &d, &default_context_); | 4515 URLRequest r(test_server_.GetURL(std::string()), |
| 4516 DEFAULT_PRIORITY, |
| 4517 &d, |
| 4518 &default_context_); |
4384 | 4519 |
4385 d.set_cancel_in_received_data(true); | 4520 d.set_cancel_in_received_data(true); |
4386 | 4521 |
4387 r.Start(); | 4522 r.Start(); |
4388 EXPECT_TRUE(r.is_pending()); | 4523 EXPECT_TRUE(r.is_pending()); |
4389 | 4524 |
4390 base::RunLoop().Run(); | 4525 base::RunLoop().Run(); |
4391 | 4526 |
4392 EXPECT_EQ(1, d.response_started_count()); | 4527 EXPECT_EQ(1, d.response_started_count()); |
4393 // There is no guarantee about how much data was received | 4528 // There is no guarantee about how much data was received |
4394 // before the cancel was issued. It could have been 0 bytes, | 4529 // before the cancel was issued. It could have been 0 bytes, |
4395 // or it could have been all the bytes. | 4530 // or it could have been all the bytes. |
4396 // EXPECT_EQ(0, d.bytes_received()); | 4531 // EXPECT_EQ(0, d.bytes_received()); |
4397 EXPECT_FALSE(d.received_data_before_response()); | 4532 EXPECT_FALSE(d.received_data_before_response()); |
4398 EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status()); | 4533 EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status()); |
4399 } | 4534 } |
4400 } | 4535 } |
4401 | 4536 |
4402 TEST_F(URLRequestTestHTTP, CancelTest4) { | 4537 TEST_F(URLRequestTestHTTP, CancelTest4) { |
4403 ASSERT_TRUE(test_server_.Start()); | 4538 ASSERT_TRUE(test_server_.Start()); |
4404 | 4539 |
4405 TestDelegate d; | 4540 TestDelegate d; |
4406 { | 4541 { |
4407 URLRequest r(test_server_.GetURL(std::string()), &d, &default_context_); | 4542 URLRequest r(test_server_.GetURL(std::string()), |
| 4543 DEFAULT_PRIORITY, |
| 4544 &d, |
| 4545 &default_context_); |
4408 | 4546 |
4409 r.Start(); | 4547 r.Start(); |
4410 EXPECT_TRUE(r.is_pending()); | 4548 EXPECT_TRUE(r.is_pending()); |
4411 | 4549 |
4412 // The request will be implicitly canceled when it is destroyed. The | 4550 // The request will be implicitly canceled when it is destroyed. The |
4413 // test delegate must not post a quit message when this happens because | 4551 // test delegate must not post a quit message when this happens because |
4414 // this test doesn't actually have a message loop. The quit message would | 4552 // this test doesn't actually have a message loop. The quit message would |
4415 // get put on this thread's message queue and the next test would exit | 4553 // get put on this thread's message queue and the next test would exit |
4416 // early, causing problems. | 4554 // early, causing problems. |
4417 d.set_quit_on_complete(false); | 4555 d.set_quit_on_complete(false); |
4418 } | 4556 } |
4419 // expect things to just cleanup properly. | 4557 // expect things to just cleanup properly. |
4420 | 4558 |
4421 // we won't actually get a received reponse here because we've never run the | 4559 // we won't actually get a received reponse here because we've never run the |
4422 // message loop | 4560 // message loop |
4423 EXPECT_FALSE(d.received_data_before_response()); | 4561 EXPECT_FALSE(d.received_data_before_response()); |
4424 EXPECT_EQ(0, d.bytes_received()); | 4562 EXPECT_EQ(0, d.bytes_received()); |
4425 } | 4563 } |
4426 | 4564 |
4427 TEST_F(URLRequestTestHTTP, CancelTest5) { | 4565 TEST_F(URLRequestTestHTTP, CancelTest5) { |
4428 ASSERT_TRUE(test_server_.Start()); | 4566 ASSERT_TRUE(test_server_.Start()); |
4429 | 4567 |
4430 // populate cache | 4568 // populate cache |
4431 { | 4569 { |
4432 TestDelegate d; | 4570 TestDelegate d; |
4433 URLRequest r(test_server_.GetURL("cachetime"), &d, &default_context_); | 4571 URLRequest r(test_server_.GetURL("cachetime"), |
| 4572 DEFAULT_PRIORITY, |
| 4573 &d, |
| 4574 &default_context_); |
4434 r.Start(); | 4575 r.Start(); |
4435 base::RunLoop().Run(); | 4576 base::RunLoop().Run(); |
4436 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); | 4577 EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
4437 } | 4578 } |
4438 | 4579 |
4439 // cancel read from cache (see bug 990242) | 4580 // cancel read from cache (see bug 990242) |
4440 { | 4581 { |
4441 TestDelegate d; | 4582 TestDelegate d; |
4442 URLRequest r(test_server_.GetURL("cachetime"), &d, &default_context_); | 4583 URLRequest r(test_server_.GetURL("cachetime"), |
| 4584 DEFAULT_PRIORITY, |
| 4585 &d, |
| 4586 &default_context_); |
4443 r.Start(); | 4587 r.Start(); |
4444 r.Cancel(); | 4588 r.Cancel(); |
4445 base::RunLoop().Run(); | 4589 base::RunLoop().Run(); |
4446 | 4590 |
4447 EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status()); | 4591 EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status()); |
4448 EXPECT_EQ(1, d.response_started_count()); | 4592 EXPECT_EQ(1, d.response_started_count()); |
4449 EXPECT_EQ(0, d.bytes_received()); | 4593 EXPECT_EQ(0, d.bytes_received()); |
4450 EXPECT_FALSE(d.received_data_before_response()); | 4594 EXPECT_FALSE(d.received_data_before_response()); |
4451 } | 4595 } |
4452 } | 4596 } |
4453 | 4597 |
4454 TEST_F(URLRequestTestHTTP, PostTest) { | 4598 TEST_F(URLRequestTestHTTP, PostTest) { |
4455 ASSERT_TRUE(test_server_.Start()); | 4599 ASSERT_TRUE(test_server_.Start()); |
4456 HTTPUploadDataOperationTest("POST"); | 4600 HTTPUploadDataOperationTest("POST"); |
4457 } | 4601 } |
4458 | 4602 |
4459 TEST_F(URLRequestTestHTTP, PutTest) { | 4603 TEST_F(URLRequestTestHTTP, PutTest) { |
4460 ASSERT_TRUE(test_server_.Start()); | 4604 ASSERT_TRUE(test_server_.Start()); |
4461 HTTPUploadDataOperationTest("PUT"); | 4605 HTTPUploadDataOperationTest("PUT"); |
4462 } | 4606 } |
4463 | 4607 |
4464 TEST_F(URLRequestTestHTTP, PostEmptyTest) { | 4608 TEST_F(URLRequestTestHTTP, PostEmptyTest) { |
4465 ASSERT_TRUE(test_server_.Start()); | 4609 ASSERT_TRUE(test_server_.Start()); |
4466 | 4610 |
4467 TestDelegate d; | 4611 TestDelegate d; |
4468 { | 4612 { |
4469 URLRequest r(test_server_.GetURL("echo"), &d, &default_context_); | 4613 URLRequest r( |
| 4614 test_server_.GetURL("echo"), DEFAULT_PRIORITY, &d, &default_context_); |
4470 r.set_method("POST"); | 4615 r.set_method("POST"); |
4471 | 4616 |
4472 r.Start(); | 4617 r.Start(); |
4473 EXPECT_TRUE(r.is_pending()); | 4618 EXPECT_TRUE(r.is_pending()); |
4474 | 4619 |
4475 base::RunLoop().Run(); | 4620 base::RunLoop().Run(); |
4476 | 4621 |
4477 ASSERT_EQ(1, d.response_started_count()) | 4622 ASSERT_EQ(1, d.response_started_count()) |
4478 << "request failed: " << r.status().status() | 4623 << "request failed: " << r.status().status() |
4479 << ", error: " << r.status().error(); | 4624 << ", error: " << r.status().error(); |
4480 | 4625 |
4481 EXPECT_FALSE(d.received_data_before_response()); | 4626 EXPECT_FALSE(d.received_data_before_response()); |
4482 EXPECT_TRUE(d.data_received().empty()); | 4627 EXPECT_TRUE(d.data_received().empty()); |
4483 } | 4628 } |
4484 } | 4629 } |
4485 | 4630 |
4486 TEST_F(URLRequestTestHTTP, PostFileTest) { | 4631 TEST_F(URLRequestTestHTTP, PostFileTest) { |
4487 ASSERT_TRUE(test_server_.Start()); | 4632 ASSERT_TRUE(test_server_.Start()); |
4488 | 4633 |
4489 TestDelegate d; | 4634 TestDelegate d; |
4490 { | 4635 { |
4491 URLRequest r(test_server_.GetURL("echo"), &d, &default_context_); | 4636 URLRequest r( |
| 4637 test_server_.GetURL("echo"), DEFAULT_PRIORITY, &d, &default_context_); |
4492 r.set_method("POST"); | 4638 r.set_method("POST"); |
4493 | 4639 |
4494 base::FilePath dir; | 4640 base::FilePath dir; |
4495 PathService::Get(base::DIR_EXE, &dir); | 4641 PathService::Get(base::DIR_EXE, &dir); |
4496 file_util::SetCurrentDirectory(dir); | 4642 file_util::SetCurrentDirectory(dir); |
4497 | 4643 |
4498 ScopedVector<UploadElementReader> element_readers; | 4644 ScopedVector<UploadElementReader> element_readers; |
4499 | 4645 |
4500 base::FilePath path; | 4646 base::FilePath path; |
4501 PathService::Get(base::DIR_SOURCE_ROOT, &path); | 4647 PathService::Get(base::DIR_SOURCE_ROOT, &path); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4541 EXPECT_EQ(size, d.bytes_received()); | 4687 EXPECT_EQ(size, d.bytes_received()); |
4542 EXPECT_EQ(std::string(&buf[0], size), d.data_received()); | 4688 EXPECT_EQ(std::string(&buf[0], size), d.data_received()); |
4543 } | 4689 } |
4544 } | 4690 } |
4545 | 4691 |
4546 TEST_F(URLRequestTestHTTP, TestPostChunkedDataBeforeStart) { | 4692 TEST_F(URLRequestTestHTTP, TestPostChunkedDataBeforeStart) { |
4547 ASSERT_TRUE(test_server_.Start()); | 4693 ASSERT_TRUE(test_server_.Start()); |
4548 | 4694 |
4549 TestDelegate d; | 4695 TestDelegate d; |
4550 { | 4696 { |
4551 URLRequest r(test_server_.GetURL("echo"), &d, &default_context_); | 4697 URLRequest r( |
| 4698 test_server_.GetURL("echo"), DEFAULT_PRIORITY, &d, &default_context_); |
4552 r.EnableChunkedUpload(); | 4699 r.EnableChunkedUpload(); |
4553 r.set_method("POST"); | 4700 r.set_method("POST"); |
4554 AddChunksToUpload(&r); | 4701 AddChunksToUpload(&r); |
4555 r.Start(); | 4702 r.Start(); |
4556 EXPECT_TRUE(r.is_pending()); | 4703 EXPECT_TRUE(r.is_pending()); |
4557 | 4704 |
4558 base::RunLoop().Run(); | 4705 base::RunLoop().Run(); |
4559 | 4706 |
4560 VerifyReceivedDataMatchesChunks(&r, &d); | 4707 VerifyReceivedDataMatchesChunks(&r, &d); |
4561 } | 4708 } |
4562 } | 4709 } |
4563 | 4710 |
4564 TEST_F(URLRequestTestHTTP, TestPostChunkedDataJustAfterStart) { | 4711 TEST_F(URLRequestTestHTTP, TestPostChunkedDataJustAfterStart) { |
4565 ASSERT_TRUE(test_server_.Start()); | 4712 ASSERT_TRUE(test_server_.Start()); |
4566 | 4713 |
4567 TestDelegate d; | 4714 TestDelegate d; |
4568 { | 4715 { |
4569 URLRequest r(test_server_.GetURL("echo"), &d, &default_context_); | 4716 URLRequest r( |
| 4717 test_server_.GetURL("echo"), DEFAULT_PRIORITY, &d, &default_context_); |
4570 r.EnableChunkedUpload(); | 4718 r.EnableChunkedUpload(); |
4571 r.set_method("POST"); | 4719 r.set_method("POST"); |
4572 r.Start(); | 4720 r.Start(); |
4573 EXPECT_TRUE(r.is_pending()); | 4721 EXPECT_TRUE(r.is_pending()); |
4574 AddChunksToUpload(&r); | 4722 AddChunksToUpload(&r); |
4575 base::RunLoop().Run(); | 4723 base::RunLoop().Run(); |
4576 | 4724 |
4577 VerifyReceivedDataMatchesChunks(&r, &d); | 4725 VerifyReceivedDataMatchesChunks(&r, &d); |
4578 } | 4726 } |
4579 } | 4727 } |
4580 | 4728 |
4581 TEST_F(URLRequestTestHTTP, TestPostChunkedDataAfterStart) { | 4729 TEST_F(URLRequestTestHTTP, TestPostChunkedDataAfterStart) { |
4582 ASSERT_TRUE(test_server_.Start()); | 4730 ASSERT_TRUE(test_server_.Start()); |
4583 | 4731 |
4584 TestDelegate d; | 4732 TestDelegate d; |
4585 { | 4733 { |
4586 URLRequest r(test_server_.GetURL("echo"), &d, &default_context_); | 4734 URLRequest r( |
| 4735 test_server_.GetURL("echo"), DEFAULT_PRIORITY, &d, &default_context_); |
4587 r.EnableChunkedUpload(); | 4736 r.EnableChunkedUpload(); |
4588 r.set_method("POST"); | 4737 r.set_method("POST"); |
4589 r.Start(); | 4738 r.Start(); |
4590 EXPECT_TRUE(r.is_pending()); | 4739 EXPECT_TRUE(r.is_pending()); |
4591 | 4740 |
4592 base::RunLoop().RunUntilIdle(); | 4741 base::RunLoop().RunUntilIdle(); |
4593 AddChunksToUpload(&r); | 4742 AddChunksToUpload(&r); |
4594 base::RunLoop().Run(); | 4743 base::RunLoop().Run(); |
4595 | 4744 |
4596 VerifyReceivedDataMatchesChunks(&r, &d); | 4745 VerifyReceivedDataMatchesChunks(&r, &d); |
4597 } | 4746 } |
4598 } | 4747 } |
4599 | 4748 |
4600 TEST_F(URLRequestTestHTTP, ResponseHeadersTest) { | 4749 TEST_F(URLRequestTestHTTP, ResponseHeadersTest) { |
4601 ASSERT_TRUE(test_server_.Start()); | 4750 ASSERT_TRUE(test_server_.Start()); |
4602 | 4751 |
4603 TestDelegate d; | 4752 TestDelegate d; |
4604 URLRequest req( | 4753 URLRequest req(test_server_.GetURL("files/with-headers.html"), |
4605 test_server_.GetURL("files/with-headers.html"), &d, &default_context_); | 4754 DEFAULT_PRIORITY, |
| 4755 &d, |
| 4756 &default_context_); |
4606 req.Start(); | 4757 req.Start(); |
4607 base::RunLoop().Run(); | 4758 base::RunLoop().Run(); |
4608 | 4759 |
4609 const HttpResponseHeaders* headers = req.response_headers(); | 4760 const HttpResponseHeaders* headers = req.response_headers(); |
4610 | 4761 |
4611 // Simple sanity check that response_info() accesses the same data. | 4762 // Simple sanity check that response_info() accesses the same data. |
4612 EXPECT_EQ(headers, req.response_info().headers.get()); | 4763 EXPECT_EQ(headers, req.response_info().headers.get()); |
4613 | 4764 |
4614 std::string header; | 4765 std::string header; |
4615 EXPECT_TRUE(headers->GetNormalizedHeader("cache-control", &header)); | 4766 EXPECT_TRUE(headers->GetNormalizedHeader("cache-control", &header)); |
(...skipping 12 matching lines...) Expand all Loading... |
4628 | 4779 |
4629 TEST_F(URLRequestTestHTTP, ProcessSTS) { | 4780 TEST_F(URLRequestTestHTTP, ProcessSTS) { |
4630 SpawnedTestServer::SSLOptions ssl_options; | 4781 SpawnedTestServer::SSLOptions ssl_options; |
4631 SpawnedTestServer https_test_server( | 4782 SpawnedTestServer https_test_server( |
4632 SpawnedTestServer::TYPE_HTTPS, | 4783 SpawnedTestServer::TYPE_HTTPS, |
4633 ssl_options, | 4784 ssl_options, |
4634 base::FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))); | 4785 base::FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))); |
4635 ASSERT_TRUE(https_test_server.Start()); | 4786 ASSERT_TRUE(https_test_server.Start()); |
4636 | 4787 |
4637 TestDelegate d; | 4788 TestDelegate d; |
4638 URLRequest request( | 4789 URLRequest request(https_test_server.GetURL("files/hsts-headers.html"), |
4639 https_test_server.GetURL("files/hsts-headers.html"), | 4790 DEFAULT_PRIORITY, |
4640 &d, | 4791 &d, |
4641 &default_context_); | 4792 &default_context_); |
4642 request.Start(); | 4793 request.Start(); |
4643 base::RunLoop().Run(); | 4794 base::RunLoop().Run(); |
4644 | 4795 |
4645 TransportSecurityState* security_state = | 4796 TransportSecurityState* security_state = |
4646 default_context_.transport_security_state(); | 4797 default_context_.transport_security_state(); |
4647 bool sni_available = true; | 4798 bool sni_available = true; |
4648 TransportSecurityState::DomainState domain_state; | 4799 TransportSecurityState::DomainState domain_state; |
4649 EXPECT_TRUE(security_state->GetDomainState( | 4800 EXPECT_TRUE(security_state->GetDomainState( |
4650 SpawnedTestServer::kLocalhost, sni_available, &domain_state)); | 4801 SpawnedTestServer::kLocalhost, sni_available, &domain_state)); |
4651 EXPECT_EQ(TransportSecurityState::DomainState::MODE_FORCE_HTTPS, | 4802 EXPECT_EQ(TransportSecurityState::DomainState::MODE_FORCE_HTTPS, |
(...skipping 20 matching lines...) Expand all Loading... |
4672 // validity/expiration. | 4823 // validity/expiration. |
4673 TEST_F(URLRequestTestHTTP, MAYBE_ProcessPKP) { | 4824 TEST_F(URLRequestTestHTTP, MAYBE_ProcessPKP) { |
4674 SpawnedTestServer::SSLOptions ssl_options; | 4825 SpawnedTestServer::SSLOptions ssl_options; |
4675 SpawnedTestServer https_test_server( | 4826 SpawnedTestServer https_test_server( |
4676 SpawnedTestServer::TYPE_HTTPS, | 4827 SpawnedTestServer::TYPE_HTTPS, |
4677 ssl_options, | 4828 ssl_options, |
4678 base::FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))); | 4829 base::FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))); |
4679 ASSERT_TRUE(https_test_server.Start()); | 4830 ASSERT_TRUE(https_test_server.Start()); |
4680 | 4831 |
4681 TestDelegate d; | 4832 TestDelegate d; |
4682 URLRequest request( | 4833 URLRequest request(https_test_server.GetURL("files/hpkp-headers.html"), |
4683 https_test_server.GetURL("files/hpkp-headers.html"), | 4834 DEFAULT_PRIORITY, |
4684 &d, | 4835 &d, |
4685 &default_context_); | 4836 &default_context_); |
4686 request.Start(); | 4837 request.Start(); |
4687 base::RunLoop().Run(); | 4838 base::RunLoop().Run(); |
4688 | 4839 |
4689 TransportSecurityState* security_state = | 4840 TransportSecurityState* security_state = |
4690 default_context_.transport_security_state(); | 4841 default_context_.transport_security_state(); |
4691 bool sni_available = true; | 4842 bool sni_available = true; |
4692 TransportSecurityState::DomainState domain_state; | 4843 TransportSecurityState::DomainState domain_state; |
4693 EXPECT_TRUE(security_state->GetDomainState( | 4844 EXPECT_TRUE(security_state->GetDomainState( |
4694 SpawnedTestServer::kLocalhost, sni_available, &domain_state)); | 4845 SpawnedTestServer::kLocalhost, sni_available, &domain_state)); |
4695 EXPECT_EQ(TransportSecurityState::DomainState::MODE_DEFAULT, | 4846 EXPECT_EQ(TransportSecurityState::DomainState::MODE_DEFAULT, |
4696 domain_state.upgrade_mode); | 4847 domain_state.upgrade_mode); |
4697 EXPECT_FALSE(domain_state.sts_include_subdomains); | 4848 EXPECT_FALSE(domain_state.sts_include_subdomains); |
4698 EXPECT_FALSE(domain_state.pkp_include_subdomains); | 4849 EXPECT_FALSE(domain_state.pkp_include_subdomains); |
4699 EXPECT_TRUE(domain_state.HasPublicKeyPins()); | 4850 EXPECT_TRUE(domain_state.HasPublicKeyPins()); |
4700 EXPECT_NE(domain_state.upgrade_expiry, | 4851 EXPECT_NE(domain_state.upgrade_expiry, |
4701 domain_state.dynamic_spki_hashes_expiry); | 4852 domain_state.dynamic_spki_hashes_expiry); |
4702 } | 4853 } |
4703 | 4854 |
4704 TEST_F(URLRequestTestHTTP, ProcessSTSOnce) { | 4855 TEST_F(URLRequestTestHTTP, ProcessSTSOnce) { |
4705 SpawnedTestServer::SSLOptions ssl_options; | 4856 SpawnedTestServer::SSLOptions ssl_options; |
4706 SpawnedTestServer https_test_server( | 4857 SpawnedTestServer https_test_server( |
4707 SpawnedTestServer::TYPE_HTTPS, | 4858 SpawnedTestServer::TYPE_HTTPS, |
4708 ssl_options, | 4859 ssl_options, |
4709 base::FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))); | 4860 base::FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))); |
4710 ASSERT_TRUE(https_test_server.Start()); | 4861 ASSERT_TRUE(https_test_server.Start()); |
4711 | 4862 |
4712 TestDelegate d; | 4863 TestDelegate d; |
4713 URLRequest request( | 4864 URLRequest request( |
4714 https_test_server.GetURL("files/hsts-multiple-headers.html"), | 4865 https_test_server.GetURL("files/hsts-multiple-headers.html"), |
| 4866 DEFAULT_PRIORITY, |
4715 &d, | 4867 &d, |
4716 &default_context_); | 4868 &default_context_); |
4717 request.Start(); | 4869 request.Start(); |
4718 base::RunLoop().Run(); | 4870 base::RunLoop().Run(); |
4719 | 4871 |
4720 // We should have set parameters from the first header, not the second. | 4872 // We should have set parameters from the first header, not the second. |
4721 TransportSecurityState* security_state = | 4873 TransportSecurityState* security_state = |
4722 default_context_.transport_security_state(); | 4874 default_context_.transport_security_state(); |
4723 bool sni_available = true; | 4875 bool sni_available = true; |
4724 TransportSecurityState::DomainState domain_state; | 4876 TransportSecurityState::DomainState domain_state; |
4725 EXPECT_TRUE(security_state->GetDomainState( | 4877 EXPECT_TRUE(security_state->GetDomainState( |
4726 SpawnedTestServer::kLocalhost, sni_available, &domain_state)); | 4878 SpawnedTestServer::kLocalhost, sni_available, &domain_state)); |
4727 EXPECT_EQ(TransportSecurityState::DomainState::MODE_FORCE_HTTPS, | 4879 EXPECT_EQ(TransportSecurityState::DomainState::MODE_FORCE_HTTPS, |
4728 domain_state.upgrade_mode); | 4880 domain_state.upgrade_mode); |
4729 EXPECT_FALSE(domain_state.sts_include_subdomains); | 4881 EXPECT_FALSE(domain_state.sts_include_subdomains); |
4730 EXPECT_FALSE(domain_state.pkp_include_subdomains); | 4882 EXPECT_FALSE(domain_state.pkp_include_subdomains); |
4731 } | 4883 } |
4732 | 4884 |
4733 TEST_F(URLRequestTestHTTP, ProcessSTSAndPKP) { | 4885 TEST_F(URLRequestTestHTTP, ProcessSTSAndPKP) { |
4734 SpawnedTestServer::SSLOptions ssl_options; | 4886 SpawnedTestServer::SSLOptions ssl_options; |
4735 SpawnedTestServer https_test_server( | 4887 SpawnedTestServer https_test_server( |
4736 SpawnedTestServer::TYPE_HTTPS, | 4888 SpawnedTestServer::TYPE_HTTPS, |
4737 ssl_options, | 4889 ssl_options, |
4738 base::FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))); | 4890 base::FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))); |
4739 ASSERT_TRUE(https_test_server.Start()); | 4891 ASSERT_TRUE(https_test_server.Start()); |
4740 | 4892 |
4741 TestDelegate d; | 4893 TestDelegate d; |
4742 URLRequest request( | 4894 URLRequest request( |
4743 https_test_server.GetURL("files/hsts-and-hpkp-headers.html"), | 4895 https_test_server.GetURL("files/hsts-and-hpkp-headers.html"), |
| 4896 DEFAULT_PRIORITY, |
4744 &d, | 4897 &d, |
4745 &default_context_); | 4898 &default_context_); |
4746 request.Start(); | 4899 request.Start(); |
4747 base::RunLoop().Run(); | 4900 base::RunLoop().Run(); |
4748 | 4901 |
4749 // We should have set parameters from the first header, not the second. | 4902 // We should have set parameters from the first header, not the second. |
4750 TransportSecurityState* security_state = | 4903 TransportSecurityState* security_state = |
4751 default_context_.transport_security_state(); | 4904 default_context_.transport_security_state(); |
4752 bool sni_available = true; | 4905 bool sni_available = true; |
4753 TransportSecurityState::DomainState domain_state; | 4906 TransportSecurityState::DomainState domain_state; |
(...skipping 22 matching lines...) Expand all Loading... |
4776 SpawnedTestServer::SSLOptions ssl_options; | 4929 SpawnedTestServer::SSLOptions ssl_options; |
4777 SpawnedTestServer https_test_server( | 4930 SpawnedTestServer https_test_server( |
4778 SpawnedTestServer::TYPE_HTTPS, | 4931 SpawnedTestServer::TYPE_HTTPS, |
4779 ssl_options, | 4932 ssl_options, |
4780 base::FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))); | 4933 base::FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))); |
4781 ASSERT_TRUE(https_test_server.Start()); | 4934 ASSERT_TRUE(https_test_server.Start()); |
4782 | 4935 |
4783 TestDelegate d; | 4936 TestDelegate d; |
4784 URLRequest request( | 4937 URLRequest request( |
4785 https_test_server.GetURL("files/hsts-and-hpkp-headers2.html"), | 4938 https_test_server.GetURL("files/hsts-and-hpkp-headers2.html"), |
| 4939 DEFAULT_PRIORITY, |
4786 &d, | 4940 &d, |
4787 &default_context_); | 4941 &default_context_); |
4788 request.Start(); | 4942 request.Start(); |
4789 base::RunLoop().Run(); | 4943 base::RunLoop().Run(); |
4790 | 4944 |
4791 TransportSecurityState* security_state = | 4945 TransportSecurityState* security_state = |
4792 default_context_.transport_security_state(); | 4946 default_context_.transport_security_state(); |
4793 bool sni_available = true; | 4947 bool sni_available = true; |
4794 TransportSecurityState::DomainState domain_state; | 4948 TransportSecurityState::DomainState domain_state; |
4795 EXPECT_TRUE(security_state->GetDomainState( | 4949 EXPECT_TRUE(security_state->GetDomainState( |
4796 SpawnedTestServer::kLocalhost, sni_available, &domain_state)); | 4950 SpawnedTestServer::kLocalhost, sni_available, &domain_state)); |
4797 EXPECT_EQ(TransportSecurityState::DomainState::MODE_FORCE_HTTPS, | 4951 EXPECT_EQ(TransportSecurityState::DomainState::MODE_FORCE_HTTPS, |
4798 domain_state.upgrade_mode); | 4952 domain_state.upgrade_mode); |
4799 #if defined(OS_ANDROID) | 4953 #if defined(OS_ANDROID) |
4800 // Android's CertVerifyProc does not (yet) handle pins. | 4954 // Android's CertVerifyProc does not (yet) handle pins. |
4801 #else | 4955 #else |
4802 EXPECT_TRUE(domain_state.HasPublicKeyPins()); | 4956 EXPECT_TRUE(domain_state.HasPublicKeyPins()); |
4803 #endif | 4957 #endif |
4804 EXPECT_NE(domain_state.upgrade_expiry, | 4958 EXPECT_NE(domain_state.upgrade_expiry, |
4805 domain_state.dynamic_spki_hashes_expiry); | 4959 domain_state.dynamic_spki_hashes_expiry); |
4806 | 4960 |
4807 EXPECT_TRUE(domain_state.sts_include_subdomains); | 4961 EXPECT_TRUE(domain_state.sts_include_subdomains); |
4808 EXPECT_FALSE(domain_state.pkp_include_subdomains); | 4962 EXPECT_FALSE(domain_state.pkp_include_subdomains); |
4809 } | 4963 } |
4810 | 4964 |
4811 TEST_F(URLRequestTestHTTP, ContentTypeNormalizationTest) { | 4965 TEST_F(URLRequestTestHTTP, ContentTypeNormalizationTest) { |
4812 ASSERT_TRUE(test_server_.Start()); | 4966 ASSERT_TRUE(test_server_.Start()); |
4813 | 4967 |
4814 TestDelegate d; | 4968 TestDelegate d; |
4815 URLRequest req(test_server_.GetURL( | 4969 URLRequest req(test_server_.GetURL("files/content-type-normalization.html"), |
4816 "files/content-type-normalization.html"), &d, &default_context_); | 4970 DEFAULT_PRIORITY, |
| 4971 &d, |
| 4972 &default_context_); |
4817 req.Start(); | 4973 req.Start(); |
4818 base::RunLoop().Run(); | 4974 base::RunLoop().Run(); |
4819 | 4975 |
4820 std::string mime_type; | 4976 std::string mime_type; |
4821 req.GetMimeType(&mime_type); | 4977 req.GetMimeType(&mime_type); |
4822 EXPECT_EQ("text/html", mime_type); | 4978 EXPECT_EQ("text/html", mime_type); |
4823 | 4979 |
4824 std::string charset; | 4980 std::string charset; |
4825 req.GetCharset(&charset); | 4981 req.GetCharset(&charset); |
4826 EXPECT_EQ("utf-8", charset); | 4982 EXPECT_EQ("utf-8", charset); |
(...skipping 11 matching lines...) Expand all Loading... |
4838 | 4994 |
4839 // Test URLRequestJobFactoryImpl::IsSafeRedirectTarget(). | 4995 // Test URLRequestJobFactoryImpl::IsSafeRedirectTarget(). |
4840 EXPECT_FALSE(job_factory_.IsSafeRedirectTarget(file_url)); | 4996 EXPECT_FALSE(job_factory_.IsSafeRedirectTarget(file_url)); |
4841 EXPECT_FALSE(job_factory_.IsSafeRedirectTarget(data_url)); | 4997 EXPECT_FALSE(job_factory_.IsSafeRedirectTarget(data_url)); |
4842 } | 4998 } |
4843 | 4999 |
4844 TEST_F(URLRequestTestHTTP, RestrictFileRedirects) { | 5000 TEST_F(URLRequestTestHTTP, RestrictFileRedirects) { |
4845 ASSERT_TRUE(test_server_.Start()); | 5001 ASSERT_TRUE(test_server_.Start()); |
4846 | 5002 |
4847 TestDelegate d; | 5003 TestDelegate d; |
4848 URLRequest req(test_server_.GetURL( | 5004 URLRequest req(test_server_.GetURL("files/redirect-to-file.html"), |
4849 "files/redirect-to-file.html"), &d, &default_context_); | 5005 DEFAULT_PRIORITY, |
| 5006 &d, |
| 5007 &default_context_); |
4850 req.Start(); | 5008 req.Start(); |
4851 base::RunLoop().Run(); | 5009 base::RunLoop().Run(); |
4852 | 5010 |
4853 EXPECT_EQ(URLRequestStatus::FAILED, req.status().status()); | 5011 EXPECT_EQ(URLRequestStatus::FAILED, req.status().status()); |
4854 EXPECT_EQ(ERR_UNSAFE_REDIRECT, req.status().error()); | 5012 EXPECT_EQ(ERR_UNSAFE_REDIRECT, req.status().error()); |
4855 } | 5013 } |
4856 | 5014 |
4857 TEST_F(URLRequestTestHTTP, RestrictDataRedirects) { | 5015 TEST_F(URLRequestTestHTTP, RestrictDataRedirects) { |
4858 ASSERT_TRUE(test_server_.Start()); | 5016 ASSERT_TRUE(test_server_.Start()); |
4859 | 5017 |
4860 TestDelegate d; | 5018 TestDelegate d; |
4861 URLRequest req(test_server_.GetURL( | 5019 URLRequest req(test_server_.GetURL("files/redirect-to-data.html"), |
4862 "files/redirect-to-data.html"), &d, &default_context_); | 5020 DEFAULT_PRIORITY, |
| 5021 &d, |
| 5022 &default_context_); |
4863 req.Start(); | 5023 req.Start(); |
4864 base::MessageLoop::current()->Run(); | 5024 base::MessageLoop::current()->Run(); |
4865 | 5025 |
4866 EXPECT_EQ(URLRequestStatus::FAILED, req.status().status()); | 5026 EXPECT_EQ(URLRequestStatus::FAILED, req.status().status()); |
4867 EXPECT_EQ(ERR_UNSAFE_REDIRECT, req.status().error()); | 5027 EXPECT_EQ(ERR_UNSAFE_REDIRECT, req.status().error()); |
4868 } | 5028 } |
4869 | 5029 |
4870 TEST_F(URLRequestTestHTTP, RedirectToInvalidURL) { | 5030 TEST_F(URLRequestTestHTTP, RedirectToInvalidURL) { |
4871 ASSERT_TRUE(test_server_.Start()); | 5031 ASSERT_TRUE(test_server_.Start()); |
4872 | 5032 |
4873 TestDelegate d; | 5033 TestDelegate d; |
4874 URLRequest req(test_server_.GetURL( | 5034 URLRequest req(test_server_.GetURL("files/redirect-to-invalid-url.html"), |
4875 "files/redirect-to-invalid-url.html"), &d, &default_context_); | 5035 DEFAULT_PRIORITY, |
| 5036 &d, |
| 5037 &default_context_); |
4876 req.Start(); | 5038 req.Start(); |
4877 base::RunLoop().Run(); | 5039 base::RunLoop().Run(); |
4878 | 5040 |
4879 EXPECT_EQ(URLRequestStatus::FAILED, req.status().status()); | 5041 EXPECT_EQ(URLRequestStatus::FAILED, req.status().status()); |
4880 EXPECT_EQ(ERR_INVALID_URL, req.status().error()); | 5042 EXPECT_EQ(ERR_INVALID_URL, req.status().error()); |
4881 } | 5043 } |
4882 | 5044 |
4883 TEST_F(URLRequestTestHTTP, NoUserPassInReferrer) { | 5045 TEST_F(URLRequestTestHTTP, NoUserPassInReferrer) { |
4884 ASSERT_TRUE(test_server_.Start()); | 5046 ASSERT_TRUE(test_server_.Start()); |
4885 | 5047 |
4886 TestDelegate d; | 5048 TestDelegate d; |
4887 URLRequest req( | 5049 URLRequest req(test_server_.GetURL("echoheader?Referer"), |
4888 test_server_.GetURL("echoheader?Referer"), &d, &default_context_); | 5050 DEFAULT_PRIORITY, |
| 5051 &d, |
| 5052 &default_context_); |
4889 req.SetReferrer("http://user:pass@foo.com/"); | 5053 req.SetReferrer("http://user:pass@foo.com/"); |
4890 req.Start(); | 5054 req.Start(); |
4891 base::RunLoop().Run(); | 5055 base::RunLoop().Run(); |
4892 | 5056 |
4893 EXPECT_EQ(std::string("http://foo.com/"), d.data_received()); | 5057 EXPECT_EQ(std::string("http://foo.com/"), d.data_received()); |
4894 } | 5058 } |
4895 | 5059 |
4896 TEST_F(URLRequestTestHTTP, NoFragmentInReferrer) { | 5060 TEST_F(URLRequestTestHTTP, NoFragmentInReferrer) { |
4897 ASSERT_TRUE(test_server_.Start()); | 5061 ASSERT_TRUE(test_server_.Start()); |
4898 | 5062 |
4899 TestDelegate d; | 5063 TestDelegate d; |
4900 URLRequest req( | 5064 URLRequest req(test_server_.GetURL("echoheader?Referer"), |
4901 test_server_.GetURL("echoheader?Referer"), &d, &default_context_); | 5065 DEFAULT_PRIORITY, |
| 5066 &d, |
| 5067 &default_context_); |
4902 req.SetReferrer("http://foo.com/test#fragment"); | 5068 req.SetReferrer("http://foo.com/test#fragment"); |
4903 req.Start(); | 5069 req.Start(); |
4904 base::RunLoop().Run(); | 5070 base::RunLoop().Run(); |
4905 | 5071 |
4906 EXPECT_EQ(std::string("http://foo.com/test"), d.data_received()); | 5072 EXPECT_EQ(std::string("http://foo.com/test"), d.data_received()); |
4907 } | 5073 } |
4908 | 5074 |
4909 TEST_F(URLRequestTestHTTP, EmptyReferrerAfterValidReferrer) { | 5075 TEST_F(URLRequestTestHTTP, EmptyReferrerAfterValidReferrer) { |
4910 ASSERT_TRUE(test_server_.Start()); | 5076 ASSERT_TRUE(test_server_.Start()); |
4911 | 5077 |
4912 TestDelegate d; | 5078 TestDelegate d; |
4913 URLRequest req( | 5079 URLRequest req(test_server_.GetURL("echoheader?Referer"), |
4914 test_server_.GetURL("echoheader?Referer"), &d, &default_context_); | 5080 DEFAULT_PRIORITY, |
| 5081 &d, |
| 5082 &default_context_); |
4915 req.SetReferrer("http://foo.com/test#fragment"); | 5083 req.SetReferrer("http://foo.com/test#fragment"); |
4916 req.SetReferrer(""); | 5084 req.SetReferrer(""); |
4917 req.Start(); | 5085 req.Start(); |
4918 base::RunLoop().Run(); | 5086 base::RunLoop().Run(); |
4919 | 5087 |
4920 EXPECT_EQ(std::string("None"), d.data_received()); | 5088 EXPECT_EQ(std::string("None"), d.data_received()); |
4921 } | 5089 } |
4922 | 5090 |
4923 TEST_F(URLRequestTestHTTP, CancelRedirect) { | 5091 TEST_F(URLRequestTestHTTP, CancelRedirect) { |
4924 ASSERT_TRUE(test_server_.Start()); | 5092 ASSERT_TRUE(test_server_.Start()); |
4925 | 5093 |
4926 TestDelegate d; | 5094 TestDelegate d; |
4927 { | 5095 { |
4928 d.set_cancel_in_received_redirect(true); | 5096 d.set_cancel_in_received_redirect(true); |
4929 URLRequest req( | 5097 URLRequest req(test_server_.GetURL("files/redirect-test.html"), |
4930 test_server_.GetURL("files/redirect-test.html"), &d, &default_context_); | 5098 DEFAULT_PRIORITY, |
| 5099 &d, |
| 5100 &default_context_); |
4931 req.Start(); | 5101 req.Start(); |
4932 base::RunLoop().Run(); | 5102 base::RunLoop().Run(); |
4933 | 5103 |
4934 EXPECT_EQ(1, d.response_started_count()); | 5104 EXPECT_EQ(1, d.response_started_count()); |
4935 EXPECT_EQ(0, d.bytes_received()); | 5105 EXPECT_EQ(0, d.bytes_received()); |
4936 EXPECT_FALSE(d.received_data_before_response()); | 5106 EXPECT_FALSE(d.received_data_before_response()); |
4937 EXPECT_EQ(URLRequestStatus::CANCELED, req.status().status()); | 5107 EXPECT_EQ(URLRequestStatus::CANCELED, req.status().status()); |
4938 } | 5108 } |
4939 } | 5109 } |
4940 | 5110 |
4941 TEST_F(URLRequestTestHTTP, DeferredRedirect) { | 5111 TEST_F(URLRequestTestHTTP, DeferredRedirect) { |
4942 ASSERT_TRUE(test_server_.Start()); | 5112 ASSERT_TRUE(test_server_.Start()); |
4943 | 5113 |
4944 TestDelegate d; | 5114 TestDelegate d; |
4945 { | 5115 { |
4946 d.set_quit_on_redirect(true); | 5116 d.set_quit_on_redirect(true); |
4947 GURL test_url(test_server_.GetURL("files/redirect-test.html")); | 5117 GURL test_url(test_server_.GetURL("files/redirect-test.html")); |
4948 URLRequest req(test_url, &d, &default_context_); | 5118 URLRequest req(test_url, DEFAULT_PRIORITY, &d, &default_context_); |
4949 | 5119 |
4950 req.Start(); | 5120 req.Start(); |
4951 base::RunLoop().Run(); | 5121 base::RunLoop().Run(); |
4952 | 5122 |
4953 EXPECT_EQ(1, d.received_redirect_count()); | 5123 EXPECT_EQ(1, d.received_redirect_count()); |
4954 | 5124 |
4955 req.FollowDeferredRedirect(); | 5125 req.FollowDeferredRedirect(); |
4956 base::RunLoop().Run(); | 5126 base::RunLoop().Run(); |
4957 | 5127 |
4958 EXPECT_EQ(1, d.response_started_count()); | 5128 EXPECT_EQ(1, d.response_started_count()); |
(...skipping 13 matching lines...) Expand all Loading... |
4972 } | 5142 } |
4973 } | 5143 } |
4974 | 5144 |
4975 TEST_F(URLRequestTestHTTP, DeferredRedirect_GetFullRequestHeaders) { | 5145 TEST_F(URLRequestTestHTTP, DeferredRedirect_GetFullRequestHeaders) { |
4976 ASSERT_TRUE(test_server_.Start()); | 5146 ASSERT_TRUE(test_server_.Start()); |
4977 | 5147 |
4978 TestDelegate d; | 5148 TestDelegate d; |
4979 { | 5149 { |
4980 d.set_quit_on_redirect(true); | 5150 d.set_quit_on_redirect(true); |
4981 GURL test_url(test_server_.GetURL("files/redirect-test.html")); | 5151 GURL test_url(test_server_.GetURL("files/redirect-test.html")); |
4982 URLRequest req(test_url, &d, &default_context_); | 5152 URLRequest req(test_url, DEFAULT_PRIORITY, &d, &default_context_); |
4983 | 5153 |
4984 EXPECT_FALSE(d.have_full_request_headers()); | 5154 EXPECT_FALSE(d.have_full_request_headers()); |
4985 | 5155 |
4986 req.Start(); | 5156 req.Start(); |
4987 base::RunLoop().Run(); | 5157 base::RunLoop().Run(); |
4988 | 5158 |
4989 EXPECT_EQ(1, d.received_redirect_count()); | 5159 EXPECT_EQ(1, d.received_redirect_count()); |
4990 EXPECT_TRUE(d.have_full_request_headers()); | 5160 EXPECT_TRUE(d.have_full_request_headers()); |
4991 CheckFullRequestHeaders(d.full_request_headers(), test_url); | 5161 CheckFullRequestHeaders(d.full_request_headers(), test_url); |
4992 d.ClearFullRequestHeaders(); | 5162 d.ClearFullRequestHeaders(); |
(...skipping 20 matching lines...) Expand all Loading... |
5013 EXPECT_EQ(contents, d.data_received()); | 5183 EXPECT_EQ(contents, d.data_received()); |
5014 } | 5184 } |
5015 } | 5185 } |
5016 | 5186 |
5017 TEST_F(URLRequestTestHTTP, CancelDeferredRedirect) { | 5187 TEST_F(URLRequestTestHTTP, CancelDeferredRedirect) { |
5018 ASSERT_TRUE(test_server_.Start()); | 5188 ASSERT_TRUE(test_server_.Start()); |
5019 | 5189 |
5020 TestDelegate d; | 5190 TestDelegate d; |
5021 { | 5191 { |
5022 d.set_quit_on_redirect(true); | 5192 d.set_quit_on_redirect(true); |
5023 URLRequest req( | 5193 URLRequest req(test_server_.GetURL("files/redirect-test.html"), |
5024 test_server_.GetURL("files/redirect-test.html"), &d, &default_context_); | 5194 DEFAULT_PRIORITY, |
| 5195 &d, |
| 5196 &default_context_); |
5025 req.Start(); | 5197 req.Start(); |
5026 base::RunLoop().Run(); | 5198 base::RunLoop().Run(); |
5027 | 5199 |
5028 EXPECT_EQ(1, d.received_redirect_count()); | 5200 EXPECT_EQ(1, d.received_redirect_count()); |
5029 | 5201 |
5030 req.Cancel(); | 5202 req.Cancel(); |
5031 base::RunLoop().Run(); | 5203 base::RunLoop().Run(); |
5032 | 5204 |
5033 EXPECT_EQ(1, d.response_started_count()); | 5205 EXPECT_EQ(1, d.response_started_count()); |
5034 EXPECT_EQ(0, d.bytes_received()); | 5206 EXPECT_EQ(0, d.bytes_received()); |
5035 EXPECT_FALSE(d.received_data_before_response()); | 5207 EXPECT_FALSE(d.received_data_before_response()); |
5036 EXPECT_EQ(URLRequestStatus::CANCELED, req.status().status()); | 5208 EXPECT_EQ(URLRequestStatus::CANCELED, req.status().status()); |
5037 } | 5209 } |
5038 } | 5210 } |
5039 | 5211 |
5040 TEST_F(URLRequestTestHTTP, VaryHeader) { | 5212 TEST_F(URLRequestTestHTTP, VaryHeader) { |
5041 ASSERT_TRUE(test_server_.Start()); | 5213 ASSERT_TRUE(test_server_.Start()); |
5042 | 5214 |
5043 // Populate the cache. | 5215 // Populate the cache. |
5044 { | 5216 { |
5045 TestDelegate d; | 5217 TestDelegate d; |
5046 URLRequest req( | 5218 URLRequest req(test_server_.GetURL("echoheadercache?foo"), |
5047 test_server_.GetURL("echoheadercache?foo"), &d, &default_context_); | 5219 DEFAULT_PRIORITY, |
| 5220 &d, |
| 5221 &default_context_); |
5048 HttpRequestHeaders headers; | 5222 HttpRequestHeaders headers; |
5049 headers.SetHeader("foo", "1"); | 5223 headers.SetHeader("foo", "1"); |
5050 req.SetExtraRequestHeaders(headers); | 5224 req.SetExtraRequestHeaders(headers); |
5051 req.Start(); | 5225 req.Start(); |
5052 base::RunLoop().Run(); | 5226 base::RunLoop().Run(); |
5053 | 5227 |
5054 LoadTimingInfo load_timing_info; | 5228 LoadTimingInfo load_timing_info; |
5055 req.GetLoadTimingInfo(&load_timing_info); | 5229 req.GetLoadTimingInfo(&load_timing_info); |
5056 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_DNS_TIMES); | 5230 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_DNS_TIMES); |
5057 } | 5231 } |
5058 | 5232 |
5059 // Expect a cache hit. | 5233 // Expect a cache hit. |
5060 { | 5234 { |
5061 TestDelegate d; | 5235 TestDelegate d; |
5062 URLRequest req( | 5236 URLRequest req(test_server_.GetURL("echoheadercache?foo"), |
5063 test_server_.GetURL("echoheadercache?foo"), &d, &default_context_); | 5237 DEFAULT_PRIORITY, |
| 5238 &d, |
| 5239 &default_context_); |
5064 HttpRequestHeaders headers; | 5240 HttpRequestHeaders headers; |
5065 headers.SetHeader("foo", "1"); | 5241 headers.SetHeader("foo", "1"); |
5066 req.SetExtraRequestHeaders(headers); | 5242 req.SetExtraRequestHeaders(headers); |
5067 req.Start(); | 5243 req.Start(); |
5068 base::RunLoop().Run(); | 5244 base::RunLoop().Run(); |
5069 | 5245 |
5070 EXPECT_TRUE(req.was_cached()); | 5246 EXPECT_TRUE(req.was_cached()); |
5071 | 5247 |
5072 LoadTimingInfo load_timing_info; | 5248 LoadTimingInfo load_timing_info; |
5073 req.GetLoadTimingInfo(&load_timing_info); | 5249 req.GetLoadTimingInfo(&load_timing_info); |
5074 TestLoadTimingCacheHitNoNetwork(load_timing_info); | 5250 TestLoadTimingCacheHitNoNetwork(load_timing_info); |
5075 } | 5251 } |
5076 | 5252 |
5077 // Expect a cache miss. | 5253 // Expect a cache miss. |
5078 { | 5254 { |
5079 TestDelegate d; | 5255 TestDelegate d; |
5080 URLRequest req( | 5256 URLRequest req(test_server_.GetURL("echoheadercache?foo"), |
5081 test_server_.GetURL("echoheadercache?foo"), &d, &default_context_); | 5257 DEFAULT_PRIORITY, |
| 5258 &d, |
| 5259 &default_context_); |
5082 HttpRequestHeaders headers; | 5260 HttpRequestHeaders headers; |
5083 headers.SetHeader("foo", "2"); | 5261 headers.SetHeader("foo", "2"); |
5084 req.SetExtraRequestHeaders(headers); | 5262 req.SetExtraRequestHeaders(headers); |
5085 req.Start(); | 5263 req.Start(); |
5086 base::RunLoop().Run(); | 5264 base::RunLoop().Run(); |
5087 | 5265 |
5088 EXPECT_FALSE(req.was_cached()); | 5266 EXPECT_FALSE(req.was_cached()); |
5089 | 5267 |
5090 LoadTimingInfo load_timing_info; | 5268 LoadTimingInfo load_timing_info; |
5091 req.GetLoadTimingInfo(&load_timing_info); | 5269 req.GetLoadTimingInfo(&load_timing_info); |
5092 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_DNS_TIMES); | 5270 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_DNS_TIMES); |
5093 } | 5271 } |
5094 } | 5272 } |
5095 | 5273 |
5096 TEST_F(URLRequestTestHTTP, BasicAuth) { | 5274 TEST_F(URLRequestTestHTTP, BasicAuth) { |
5097 ASSERT_TRUE(test_server_.Start()); | 5275 ASSERT_TRUE(test_server_.Start()); |
5098 | 5276 |
5099 // populate the cache | 5277 // populate the cache |
5100 { | 5278 { |
5101 TestDelegate d; | 5279 TestDelegate d; |
5102 d.set_credentials(AuthCredentials(kUser, kSecret)); | 5280 d.set_credentials(AuthCredentials(kUser, kSecret)); |
5103 | 5281 |
5104 URLRequest r(test_server_.GetURL("auth-basic"), &d, &default_context_); | 5282 URLRequest r(test_server_.GetURL("auth-basic"), |
| 5283 DEFAULT_PRIORITY, |
| 5284 &d, |
| 5285 &default_context_); |
5105 r.Start(); | 5286 r.Start(); |
5106 | 5287 |
5107 base::RunLoop().Run(); | 5288 base::RunLoop().Run(); |
5108 | 5289 |
5109 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); | 5290 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); |
5110 } | 5291 } |
5111 | 5292 |
5112 // repeat request with end-to-end validation. since auth-basic results in a | 5293 // repeat request with end-to-end validation. since auth-basic results in a |
5113 // cachable page, we expect this test to result in a 304. in which case, the | 5294 // cachable page, we expect this test to result in a 304. in which case, the |
5114 // response should be fetched from the cache. | 5295 // response should be fetched from the cache. |
5115 { | 5296 { |
5116 TestDelegate d; | 5297 TestDelegate d; |
5117 d.set_credentials(AuthCredentials(kUser, kSecret)); | 5298 d.set_credentials(AuthCredentials(kUser, kSecret)); |
5118 | 5299 |
5119 URLRequest r(test_server_.GetURL("auth-basic"), &d, &default_context_); | 5300 URLRequest r(test_server_.GetURL("auth-basic"), |
| 5301 DEFAULT_PRIORITY, |
| 5302 &d, |
| 5303 &default_context_); |
5120 r.set_load_flags(LOAD_VALIDATE_CACHE); | 5304 r.set_load_flags(LOAD_VALIDATE_CACHE); |
5121 r.Start(); | 5305 r.Start(); |
5122 | 5306 |
5123 base::RunLoop().Run(); | 5307 base::RunLoop().Run(); |
5124 | 5308 |
5125 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); | 5309 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); |
5126 | 5310 |
5127 // Should be the same cached document. | 5311 // Should be the same cached document. |
5128 EXPECT_TRUE(r.was_cached()); | 5312 EXPECT_TRUE(r.was_cached()); |
5129 } | 5313 } |
(...skipping 11 matching lines...) Expand all Loading... |
5141 // Verify that when the transaction is restarted, it includes the new cookie. | 5325 // Verify that when the transaction is restarted, it includes the new cookie. |
5142 { | 5326 { |
5143 TestNetworkDelegate network_delegate; // Must outlive URLRequest. | 5327 TestNetworkDelegate network_delegate; // Must outlive URLRequest. |
5144 TestURLRequestContext context(true); | 5328 TestURLRequestContext context(true); |
5145 context.set_network_delegate(&network_delegate); | 5329 context.set_network_delegate(&network_delegate); |
5146 context.Init(); | 5330 context.Init(); |
5147 | 5331 |
5148 TestDelegate d; | 5332 TestDelegate d; |
5149 d.set_credentials(AuthCredentials(kUser, kSecret)); | 5333 d.set_credentials(AuthCredentials(kUser, kSecret)); |
5150 | 5334 |
5151 URLRequest r(url_requiring_auth, &d, &context); | 5335 URLRequest r(url_requiring_auth, DEFAULT_PRIORITY, &d, &context); |
5152 r.Start(); | 5336 r.Start(); |
5153 | 5337 |
5154 base::RunLoop().Run(); | 5338 base::RunLoop().Run(); |
5155 | 5339 |
5156 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); | 5340 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); |
5157 | 5341 |
5158 // Make sure we sent the cookie in the restarted transaction. | 5342 // Make sure we sent the cookie in the restarted transaction. |
5159 EXPECT_TRUE(d.data_received().find("Cookie: got_challenged=true") | 5343 EXPECT_TRUE(d.data_received().find("Cookie: got_challenged=true") |
5160 != std::string::npos); | 5344 != std::string::npos); |
5161 } | 5345 } |
5162 | 5346 |
5163 // Same test as above, except this time the restart is initiated earlier | 5347 // Same test as above, except this time the restart is initiated earlier |
5164 // (without user intervention since identity is embedded in the URL). | 5348 // (without user intervention since identity is embedded in the URL). |
5165 { | 5349 { |
5166 TestNetworkDelegate network_delegate; // Must outlive URLRequest. | 5350 TestNetworkDelegate network_delegate; // Must outlive URLRequest. |
5167 TestURLRequestContext context(true); | 5351 TestURLRequestContext context(true); |
5168 context.set_network_delegate(&network_delegate); | 5352 context.set_network_delegate(&network_delegate); |
5169 context.Init(); | 5353 context.Init(); |
5170 | 5354 |
5171 TestDelegate d; | 5355 TestDelegate d; |
5172 | 5356 |
5173 GURL::Replacements replacements; | 5357 GURL::Replacements replacements; |
5174 std::string username("user2"); | 5358 std::string username("user2"); |
5175 std::string password("secret"); | 5359 std::string password("secret"); |
5176 replacements.SetUsernameStr(username); | 5360 replacements.SetUsernameStr(username); |
5177 replacements.SetPasswordStr(password); | 5361 replacements.SetPasswordStr(password); |
5178 GURL url_with_identity = url_requiring_auth.ReplaceComponents(replacements); | 5362 GURL url_with_identity = url_requiring_auth.ReplaceComponents(replacements); |
5179 | 5363 |
5180 URLRequest r(url_with_identity, &d, &context); | 5364 URLRequest r(url_with_identity, DEFAULT_PRIORITY, &d, &context); |
5181 r.Start(); | 5365 r.Start(); |
5182 | 5366 |
5183 base::RunLoop().Run(); | 5367 base::RunLoop().Run(); |
5184 | 5368 |
5185 EXPECT_TRUE(d.data_received().find("user2/secret") != std::string::npos); | 5369 EXPECT_TRUE(d.data_received().find("user2/secret") != std::string::npos); |
5186 | 5370 |
5187 // Make sure we sent the cookie in the restarted transaction. | 5371 // Make sure we sent the cookie in the restarted transaction. |
5188 EXPECT_TRUE(d.data_received().find("Cookie: got_challenged=true") | 5372 EXPECT_TRUE(d.data_received().find("Cookie: got_challenged=true") |
5189 != std::string::npos); | 5373 != std::string::npos); |
5190 } | 5374 } |
5191 } | 5375 } |
5192 | 5376 |
5193 // Tests that load timing works as expected with auth and the cache. | 5377 // Tests that load timing works as expected with auth and the cache. |
5194 TEST_F(URLRequestTestHTTP, BasicAuthLoadTiming) { | 5378 TEST_F(URLRequestTestHTTP, BasicAuthLoadTiming) { |
5195 ASSERT_TRUE(test_server_.Start()); | 5379 ASSERT_TRUE(test_server_.Start()); |
5196 | 5380 |
5197 // populate the cache | 5381 // populate the cache |
5198 { | 5382 { |
5199 TestDelegate d; | 5383 TestDelegate d; |
5200 d.set_credentials(AuthCredentials(kUser, kSecret)); | 5384 d.set_credentials(AuthCredentials(kUser, kSecret)); |
5201 | 5385 |
5202 URLRequest r(test_server_.GetURL("auth-basic"), &d, &default_context_); | 5386 URLRequest r(test_server_.GetURL("auth-basic"), |
| 5387 DEFAULT_PRIORITY, |
| 5388 &d, |
| 5389 &default_context_); |
5203 r.Start(); | 5390 r.Start(); |
5204 | 5391 |
5205 base::RunLoop().Run(); | 5392 base::RunLoop().Run(); |
5206 | 5393 |
5207 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); | 5394 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); |
5208 | 5395 |
5209 LoadTimingInfo load_timing_info_before_auth; | 5396 LoadTimingInfo load_timing_info_before_auth; |
5210 EXPECT_TRUE(default_network_delegate_.GetLoadTimingInfoBeforeAuth( | 5397 EXPECT_TRUE(default_network_delegate_.GetLoadTimingInfoBeforeAuth( |
5211 &load_timing_info_before_auth)); | 5398 &load_timing_info_before_auth)); |
5212 TestLoadTimingNotReused(load_timing_info_before_auth, | 5399 TestLoadTimingNotReused(load_timing_info_before_auth, |
(...skipping 10 matching lines...) Expand all Loading... |
5223 load_timing_info.connect_timing.connect_start); | 5410 load_timing_info.connect_timing.connect_start); |
5224 } | 5411 } |
5225 | 5412 |
5226 // Repeat request with end-to-end validation. Since auth-basic results in a | 5413 // Repeat request with end-to-end validation. Since auth-basic results in a |
5227 // cachable page, we expect this test to result in a 304. In which case, the | 5414 // cachable page, we expect this test to result in a 304. In which case, the |
5228 // response should be fetched from the cache. | 5415 // response should be fetched from the cache. |
5229 { | 5416 { |
5230 TestDelegate d; | 5417 TestDelegate d; |
5231 d.set_credentials(AuthCredentials(kUser, kSecret)); | 5418 d.set_credentials(AuthCredentials(kUser, kSecret)); |
5232 | 5419 |
5233 URLRequest r(test_server_.GetURL("auth-basic"), &d, &default_context_); | 5420 URLRequest r(test_server_.GetURL("auth-basic"), |
| 5421 DEFAULT_PRIORITY, |
| 5422 &d, |
| 5423 &default_context_); |
5234 r.set_load_flags(LOAD_VALIDATE_CACHE); | 5424 r.set_load_flags(LOAD_VALIDATE_CACHE); |
5235 r.Start(); | 5425 r.Start(); |
5236 | 5426 |
5237 base::RunLoop().Run(); | 5427 base::RunLoop().Run(); |
5238 | 5428 |
5239 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); | 5429 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); |
5240 | 5430 |
5241 // Should be the same cached document. | 5431 // Should be the same cached document. |
5242 EXPECT_TRUE(r.was_cached()); | 5432 EXPECT_TRUE(r.was_cached()); |
5243 | 5433 |
5244 // Since there was a request that went over the wire, the load timing | 5434 // Since there was a request that went over the wire, the load timing |
5245 // information should include connection times. | 5435 // information should include connection times. |
5246 LoadTimingInfo load_timing_info; | 5436 LoadTimingInfo load_timing_info; |
5247 r.GetLoadTimingInfo(&load_timing_info); | 5437 r.GetLoadTimingInfo(&load_timing_info); |
5248 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_DNS_TIMES); | 5438 TestLoadTimingNotReused(load_timing_info, CONNECT_TIMING_HAS_DNS_TIMES); |
5249 } | 5439 } |
5250 } | 5440 } |
5251 | 5441 |
5252 // In this test, we do a POST which the server will 302 redirect. | 5442 // In this test, we do a POST which the server will 302 redirect. |
5253 // The subsequent transaction should use GET, and should not send the | 5443 // The subsequent transaction should use GET, and should not send the |
5254 // Content-Type header. | 5444 // Content-Type header. |
5255 // http://code.google.com/p/chromium/issues/detail?id=843 | 5445 // http://code.google.com/p/chromium/issues/detail?id=843 |
5256 TEST_F(URLRequestTestHTTP, Post302RedirectGet) { | 5446 TEST_F(URLRequestTestHTTP, Post302RedirectGet) { |
5257 ASSERT_TRUE(test_server_.Start()); | 5447 ASSERT_TRUE(test_server_.Start()); |
5258 | 5448 |
5259 const char kData[] = "hello world"; | 5449 const char kData[] = "hello world"; |
5260 | 5450 |
5261 TestDelegate d; | 5451 TestDelegate d; |
5262 URLRequest req( | 5452 URLRequest req(test_server_.GetURL("files/redirect-to-echoall"), |
5263 test_server_.GetURL("files/redirect-to-echoall"), &d, &default_context_); | 5453 DEFAULT_PRIORITY, |
| 5454 &d, |
| 5455 &default_context_); |
5264 req.set_method("POST"); | 5456 req.set_method("POST"); |
5265 req.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); | 5457 req.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); |
5266 | 5458 |
5267 // Set headers (some of which are specific to the POST). | 5459 // Set headers (some of which are specific to the POST). |
5268 HttpRequestHeaders headers; | 5460 HttpRequestHeaders headers; |
5269 headers.AddHeadersFromString( | 5461 headers.AddHeadersFromString( |
5270 "Content-Type: multipart/form-data; " | 5462 "Content-Type: multipart/form-data; " |
5271 "boundary=----WebKitFormBoundaryAADeAA+NAAWMAAwZ\r\n" | 5463 "boundary=----WebKitFormBoundaryAADeAA+NAAWMAAwZ\r\n" |
5272 "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9," | 5464 "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9," |
5273 "text/plain;q=0.8,image/png,*/*;q=0.5\r\n" | 5465 "text/plain;q=0.8,image/png,*/*;q=0.5\r\n" |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5339 HTTPRedirectMethodTest(url, "PUT", "PUT", true); | 5531 HTTPRedirectMethodTest(url, "PUT", "PUT", true); |
5340 HTTPRedirectMethodTest(url, "HEAD", "HEAD", false); | 5532 HTTPRedirectMethodTest(url, "HEAD", "HEAD", false); |
5341 } | 5533 } |
5342 | 5534 |
5343 TEST_F(URLRequestTestHTTP, InterceptPost302RedirectGet) { | 5535 TEST_F(URLRequestTestHTTP, InterceptPost302RedirectGet) { |
5344 ASSERT_TRUE(test_server_.Start()); | 5536 ASSERT_TRUE(test_server_.Start()); |
5345 | 5537 |
5346 const char kData[] = "hello world"; | 5538 const char kData[] = "hello world"; |
5347 | 5539 |
5348 TestDelegate d; | 5540 TestDelegate d; |
5349 URLRequest req(test_server_.GetURL("empty.html"), &d, &default_context_); | 5541 URLRequest req(test_server_.GetURL("empty.html"), |
| 5542 DEFAULT_PRIORITY, |
| 5543 &d, |
| 5544 &default_context_); |
5350 req.set_method("POST"); | 5545 req.set_method("POST"); |
5351 req.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); | 5546 req.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); |
5352 HttpRequestHeaders headers; | 5547 HttpRequestHeaders headers; |
5353 headers.SetHeader(HttpRequestHeaders::kContentLength, | 5548 headers.SetHeader(HttpRequestHeaders::kContentLength, |
5354 base::UintToString(arraysize(kData) - 1)); | 5549 base::UintToString(arraysize(kData) - 1)); |
5355 req.SetExtraRequestHeaders(headers); | 5550 req.SetExtraRequestHeaders(headers); |
5356 | 5551 |
5357 URLRequestRedirectJob* job = new URLRequestRedirectJob( | 5552 URLRequestRedirectJob* job = new URLRequestRedirectJob( |
5358 &req, &default_network_delegate_, test_server_.GetURL("echo"), | 5553 &req, &default_network_delegate_, test_server_.GetURL("echo"), |
5359 URLRequestRedirectJob::REDIRECT_302_FOUND); | 5554 URLRequestRedirectJob::REDIRECT_302_FOUND); |
5360 AddTestInterceptor()->set_main_intercept_job(job); | 5555 AddTestInterceptor()->set_main_intercept_job(job); |
5361 | 5556 |
5362 req.Start(); | 5557 req.Start(); |
5363 base::RunLoop().Run(); | 5558 base::RunLoop().Run(); |
5364 EXPECT_EQ("GET", req.method()); | 5559 EXPECT_EQ("GET", req.method()); |
5365 } | 5560 } |
5366 | 5561 |
5367 TEST_F(URLRequestTestHTTP, InterceptPost307RedirectPost) { | 5562 TEST_F(URLRequestTestHTTP, InterceptPost307RedirectPost) { |
5368 ASSERT_TRUE(test_server_.Start()); | 5563 ASSERT_TRUE(test_server_.Start()); |
5369 | 5564 |
5370 const char kData[] = "hello world"; | 5565 const char kData[] = "hello world"; |
5371 | 5566 |
5372 TestDelegate d; | 5567 TestDelegate d; |
5373 URLRequest req(test_server_.GetURL("empty.html"), &d, &default_context_); | 5568 URLRequest req(test_server_.GetURL("empty.html"), |
| 5569 DEFAULT_PRIORITY, |
| 5570 &d, |
| 5571 &default_context_); |
5374 req.set_method("POST"); | 5572 req.set_method("POST"); |
5375 req.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); | 5573 req.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); |
5376 HttpRequestHeaders headers; | 5574 HttpRequestHeaders headers; |
5377 headers.SetHeader(HttpRequestHeaders::kContentLength, | 5575 headers.SetHeader(HttpRequestHeaders::kContentLength, |
5378 base::UintToString(arraysize(kData) - 1)); | 5576 base::UintToString(arraysize(kData) - 1)); |
5379 req.SetExtraRequestHeaders(headers); | 5577 req.SetExtraRequestHeaders(headers); |
5380 | 5578 |
5381 URLRequestRedirectJob* job = new URLRequestRedirectJob( | 5579 URLRequestRedirectJob* job = new URLRequestRedirectJob( |
5382 &req, &default_network_delegate_, test_server_.GetURL("echo"), | 5580 &req, &default_network_delegate_, test_server_.GetURL("echo"), |
5383 URLRequestRedirectJob::REDIRECT_307_TEMPORARY_REDIRECT); | 5581 URLRequestRedirectJob::REDIRECT_307_TEMPORARY_REDIRECT); |
(...skipping 10 matching lines...) Expand all Loading... |
5394 ASSERT_TRUE(test_server_.Start()); | 5592 ASSERT_TRUE(test_server_.Start()); |
5395 | 5593 |
5396 StaticHttpUserAgentSettings settings("en", EmptyString()); | 5594 StaticHttpUserAgentSettings settings("en", EmptyString()); |
5397 TestNetworkDelegate network_delegate; // Must outlive URLRequests. | 5595 TestNetworkDelegate network_delegate; // Must outlive URLRequests. |
5398 TestURLRequestContext context(true); | 5596 TestURLRequestContext context(true); |
5399 context.set_network_delegate(&network_delegate); | 5597 context.set_network_delegate(&network_delegate); |
5400 context.set_http_user_agent_settings(&settings); | 5598 context.set_http_user_agent_settings(&settings); |
5401 context.Init(); | 5599 context.Init(); |
5402 | 5600 |
5403 TestDelegate d; | 5601 TestDelegate d; |
5404 URLRequest req( | 5602 URLRequest req(test_server_.GetURL("echoheader?Accept-Language"), |
5405 test_server_.GetURL("echoheader?Accept-Language"), &d, &context); | 5603 DEFAULT_PRIORITY, |
| 5604 &d, |
| 5605 &context); |
5406 req.Start(); | 5606 req.Start(); |
5407 base::RunLoop().Run(); | 5607 base::RunLoop().Run(); |
5408 EXPECT_EQ("en", d.data_received()); | 5608 EXPECT_EQ("en", d.data_received()); |
5409 } | 5609 } |
5410 | 5610 |
5411 // Check that an empty A-L header is not sent. http://crbug.com/77365. | 5611 // Check that an empty A-L header is not sent. http://crbug.com/77365. |
5412 TEST_F(URLRequestTestHTTP, EmptyAcceptLanguage) { | 5612 TEST_F(URLRequestTestHTTP, EmptyAcceptLanguage) { |
5413 ASSERT_TRUE(test_server_.Start()); | 5613 ASSERT_TRUE(test_server_.Start()); |
5414 | 5614 |
5415 StaticHttpUserAgentSettings settings(EmptyString(), EmptyString()); | 5615 StaticHttpUserAgentSettings settings(EmptyString(), EmptyString()); |
5416 TestNetworkDelegate network_delegate; // Must outlive URLRequests. | 5616 TestNetworkDelegate network_delegate; // Must outlive URLRequests. |
5417 TestURLRequestContext context(true); | 5617 TestURLRequestContext context(true); |
5418 context.set_network_delegate(&network_delegate); | 5618 context.set_network_delegate(&network_delegate); |
5419 context.Init(); | 5619 context.Init(); |
5420 // We override the language after initialization because empty entries | 5620 // We override the language after initialization because empty entries |
5421 // get overridden by Init(). | 5621 // get overridden by Init(). |
5422 context.set_http_user_agent_settings(&settings); | 5622 context.set_http_user_agent_settings(&settings); |
5423 | 5623 |
5424 TestDelegate d; | 5624 TestDelegate d; |
5425 URLRequest req( | 5625 URLRequest req(test_server_.GetURL("echoheader?Accept-Language"), |
5426 test_server_.GetURL("echoheader?Accept-Language"), &d, &context); | 5626 DEFAULT_PRIORITY, |
| 5627 &d, |
| 5628 &context); |
5427 req.Start(); | 5629 req.Start(); |
5428 base::RunLoop().Run(); | 5630 base::RunLoop().Run(); |
5429 EXPECT_EQ("None", d.data_received()); | 5631 EXPECT_EQ("None", d.data_received()); |
5430 } | 5632 } |
5431 | 5633 |
5432 // Check that if request overrides the A-L header, the default is not appended. | 5634 // Check that if request overrides the A-L header, the default is not appended. |
5433 // See http://crbug.com/20894 | 5635 // See http://crbug.com/20894 |
5434 TEST_F(URLRequestTestHTTP, OverrideAcceptLanguage) { | 5636 TEST_F(URLRequestTestHTTP, OverrideAcceptLanguage) { |
5435 ASSERT_TRUE(test_server_.Start()); | 5637 ASSERT_TRUE(test_server_.Start()); |
5436 | 5638 |
5437 TestDelegate d; | 5639 TestDelegate d; |
5438 URLRequest req(test_server_.GetURL("echoheader?Accept-Language"), | 5640 URLRequest req(test_server_.GetURL("echoheader?Accept-Language"), |
| 5641 DEFAULT_PRIORITY, |
5439 &d, | 5642 &d, |
5440 &default_context_); | 5643 &default_context_); |
5441 HttpRequestHeaders headers; | 5644 HttpRequestHeaders headers; |
5442 headers.SetHeader(HttpRequestHeaders::kAcceptLanguage, "ru"); | 5645 headers.SetHeader(HttpRequestHeaders::kAcceptLanguage, "ru"); |
5443 req.SetExtraRequestHeaders(headers); | 5646 req.SetExtraRequestHeaders(headers); |
5444 req.Start(); | 5647 req.Start(); |
5445 base::RunLoop().Run(); | 5648 base::RunLoop().Run(); |
5446 EXPECT_EQ(std::string("ru"), d.data_received()); | 5649 EXPECT_EQ(std::string("ru"), d.data_received()); |
5447 } | 5650 } |
5448 | 5651 |
5449 // Check that default A-E header is sent. | 5652 // Check that default A-E header is sent. |
5450 TEST_F(URLRequestTestHTTP, DefaultAcceptEncoding) { | 5653 TEST_F(URLRequestTestHTTP, DefaultAcceptEncoding) { |
5451 ASSERT_TRUE(test_server_.Start()); | 5654 ASSERT_TRUE(test_server_.Start()); |
5452 | 5655 |
5453 TestDelegate d; | 5656 TestDelegate d; |
5454 URLRequest req(test_server_.GetURL("echoheader?Accept-Encoding"), | 5657 URLRequest req(test_server_.GetURL("echoheader?Accept-Encoding"), |
| 5658 DEFAULT_PRIORITY, |
5455 &d, | 5659 &d, |
5456 &default_context_); | 5660 &default_context_); |
5457 HttpRequestHeaders headers; | 5661 HttpRequestHeaders headers; |
5458 req.SetExtraRequestHeaders(headers); | 5662 req.SetExtraRequestHeaders(headers); |
5459 req.Start(); | 5663 req.Start(); |
5460 base::RunLoop().Run(); | 5664 base::RunLoop().Run(); |
5461 EXPECT_TRUE(ContainsString(d.data_received(), "gzip")); | 5665 EXPECT_TRUE(ContainsString(d.data_received(), "gzip")); |
5462 } | 5666 } |
5463 | 5667 |
5464 // Check that if request overrides the A-E header, the default is not appended. | 5668 // Check that if request overrides the A-E header, the default is not appended. |
5465 // See http://crbug.com/47381 | 5669 // See http://crbug.com/47381 |
5466 TEST_F(URLRequestTestHTTP, OverrideAcceptEncoding) { | 5670 TEST_F(URLRequestTestHTTP, OverrideAcceptEncoding) { |
5467 ASSERT_TRUE(test_server_.Start()); | 5671 ASSERT_TRUE(test_server_.Start()); |
5468 | 5672 |
5469 TestDelegate d; | 5673 TestDelegate d; |
5470 URLRequest req(test_server_.GetURL("echoheader?Accept-Encoding"), | 5674 URLRequest req(test_server_.GetURL("echoheader?Accept-Encoding"), |
| 5675 DEFAULT_PRIORITY, |
5471 &d, | 5676 &d, |
5472 &default_context_); | 5677 &default_context_); |
5473 HttpRequestHeaders headers; | 5678 HttpRequestHeaders headers; |
5474 headers.SetHeader(HttpRequestHeaders::kAcceptEncoding, "identity"); | 5679 headers.SetHeader(HttpRequestHeaders::kAcceptEncoding, "identity"); |
5475 req.SetExtraRequestHeaders(headers); | 5680 req.SetExtraRequestHeaders(headers); |
5476 req.Start(); | 5681 req.Start(); |
5477 base::RunLoop().Run(); | 5682 base::RunLoop().Run(); |
5478 EXPECT_FALSE(ContainsString(d.data_received(), "gzip")); | 5683 EXPECT_FALSE(ContainsString(d.data_received(), "gzip")); |
5479 EXPECT_TRUE(ContainsString(d.data_received(), "identity")); | 5684 EXPECT_TRUE(ContainsString(d.data_received(), "identity")); |
5480 } | 5685 } |
5481 | 5686 |
5482 // Check that setting the A-C header sends the proper header. | 5687 // Check that setting the A-C header sends the proper header. |
5483 TEST_F(URLRequestTestHTTP, SetAcceptCharset) { | 5688 TEST_F(URLRequestTestHTTP, SetAcceptCharset) { |
5484 ASSERT_TRUE(test_server_.Start()); | 5689 ASSERT_TRUE(test_server_.Start()); |
5485 | 5690 |
5486 TestDelegate d; | 5691 TestDelegate d; |
5487 URLRequest req(test_server_.GetURL("echoheader?Accept-Charset"), | 5692 URLRequest req(test_server_.GetURL("echoheader?Accept-Charset"), |
| 5693 DEFAULT_PRIORITY, |
5488 &d, | 5694 &d, |
5489 &default_context_); | 5695 &default_context_); |
5490 HttpRequestHeaders headers; | 5696 HttpRequestHeaders headers; |
5491 headers.SetHeader(HttpRequestHeaders::kAcceptCharset, "koi-8r"); | 5697 headers.SetHeader(HttpRequestHeaders::kAcceptCharset, "koi-8r"); |
5492 req.SetExtraRequestHeaders(headers); | 5698 req.SetExtraRequestHeaders(headers); |
5493 req.Start(); | 5699 req.Start(); |
5494 base::RunLoop().Run(); | 5700 base::RunLoop().Run(); |
5495 EXPECT_EQ(std::string("koi-8r"), d.data_received()); | 5701 EXPECT_EQ(std::string("koi-8r"), d.data_received()); |
5496 } | 5702 } |
5497 | 5703 |
5498 // Check that default User-Agent header is sent. | 5704 // Check that default User-Agent header is sent. |
5499 TEST_F(URLRequestTestHTTP, DefaultUserAgent) { | 5705 TEST_F(URLRequestTestHTTP, DefaultUserAgent) { |
5500 ASSERT_TRUE(test_server_.Start()); | 5706 ASSERT_TRUE(test_server_.Start()); |
5501 | 5707 |
5502 TestDelegate d; | 5708 TestDelegate d; |
5503 URLRequest req(test_server_.GetURL("echoheader?User-Agent"), | 5709 URLRequest req(test_server_.GetURL("echoheader?User-Agent"), |
| 5710 DEFAULT_PRIORITY, |
5504 &d, | 5711 &d, |
5505 &default_context_); | 5712 &default_context_); |
5506 req.Start(); | 5713 req.Start(); |
5507 base::RunLoop().Run(); | 5714 base::RunLoop().Run(); |
5508 EXPECT_EQ(req.context()->GetUserAgent(req.url()), d.data_received()); | 5715 EXPECT_EQ(req.context()->GetUserAgent(req.url()), d.data_received()); |
5509 } | 5716 } |
5510 | 5717 |
5511 // Check that if request overrides the User-Agent header, | 5718 // Check that if request overrides the User-Agent header, |
5512 // the default is not appended. | 5719 // the default is not appended. |
5513 TEST_F(URLRequestTestHTTP, OverrideUserAgent) { | 5720 TEST_F(URLRequestTestHTTP, OverrideUserAgent) { |
5514 ASSERT_TRUE(test_server_.Start()); | 5721 ASSERT_TRUE(test_server_.Start()); |
5515 | 5722 |
5516 TestDelegate d; | 5723 TestDelegate d; |
5517 URLRequest req(test_server_.GetURL("echoheader?User-Agent"), | 5724 URLRequest req(test_server_.GetURL("echoheader?User-Agent"), |
| 5725 DEFAULT_PRIORITY, |
5518 &d, | 5726 &d, |
5519 &default_context_); | 5727 &default_context_); |
5520 HttpRequestHeaders headers; | 5728 HttpRequestHeaders headers; |
5521 headers.SetHeader(HttpRequestHeaders::kUserAgent, "Lynx (textmode)"); | 5729 headers.SetHeader(HttpRequestHeaders::kUserAgent, "Lynx (textmode)"); |
5522 req.SetExtraRequestHeaders(headers); | 5730 req.SetExtraRequestHeaders(headers); |
5523 req.Start(); | 5731 req.Start(); |
5524 base::RunLoop().Run(); | 5732 base::RunLoop().Run(); |
5525 // If the net tests are being run with ChromeFrame then we need to allow for | 5733 // If the net tests are being run with ChromeFrame then we need to allow for |
5526 // the 'chromeframe' suffix which is added to the user agent before the | 5734 // the 'chromeframe' suffix which is added to the user agent before the |
5527 // closing parentheses. | 5735 // closing parentheses. |
(...skipping 16 matching lines...) Expand all Loading... |
5544 | 5752 |
5545 struct { | 5753 struct { |
5546 const char* request; | 5754 const char* request; |
5547 const char* expected_response; | 5755 const char* expected_response; |
5548 } tests[] = { { "echoheader?Accept-Language", "None" }, | 5756 } tests[] = { { "echoheader?Accept-Language", "None" }, |
5549 { "echoheader?Accept-Charset", "None" }, | 5757 { "echoheader?Accept-Charset", "None" }, |
5550 { "echoheader?User-Agent", "" } }; | 5758 { "echoheader?User-Agent", "" } }; |
5551 | 5759 |
5552 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); i++) { | 5760 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); i++) { |
5553 TestDelegate d; | 5761 TestDelegate d; |
5554 URLRequest req(test_server_.GetURL(tests[i].request), &d, &context); | 5762 URLRequest req( |
| 5763 test_server_.GetURL(tests[i].request), DEFAULT_PRIORITY, &d, &context); |
5555 req.Start(); | 5764 req.Start(); |
5556 base::RunLoop().Run(); | 5765 base::RunLoop().Run(); |
5557 EXPECT_EQ(tests[i].expected_response, d.data_received()) | 5766 EXPECT_EQ(tests[i].expected_response, d.data_received()) |
5558 << " Request = \"" << tests[i].request << "\""; | 5767 << " Request = \"" << tests[i].request << "\""; |
5559 } | 5768 } |
5560 } | 5769 } |
5561 | 5770 |
5562 // Make sure that URLRequest passes on its priority updates to | 5771 // Make sure that URLRequest passes on its priority updates to |
5563 // newly-created jobs after the first one. | 5772 // newly-created jobs after the first one. |
5564 TEST_F(URLRequestTestHTTP, SetSubsequentJobPriority) { | 5773 TEST_F(URLRequestTestHTTP, SetSubsequentJobPriority) { |
5565 ASSERT_TRUE(test_server_.Start()); | 5774 ASSERT_TRUE(test_server_.Start()); |
5566 | 5775 |
5567 TestDelegate d; | 5776 TestDelegate d; |
5568 URLRequest req(test_server_.GetURL("empty.html"), &d, &default_context_); | 5777 URLRequest req(test_server_.GetURL("empty.html"), |
| 5778 DEFAULT_PRIORITY, |
| 5779 &d, |
| 5780 &default_context_); |
5569 EXPECT_EQ(DEFAULT_PRIORITY, req.priority()); | 5781 EXPECT_EQ(DEFAULT_PRIORITY, req.priority()); |
5570 | 5782 |
5571 scoped_refptr<URLRequestRedirectJob> redirect_job = | 5783 scoped_refptr<URLRequestRedirectJob> redirect_job = |
5572 new URLRequestRedirectJob( | 5784 new URLRequestRedirectJob( |
5573 &req, &default_network_delegate_, test_server_.GetURL("echo"), | 5785 &req, &default_network_delegate_, test_server_.GetURL("echo"), |
5574 URLRequestRedirectJob::REDIRECT_302_FOUND); | 5786 URLRequestRedirectJob::REDIRECT_302_FOUND); |
5575 AddTestInterceptor()->set_main_intercept_job(redirect_job.get()); | 5787 AddTestInterceptor()->set_main_intercept_job(redirect_job.get()); |
5576 | 5788 |
5577 req.SetPriority(LOW); | 5789 req.SetPriority(LOW); |
5578 req.Start(); | 5790 req.Start(); |
(...skipping 23 matching lines...) Expand all Loading... |
5602 | 5814 |
5603 TEST_F(HTTPSRequestTest, HTTPSGetTest) { | 5815 TEST_F(HTTPSRequestTest, HTTPSGetTest) { |
5604 SpawnedTestServer test_server( | 5816 SpawnedTestServer test_server( |
5605 SpawnedTestServer::TYPE_HTTPS, | 5817 SpawnedTestServer::TYPE_HTTPS, |
5606 SpawnedTestServer::kLocalhost, | 5818 SpawnedTestServer::kLocalhost, |
5607 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 5819 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
5608 ASSERT_TRUE(test_server.Start()); | 5820 ASSERT_TRUE(test_server.Start()); |
5609 | 5821 |
5610 TestDelegate d; | 5822 TestDelegate d; |
5611 { | 5823 { |
5612 URLRequest r(test_server.GetURL(std::string()), &d, &default_context_); | 5824 URLRequest r(test_server.GetURL(std::string()), |
| 5825 DEFAULT_PRIORITY, |
| 5826 &d, |
| 5827 &default_context_); |
5613 r.Start(); | 5828 r.Start(); |
5614 EXPECT_TRUE(r.is_pending()); | 5829 EXPECT_TRUE(r.is_pending()); |
5615 | 5830 |
5616 base::RunLoop().Run(); | 5831 base::RunLoop().Run(); |
5617 | 5832 |
5618 EXPECT_EQ(1, d.response_started_count()); | 5833 EXPECT_EQ(1, d.response_started_count()); |
5619 EXPECT_FALSE(d.received_data_before_response()); | 5834 EXPECT_FALSE(d.received_data_before_response()); |
5620 EXPECT_NE(0, d.bytes_received()); | 5835 EXPECT_NE(0, d.bytes_received()); |
5621 CheckSSLInfo(r.ssl_info()); | 5836 CheckSSLInfo(r.ssl_info()); |
5622 EXPECT_EQ(test_server.host_port_pair().host(), | 5837 EXPECT_EQ(test_server.host_port_pair().host(), |
(...skipping 10 matching lines...) Expand all Loading... |
5633 SpawnedTestServer::TYPE_HTTPS, | 5848 SpawnedTestServer::TYPE_HTTPS, |
5634 ssl_options, | 5849 ssl_options, |
5635 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 5850 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
5636 ASSERT_TRUE(test_server.Start()); | 5851 ASSERT_TRUE(test_server.Start()); |
5637 | 5852 |
5638 bool err_allowed = true; | 5853 bool err_allowed = true; |
5639 for (int i = 0; i < 2 ; i++, err_allowed = !err_allowed) { | 5854 for (int i = 0; i < 2 ; i++, err_allowed = !err_allowed) { |
5640 TestDelegate d; | 5855 TestDelegate d; |
5641 { | 5856 { |
5642 d.set_allow_certificate_errors(err_allowed); | 5857 d.set_allow_certificate_errors(err_allowed); |
5643 URLRequest r(test_server.GetURL(std::string()), &d, &default_context_); | 5858 URLRequest r(test_server.GetURL(std::string()), |
| 5859 DEFAULT_PRIORITY, |
| 5860 &d, |
| 5861 &default_context_); |
5644 | 5862 |
5645 r.Start(); | 5863 r.Start(); |
5646 EXPECT_TRUE(r.is_pending()); | 5864 EXPECT_TRUE(r.is_pending()); |
5647 | 5865 |
5648 base::RunLoop().Run(); | 5866 base::RunLoop().Run(); |
5649 | 5867 |
5650 EXPECT_EQ(1, d.response_started_count()); | 5868 EXPECT_EQ(1, d.response_started_count()); |
5651 EXPECT_FALSE(d.received_data_before_response()); | 5869 EXPECT_FALSE(d.received_data_before_response()); |
5652 EXPECT_TRUE(d.have_certificate_errors()); | 5870 EXPECT_TRUE(d.have_certificate_errors()); |
5653 if (err_allowed) { | 5871 if (err_allowed) { |
(...skipping 15 matching lines...) Expand all Loading... |
5669 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 5887 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
5670 ASSERT_TRUE(test_server.Start()); | 5888 ASSERT_TRUE(test_server.Start()); |
5671 | 5889 |
5672 // Iterate from false to true, just so that we do the opposite of the | 5890 // Iterate from false to true, just so that we do the opposite of the |
5673 // previous test in order to increase test coverage. | 5891 // previous test in order to increase test coverage. |
5674 bool err_allowed = false; | 5892 bool err_allowed = false; |
5675 for (int i = 0; i < 2 ; i++, err_allowed = !err_allowed) { | 5893 for (int i = 0; i < 2 ; i++, err_allowed = !err_allowed) { |
5676 TestDelegate d; | 5894 TestDelegate d; |
5677 { | 5895 { |
5678 d.set_allow_certificate_errors(err_allowed); | 5896 d.set_allow_certificate_errors(err_allowed); |
5679 URLRequest r(test_server.GetURL(std::string()), &d, &default_context_); | 5897 URLRequest r(test_server.GetURL(std::string()), |
| 5898 DEFAULT_PRIORITY, |
| 5899 &d, |
| 5900 &default_context_); |
5680 | 5901 |
5681 r.Start(); | 5902 r.Start(); |
5682 EXPECT_TRUE(r.is_pending()); | 5903 EXPECT_TRUE(r.is_pending()); |
5683 | 5904 |
5684 base::RunLoop().Run(); | 5905 base::RunLoop().Run(); |
5685 | 5906 |
5686 EXPECT_EQ(1, d.response_started_count()); | 5907 EXPECT_EQ(1, d.response_started_count()); |
5687 EXPECT_FALSE(d.received_data_before_response()); | 5908 EXPECT_FALSE(d.received_data_before_response()); |
5688 EXPECT_TRUE(d.have_certificate_errors()); | 5909 EXPECT_TRUE(d.have_certificate_errors()); |
5689 if (err_allowed) { | 5910 if (err_allowed) { |
(...skipping 24 matching lines...) Expand all Loading... |
5714 SpawnedTestServer test_server( | 5935 SpawnedTestServer test_server( |
5715 SpawnedTestServer::TYPE_HTTPS, | 5936 SpawnedTestServer::TYPE_HTTPS, |
5716 ssl_options, | 5937 ssl_options, |
5717 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 5938 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
5718 ASSERT_TRUE(test_server.Start()); | 5939 ASSERT_TRUE(test_server.Start()); |
5719 | 5940 |
5720 TestDelegate d; | 5941 TestDelegate d; |
5721 TestURLRequestContext context(true); | 5942 TestURLRequestContext context(true); |
5722 context.Init(); | 5943 context.Init(); |
5723 d.set_allow_certificate_errors(true); | 5944 d.set_allow_certificate_errors(true); |
5724 URLRequest r(test_server.GetURL(std::string()), &d, &context); | 5945 URLRequest r( |
| 5946 test_server.GetURL(std::string()), DEFAULT_PRIORITY, &d, &context); |
5725 r.Start(); | 5947 r.Start(); |
5726 | 5948 |
5727 base::RunLoop().Run(); | 5949 base::RunLoop().Run(); |
5728 | 5950 |
5729 EXPECT_EQ(1, d.response_started_count()); | 5951 EXPECT_EQ(1, d.response_started_count()); |
5730 EXPECT_NE(0, d.bytes_received()); | 5952 EXPECT_NE(0, d.bytes_received()); |
5731 EXPECT_EQ(static_cast<int>(SSL_CONNECTION_VERSION_TLS1), | 5953 EXPECT_EQ(static_cast<int>(SSL_CONNECTION_VERSION_TLS1), |
5732 SSLConnectionStatusToVersion(r.ssl_info().connection_status)); | 5954 SSLConnectionStatusToVersion(r.ssl_info().connection_status)); |
5733 EXPECT_TRUE(r.ssl_info().connection_status & SSL_CONNECTION_VERSION_FALLBACK); | 5955 EXPECT_TRUE(r.ssl_info().connection_status & SSL_CONNECTION_VERSION_FALLBACK); |
5734 } | 5956 } |
(...skipping 20 matching lines...) Expand all Loading... |
5755 TestURLRequestContext context(true); | 5977 TestURLRequestContext context(true); |
5756 context.set_network_delegate(&network_delegate); | 5978 context.set_network_delegate(&network_delegate); |
5757 context.set_host_resolver(&host_resolver); | 5979 context.set_host_resolver(&host_resolver); |
5758 TransportSecurityState transport_security_state; | 5980 TransportSecurityState transport_security_state; |
5759 context.set_transport_security_state(&transport_security_state); | 5981 context.set_transport_security_state(&transport_security_state); |
5760 context.Init(); | 5982 context.Init(); |
5761 | 5983 |
5762 TestDelegate d; | 5984 TestDelegate d; |
5763 URLRequest r(GURL(base::StringPrintf("https://www.google.com:%d", | 5985 URLRequest r(GURL(base::StringPrintf("https://www.google.com:%d", |
5764 test_server.host_port_pair().port())), | 5986 test_server.host_port_pair().port())), |
| 5987 DEFAULT_PRIORITY, |
5765 &d, | 5988 &d, |
5766 &context); | 5989 &context); |
5767 | 5990 |
5768 r.Start(); | 5991 r.Start(); |
5769 EXPECT_TRUE(r.is_pending()); | 5992 EXPECT_TRUE(r.is_pending()); |
5770 | 5993 |
5771 base::RunLoop().Run(); | 5994 base::RunLoop().Run(); |
5772 | 5995 |
5773 EXPECT_EQ(1, d.response_started_count()); | 5996 EXPECT_EQ(1, d.response_started_count()); |
5774 EXPECT_FALSE(d.received_data_before_response()); | 5997 EXPECT_FALSE(d.received_data_before_response()); |
(...skipping 28 matching lines...) Expand all Loading... |
5803 TransportSecurityState transport_security_state; | 6026 TransportSecurityState transport_security_state; |
5804 TransportSecurityState::DomainState domain_state; | 6027 TransportSecurityState::DomainState domain_state; |
5805 EXPECT_TRUE(transport_security_state.GetDomainState("www.google.com", true, | 6028 EXPECT_TRUE(transport_security_state.GetDomainState("www.google.com", true, |
5806 &domain_state)); | 6029 &domain_state)); |
5807 context.set_transport_security_state(&transport_security_state); | 6030 context.set_transport_security_state(&transport_security_state); |
5808 context.Init(); | 6031 context.Init(); |
5809 | 6032 |
5810 TestDelegate d; | 6033 TestDelegate d; |
5811 URLRequest r(GURL(base::StringPrintf("https://www.google.com:%d", | 6034 URLRequest r(GURL(base::StringPrintf("https://www.google.com:%d", |
5812 test_server.host_port_pair().port())), | 6035 test_server.host_port_pair().port())), |
| 6036 DEFAULT_PRIORITY, |
5813 &d, | 6037 &d, |
5814 &context); | 6038 &context); |
5815 | 6039 |
5816 r.Start(); | 6040 r.Start(); |
5817 EXPECT_TRUE(r.is_pending()); | 6041 EXPECT_TRUE(r.is_pending()); |
5818 | 6042 |
5819 base::RunLoop().Run(); | 6043 base::RunLoop().Run(); |
5820 | 6044 |
5821 EXPECT_EQ(1, d.response_started_count()); | 6045 EXPECT_EQ(1, d.response_started_count()); |
5822 EXPECT_FALSE(d.received_data_before_response()); | 6046 EXPECT_FALSE(d.received_data_before_response()); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5874 context.set_network_delegate(&network_delegate); | 6098 context.set_network_delegate(&network_delegate); |
5875 context.Init(); | 6099 context.Init(); |
5876 | 6100 |
5877 TestDelegate d; | 6101 TestDelegate d; |
5878 // Navigating to https://www.somewhere.com instead of https://127.0.0.1 will | 6102 // Navigating to https://www.somewhere.com instead of https://127.0.0.1 will |
5879 // cause a certificate error. Ignore the error. | 6103 // cause a certificate error. Ignore the error. |
5880 d.set_allow_certificate_errors(true); | 6104 d.set_allow_certificate_errors(true); |
5881 | 6105 |
5882 URLRequest req(GURL(base::StringPrintf("http://www.somewhere.com:%d/echo", | 6106 URLRequest req(GURL(base::StringPrintf("http://www.somewhere.com:%d/echo", |
5883 test_server.host_port_pair().port())), | 6107 test_server.host_port_pair().port())), |
| 6108 DEFAULT_PRIORITY, |
5884 &d, | 6109 &d, |
5885 &context); | 6110 &context); |
5886 req.set_method("POST"); | 6111 req.set_method("POST"); |
5887 req.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); | 6112 req.set_upload(make_scoped_ptr(CreateSimpleUploadData(kData))); |
5888 | 6113 |
5889 req.Start(); | 6114 req.Start(); |
5890 base::RunLoop().Run(); | 6115 base::RunLoop().Run(); |
5891 | 6116 |
5892 EXPECT_EQ("https", req.url().scheme()); | 6117 EXPECT_EQ("https", req.url().scheme()); |
5893 EXPECT_EQ("POST", req.method()); | 6118 EXPECT_EQ("POST", req.method()); |
(...skipping 13 matching lines...) Expand all Loading... |
5907 SpawnedTestServer test_server( | 6132 SpawnedTestServer test_server( |
5908 SpawnedTestServer::TYPE_HTTPS, | 6133 SpawnedTestServer::TYPE_HTTPS, |
5909 ssl_options, | 6134 ssl_options, |
5910 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 6135 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
5911 ASSERT_TRUE(test_server.Start()); | 6136 ASSERT_TRUE(test_server.Start()); |
5912 | 6137 |
5913 TestDelegate d; | 6138 TestDelegate d; |
5914 TestURLRequestContext context(true); | 6139 TestURLRequestContext context(true); |
5915 context.Init(); | 6140 context.Init(); |
5916 d.set_allow_certificate_errors(true); | 6141 d.set_allow_certificate_errors(true); |
5917 URLRequest r(test_server.GetURL(std::string()), &d, &context); | 6142 URLRequest r( |
| 6143 test_server.GetURL(std::string()), DEFAULT_PRIORITY, &d, &context); |
5918 r.Start(); | 6144 r.Start(); |
5919 | 6145 |
5920 base::RunLoop().Run(); | 6146 base::RunLoop().Run(); |
5921 | 6147 |
5922 EXPECT_EQ(1, d.response_started_count()); | 6148 EXPECT_EQ(1, d.response_started_count()); |
5923 EXPECT_NE(0, d.bytes_received()); | 6149 EXPECT_NE(0, d.bytes_received()); |
5924 EXPECT_EQ(static_cast<int>(SSL_CONNECTION_VERSION_SSL3), | 6150 EXPECT_EQ(static_cast<int>(SSL_CONNECTION_VERSION_SSL3), |
5925 SSLConnectionStatusToVersion(r.ssl_info().connection_status)); | 6151 SSLConnectionStatusToVersion(r.ssl_info().connection_status)); |
5926 EXPECT_TRUE(r.ssl_info().connection_status & SSL_CONNECTION_VERSION_FALLBACK); | 6152 EXPECT_TRUE(r.ssl_info().connection_status & SSL_CONNECTION_VERSION_FALLBACK); |
5927 } | 6153 } |
(...skipping 28 matching lines...) Expand all Loading... |
5956 SpawnedTestServer::SSLOptions ssl_options; | 6182 SpawnedTestServer::SSLOptions ssl_options; |
5957 ssl_options.request_client_certificate = true; | 6183 ssl_options.request_client_certificate = true; |
5958 SpawnedTestServer test_server( | 6184 SpawnedTestServer test_server( |
5959 SpawnedTestServer::TYPE_HTTPS, | 6185 SpawnedTestServer::TYPE_HTTPS, |
5960 ssl_options, | 6186 ssl_options, |
5961 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 6187 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
5962 ASSERT_TRUE(test_server.Start()); | 6188 ASSERT_TRUE(test_server.Start()); |
5963 | 6189 |
5964 SSLClientAuthTestDelegate d; | 6190 SSLClientAuthTestDelegate d; |
5965 { | 6191 { |
5966 URLRequest r(test_server.GetURL(std::string()), &d, &default_context_); | 6192 URLRequest r(test_server.GetURL(std::string()), |
| 6193 DEFAULT_PRIORITY, |
| 6194 &d, |
| 6195 &default_context_); |
5967 | 6196 |
5968 r.Start(); | 6197 r.Start(); |
5969 EXPECT_TRUE(r.is_pending()); | 6198 EXPECT_TRUE(r.is_pending()); |
5970 | 6199 |
5971 base::RunLoop().Run(); | 6200 base::RunLoop().Run(); |
5972 | 6201 |
5973 EXPECT_EQ(1, d.on_certificate_requested_count()); | 6202 EXPECT_EQ(1, d.on_certificate_requested_count()); |
5974 EXPECT_FALSE(d.received_data_before_response()); | 6203 EXPECT_FALSE(d.received_data_before_response()); |
5975 EXPECT_EQ(0, d.bytes_received()); | 6204 EXPECT_EQ(0, d.bytes_received()); |
5976 | 6205 |
(...skipping 18 matching lines...) Expand all Loading... |
5995 SpawnedTestServer test_server( | 6224 SpawnedTestServer test_server( |
5996 SpawnedTestServer::TYPE_HTTPS, | 6225 SpawnedTestServer::TYPE_HTTPS, |
5997 ssl_options, | 6226 ssl_options, |
5998 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 6227 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
5999 ASSERT_TRUE(test_server.Start()); | 6228 ASSERT_TRUE(test_server.Start()); |
6000 | 6229 |
6001 SSLClientSocket::ClearSessionCache(); | 6230 SSLClientSocket::ClearSessionCache(); |
6002 | 6231 |
6003 { | 6232 { |
6004 TestDelegate d; | 6233 TestDelegate d; |
6005 URLRequest r( | 6234 URLRequest r(test_server.GetURL("ssl-session-cache"), |
6006 test_server.GetURL("ssl-session-cache"), &d, &default_context_); | 6235 DEFAULT_PRIORITY, |
| 6236 &d, |
| 6237 &default_context_); |
6007 | 6238 |
6008 r.Start(); | 6239 r.Start(); |
6009 EXPECT_TRUE(r.is_pending()); | 6240 EXPECT_TRUE(r.is_pending()); |
6010 | 6241 |
6011 base::RunLoop().Run(); | 6242 base::RunLoop().Run(); |
6012 | 6243 |
6013 EXPECT_EQ(1, d.response_started_count()); | 6244 EXPECT_EQ(1, d.response_started_count()); |
6014 } | 6245 } |
6015 | 6246 |
6016 reinterpret_cast<HttpCache*>(default_context_.http_transaction_factory())-> | 6247 reinterpret_cast<HttpCache*>(default_context_.http_transaction_factory())-> |
6017 CloseAllConnections(); | 6248 CloseAllConnections(); |
6018 | 6249 |
6019 { | 6250 { |
6020 TestDelegate d; | 6251 TestDelegate d; |
6021 URLRequest r( | 6252 URLRequest r(test_server.GetURL("ssl-session-cache"), |
6022 test_server.GetURL("ssl-session-cache"), &d, &default_context_); | 6253 DEFAULT_PRIORITY, |
| 6254 &d, |
| 6255 &default_context_); |
6023 | 6256 |
6024 r.Start(); | 6257 r.Start(); |
6025 EXPECT_TRUE(r.is_pending()); | 6258 EXPECT_TRUE(r.is_pending()); |
6026 | 6259 |
6027 base::RunLoop().Run(); | 6260 base::RunLoop().Run(); |
6028 | 6261 |
6029 // The response will look like; | 6262 // The response will look like; |
6030 // insert abc | 6263 // insert abc |
6031 // lookup abc | 6264 // lookup abc |
6032 // insert xyz | 6265 // insert xyz |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6064 SpawnedTestServer test_server( | 6297 SpawnedTestServer test_server( |
6065 SpawnedTestServer::TYPE_HTTPS, | 6298 SpawnedTestServer::TYPE_HTTPS, |
6066 ssl_options, | 6299 ssl_options, |
6067 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 6300 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
6068 ASSERT_TRUE(test_server.Start()); | 6301 ASSERT_TRUE(test_server.Start()); |
6069 | 6302 |
6070 SSLClientSocket::ClearSessionCache(); | 6303 SSLClientSocket::ClearSessionCache(); |
6071 | 6304 |
6072 { | 6305 { |
6073 TestDelegate d; | 6306 TestDelegate d; |
6074 URLRequest r( | 6307 URLRequest r(test_server.GetURL("ssl-session-cache"), |
6075 test_server.GetURL("ssl-session-cache"), &d, &default_context_); | 6308 DEFAULT_PRIORITY, |
| 6309 &d, |
| 6310 &default_context_); |
6076 | 6311 |
6077 r.Start(); | 6312 r.Start(); |
6078 EXPECT_TRUE(r.is_pending()); | 6313 EXPECT_TRUE(r.is_pending()); |
6079 | 6314 |
6080 base::RunLoop().Run(); | 6315 base::RunLoop().Run(); |
6081 | 6316 |
6082 EXPECT_EQ(1, d.response_started_count()); | 6317 EXPECT_EQ(1, d.response_started_count()); |
6083 } | 6318 } |
6084 | 6319 |
6085 // Now create a new HttpCache with a different ssl_session_cache_shard value. | 6320 // Now create a new HttpCache with a different ssl_session_cache_shard value. |
(...skipping 10 matching lines...) Expand all Loading... |
6096 params.ssl_session_cache_shard = "alternate"; | 6331 params.ssl_session_cache_shard = "alternate"; |
6097 | 6332 |
6098 scoped_ptr<net::HttpCache> cache(new net::HttpCache( | 6333 scoped_ptr<net::HttpCache> cache(new net::HttpCache( |
6099 new net::HttpNetworkSession(params), | 6334 new net::HttpNetworkSession(params), |
6100 net::HttpCache::DefaultBackend::InMemory(0))); | 6335 net::HttpCache::DefaultBackend::InMemory(0))); |
6101 | 6336 |
6102 default_context_.set_http_transaction_factory(cache.get()); | 6337 default_context_.set_http_transaction_factory(cache.get()); |
6103 | 6338 |
6104 { | 6339 { |
6105 TestDelegate d; | 6340 TestDelegate d; |
6106 URLRequest r( | 6341 URLRequest r(test_server.GetURL("ssl-session-cache"), |
6107 test_server.GetURL("ssl-session-cache"), &d, &default_context_); | 6342 DEFAULT_PRIORITY, |
| 6343 &d, |
| 6344 &default_context_); |
6108 | 6345 |
6109 r.Start(); | 6346 r.Start(); |
6110 EXPECT_TRUE(r.is_pending()); | 6347 EXPECT_TRUE(r.is_pending()); |
6111 | 6348 |
6112 base::RunLoop().Run(); | 6349 base::RunLoop().Run(); |
6113 | 6350 |
6114 // The response will look like; | 6351 // The response will look like; |
6115 // insert abc | 6352 // insert abc |
6116 // insert xyz | 6353 // insert xyz |
6117 // | 6354 // |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6215 // We always overwrite out_cert_status. | 6452 // We always overwrite out_cert_status. |
6216 *out_cert_status = 0; | 6453 *out_cert_status = 0; |
6217 SpawnedTestServer test_server( | 6454 SpawnedTestServer test_server( |
6218 SpawnedTestServer::TYPE_HTTPS, | 6455 SpawnedTestServer::TYPE_HTTPS, |
6219 ssl_options, | 6456 ssl_options, |
6220 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 6457 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
6221 ASSERT_TRUE(test_server.Start()); | 6458 ASSERT_TRUE(test_server.Start()); |
6222 | 6459 |
6223 TestDelegate d; | 6460 TestDelegate d; |
6224 d.set_allow_certificate_errors(true); | 6461 d.set_allow_certificate_errors(true); |
6225 URLRequest r(test_server.GetURL(std::string()), &d, &context_); | 6462 URLRequest r( |
| 6463 test_server.GetURL(std::string()), DEFAULT_PRIORITY, &d, &context_); |
6226 r.Start(); | 6464 r.Start(); |
6227 | 6465 |
6228 base::RunLoop().Run(); | 6466 base::RunLoop().Run(); |
6229 | 6467 |
6230 EXPECT_EQ(1, d.response_started_count()); | 6468 EXPECT_EQ(1, d.response_started_count()); |
6231 *out_cert_status = r.ssl_info().cert_status; | 6469 *out_cert_status = r.ssl_info().cert_status; |
6232 } | 6470 } |
6233 | 6471 |
6234 virtual ~HTTPSOCSPTest() { | 6472 virtual ~HTTPSOCSPTest() { |
6235 #if defined(USE_NSS) || defined(OS_IOS) | 6473 #if defined(USE_NSS) || defined(OS_IOS) |
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6670 FtpNetworkLayer ftp_transaction_factory(default_context_.host_resolver()); | 6908 FtpNetworkLayer ftp_transaction_factory(default_context_.host_resolver()); |
6671 | 6909 |
6672 GURL url("ftp://127.0.0.1:7"); | 6910 GURL url("ftp://127.0.0.1:7"); |
6673 job_factory.SetProtocolHandler( | 6911 job_factory.SetProtocolHandler( |
6674 "ftp", | 6912 "ftp", |
6675 new FtpProtocolHandler(&ftp_transaction_factory)); | 6913 new FtpProtocolHandler(&ftp_transaction_factory)); |
6676 default_context_.set_job_factory(&job_factory); | 6914 default_context_.set_job_factory(&job_factory); |
6677 | 6915 |
6678 TestDelegate d; | 6916 TestDelegate d; |
6679 { | 6917 { |
6680 URLRequest r(url, &d, &default_context_); | 6918 URLRequest r(url, DEFAULT_PRIORITY, &d, &default_context_); |
6681 r.Start(); | 6919 r.Start(); |
6682 EXPECT_TRUE(r.is_pending()); | 6920 EXPECT_TRUE(r.is_pending()); |
6683 | 6921 |
6684 base::RunLoop().Run(); | 6922 base::RunLoop().Run(); |
6685 | 6923 |
6686 EXPECT_FALSE(r.is_pending()); | 6924 EXPECT_FALSE(r.is_pending()); |
6687 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); | 6925 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); |
6688 EXPECT_EQ(ERR_UNSAFE_PORT, r.status().error()); | 6926 EXPECT_EQ(ERR_UNSAFE_PORT, r.status().error()); |
6689 } | 6927 } |
6690 } | 6928 } |
6691 | 6929 |
6692 // Flaky, see http://crbug.com/25045. | 6930 // Flaky, see http://crbug.com/25045. |
6693 TEST_F(URLRequestTestFTP, DISABLED_FTPDirectoryListing) { | 6931 TEST_F(URLRequestTestFTP, DISABLED_FTPDirectoryListing) { |
6694 ASSERT_TRUE(test_server_.Start()); | 6932 ASSERT_TRUE(test_server_.Start()); |
6695 | 6933 |
6696 TestDelegate d; | 6934 TestDelegate d; |
6697 { | 6935 { |
6698 URLRequest r(test_server_.GetURL("/"), &d, &default_context_); | 6936 URLRequest r( |
| 6937 test_server_.GetURL("/"), DEFAULT_PRIORITY, &d, &default_context_); |
6699 r.Start(); | 6938 r.Start(); |
6700 EXPECT_TRUE(r.is_pending()); | 6939 EXPECT_TRUE(r.is_pending()); |
6701 | 6940 |
6702 base::RunLoop().Run(); | 6941 base::RunLoop().Run(); |
6703 | 6942 |
6704 EXPECT_FALSE(r.is_pending()); | 6943 EXPECT_FALSE(r.is_pending()); |
6705 EXPECT_EQ(1, d.response_started_count()); | 6944 EXPECT_EQ(1, d.response_started_count()); |
6706 EXPECT_FALSE(d.received_data_before_response()); | 6945 EXPECT_FALSE(d.received_data_before_response()); |
6707 EXPECT_LT(0, d.bytes_received()); | 6946 EXPECT_LT(0, d.bytes_received()); |
6708 EXPECT_EQ(test_server_.host_port_pair().host(), | 6947 EXPECT_EQ(test_server_.host_port_pair().host(), |
6709 r.GetSocketAddress().host()); | 6948 r.GetSocketAddress().host()); |
6710 EXPECT_EQ(test_server_.host_port_pair().port(), | 6949 EXPECT_EQ(test_server_.host_port_pair().port(), |
6711 r.GetSocketAddress().port()); | 6950 r.GetSocketAddress().port()); |
6712 } | 6951 } |
6713 } | 6952 } |
6714 | 6953 |
6715 // Flaky, see http://crbug.com/25045. | 6954 // Flaky, see http://crbug.com/25045. |
6716 TEST_F(URLRequestTestFTP, DISABLED_FTPGetTestAnonymous) { | 6955 TEST_F(URLRequestTestFTP, DISABLED_FTPGetTestAnonymous) { |
6717 ASSERT_TRUE(test_server_.Start()); | 6956 ASSERT_TRUE(test_server_.Start()); |
6718 | 6957 |
6719 base::FilePath app_path; | 6958 base::FilePath app_path; |
6720 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); | 6959 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); |
6721 app_path = app_path.AppendASCII("LICENSE"); | 6960 app_path = app_path.AppendASCII("LICENSE"); |
6722 TestDelegate d; | 6961 TestDelegate d; |
6723 { | 6962 { |
6724 URLRequest r(test_server_.GetURL("/LICENSE"), &d, &default_context_); | 6963 URLRequest r(test_server_.GetURL("/LICENSE"), |
| 6964 DEFAULT_PRIORITY, |
| 6965 &d, |
| 6966 &default_context_); |
6725 r.Start(); | 6967 r.Start(); |
6726 EXPECT_TRUE(r.is_pending()); | 6968 EXPECT_TRUE(r.is_pending()); |
6727 | 6969 |
6728 base::RunLoop().Run(); | 6970 base::RunLoop().Run(); |
6729 | 6971 |
6730 int64 file_size = 0; | 6972 int64 file_size = 0; |
6731 file_util::GetFileSize(app_path, &file_size); | 6973 file_util::GetFileSize(app_path, &file_size); |
6732 | 6974 |
6733 EXPECT_FALSE(r.is_pending()); | 6975 EXPECT_FALSE(r.is_pending()); |
6734 EXPECT_EQ(1, d.response_started_count()); | 6976 EXPECT_EQ(1, d.response_started_count()); |
(...skipping 10 matching lines...) Expand all Loading... |
6745 TEST_F(URLRequestTestFTP, DISABLED_FTPGetTest) { | 6987 TEST_F(URLRequestTestFTP, DISABLED_FTPGetTest) { |
6746 ASSERT_TRUE(test_server_.Start()); | 6988 ASSERT_TRUE(test_server_.Start()); |
6747 | 6989 |
6748 base::FilePath app_path; | 6990 base::FilePath app_path; |
6749 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); | 6991 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); |
6750 app_path = app_path.AppendASCII("LICENSE"); | 6992 app_path = app_path.AppendASCII("LICENSE"); |
6751 TestDelegate d; | 6993 TestDelegate d; |
6752 { | 6994 { |
6753 URLRequest r( | 6995 URLRequest r( |
6754 test_server_.GetURLWithUserAndPassword("/LICENSE", "chrome", "chrome"), | 6996 test_server_.GetURLWithUserAndPassword("/LICENSE", "chrome", "chrome"), |
| 6997 DEFAULT_PRIORITY, |
6755 &d, | 6998 &d, |
6756 &default_context_); | 6999 &default_context_); |
6757 r.Start(); | 7000 r.Start(); |
6758 EXPECT_TRUE(r.is_pending()); | 7001 EXPECT_TRUE(r.is_pending()); |
6759 | 7002 |
6760 base::RunLoop().Run(); | 7003 base::RunLoop().Run(); |
6761 | 7004 |
6762 int64 file_size = 0; | 7005 int64 file_size = 0; |
6763 file_util::GetFileSize(app_path, &file_size); | 7006 file_util::GetFileSize(app_path, &file_size); |
6764 | 7007 |
(...skipping 14 matching lines...) Expand all Loading... |
6779 | 7022 |
6780 // Flaky, see http://crbug.com/25045. | 7023 // Flaky, see http://crbug.com/25045. |
6781 TEST_F(URLRequestTestFTP, DISABLED_FTPCheckWrongPassword) { | 7024 TEST_F(URLRequestTestFTP, DISABLED_FTPCheckWrongPassword) { |
6782 ASSERT_TRUE(test_server_.Start()); | 7025 ASSERT_TRUE(test_server_.Start()); |
6783 | 7026 |
6784 base::FilePath app_path; | 7027 base::FilePath app_path; |
6785 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); | 7028 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); |
6786 app_path = app_path.AppendASCII("LICENSE"); | 7029 app_path = app_path.AppendASCII("LICENSE"); |
6787 TestDelegate d; | 7030 TestDelegate d; |
6788 { | 7031 { |
6789 URLRequest r( | 7032 URLRequest r(test_server_.GetURLWithUserAndPassword( |
6790 test_server_.GetURLWithUserAndPassword("/LICENSE", | 7033 "/LICENSE", "chrome", "wrong_password"), |
6791 "chrome", | 7034 DEFAULT_PRIORITY, |
6792 "wrong_password"), | 7035 &d, |
6793 &d, | 7036 &default_context_); |
6794 &default_context_); | |
6795 r.Start(); | 7037 r.Start(); |
6796 EXPECT_TRUE(r.is_pending()); | 7038 EXPECT_TRUE(r.is_pending()); |
6797 | 7039 |
6798 base::RunLoop().Run(); | 7040 base::RunLoop().Run(); |
6799 | 7041 |
6800 int64 file_size = 0; | 7042 int64 file_size = 0; |
6801 file_util::GetFileSize(app_path, &file_size); | 7043 file_util::GetFileSize(app_path, &file_size); |
6802 | 7044 |
6803 EXPECT_FALSE(r.is_pending()); | 7045 EXPECT_FALSE(r.is_pending()); |
6804 EXPECT_EQ(1, d.response_started_count()); | 7046 EXPECT_EQ(1, d.response_started_count()); |
6805 EXPECT_FALSE(d.received_data_before_response()); | 7047 EXPECT_FALSE(d.received_data_before_response()); |
6806 EXPECT_EQ(d.bytes_received(), 0); | 7048 EXPECT_EQ(d.bytes_received(), 0); |
6807 } | 7049 } |
6808 } | 7050 } |
6809 | 7051 |
6810 // Flaky, see http://crbug.com/25045. | 7052 // Flaky, see http://crbug.com/25045. |
6811 TEST_F(URLRequestTestFTP, DISABLED_FTPCheckWrongPasswordRestart) { | 7053 TEST_F(URLRequestTestFTP, DISABLED_FTPCheckWrongPasswordRestart) { |
6812 ASSERT_TRUE(test_server_.Start()); | 7054 ASSERT_TRUE(test_server_.Start()); |
6813 | 7055 |
6814 base::FilePath app_path; | 7056 base::FilePath app_path; |
6815 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); | 7057 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); |
6816 app_path = app_path.AppendASCII("LICENSE"); | 7058 app_path = app_path.AppendASCII("LICENSE"); |
6817 TestDelegate d; | 7059 TestDelegate d; |
6818 // Set correct login credentials. The delegate will be asked for them when | 7060 // Set correct login credentials. The delegate will be asked for them when |
6819 // the initial login with wrong credentials will fail. | 7061 // the initial login with wrong credentials will fail. |
6820 d.set_credentials(AuthCredentials(kChrome, kChrome)); | 7062 d.set_credentials(AuthCredentials(kChrome, kChrome)); |
6821 { | 7063 { |
6822 URLRequest r( | 7064 URLRequest r(test_server_.GetURLWithUserAndPassword( |
6823 test_server_.GetURLWithUserAndPassword("/LICENSE", | 7065 "/LICENSE", "chrome", "wrong_password"), |
6824 "chrome", | 7066 DEFAULT_PRIORITY, |
6825 "wrong_password"), | 7067 &d, |
6826 &d, | 7068 &default_context_); |
6827 &default_context_); | |
6828 r.Start(); | 7069 r.Start(); |
6829 EXPECT_TRUE(r.is_pending()); | 7070 EXPECT_TRUE(r.is_pending()); |
6830 | 7071 |
6831 base::RunLoop().Run(); | 7072 base::RunLoop().Run(); |
6832 | 7073 |
6833 int64 file_size = 0; | 7074 int64 file_size = 0; |
6834 file_util::GetFileSize(app_path, &file_size); | 7075 file_util::GetFileSize(app_path, &file_size); |
6835 | 7076 |
6836 EXPECT_FALSE(r.is_pending()); | 7077 EXPECT_FALSE(r.is_pending()); |
6837 EXPECT_EQ(1, d.response_started_count()); | 7078 EXPECT_EQ(1, d.response_started_count()); |
6838 EXPECT_FALSE(d.received_data_before_response()); | 7079 EXPECT_FALSE(d.received_data_before_response()); |
6839 EXPECT_EQ(d.bytes_received(), static_cast<int>(file_size)); | 7080 EXPECT_EQ(d.bytes_received(), static_cast<int>(file_size)); |
6840 } | 7081 } |
6841 } | 7082 } |
6842 | 7083 |
6843 // Flaky, see http://crbug.com/25045. | 7084 // Flaky, see http://crbug.com/25045. |
6844 TEST_F(URLRequestTestFTP, DISABLED_FTPCheckWrongUser) { | 7085 TEST_F(URLRequestTestFTP, DISABLED_FTPCheckWrongUser) { |
6845 ASSERT_TRUE(test_server_.Start()); | 7086 ASSERT_TRUE(test_server_.Start()); |
6846 | 7087 |
6847 base::FilePath app_path; | 7088 base::FilePath app_path; |
6848 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); | 7089 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); |
6849 app_path = app_path.AppendASCII("LICENSE"); | 7090 app_path = app_path.AppendASCII("LICENSE"); |
6850 TestDelegate d; | 7091 TestDelegate d; |
6851 { | 7092 { |
6852 URLRequest r( | 7093 URLRequest r(test_server_.GetURLWithUserAndPassword( |
6853 test_server_.GetURLWithUserAndPassword("/LICENSE", | 7094 "/LICENSE", "wrong_user", "chrome"), |
6854 "wrong_user", | 7095 DEFAULT_PRIORITY, |
6855 "chrome"), | 7096 &d, |
6856 &d, | 7097 &default_context_); |
6857 &default_context_); | |
6858 r.Start(); | 7098 r.Start(); |
6859 EXPECT_TRUE(r.is_pending()); | 7099 EXPECT_TRUE(r.is_pending()); |
6860 | 7100 |
6861 base::RunLoop().Run(); | 7101 base::RunLoop().Run(); |
6862 | 7102 |
6863 int64 file_size = 0; | 7103 int64 file_size = 0; |
6864 file_util::GetFileSize(app_path, &file_size); | 7104 file_util::GetFileSize(app_path, &file_size); |
6865 | 7105 |
6866 EXPECT_FALSE(r.is_pending()); | 7106 EXPECT_FALSE(r.is_pending()); |
6867 EXPECT_EQ(1, d.response_started_count()); | 7107 EXPECT_EQ(1, d.response_started_count()); |
6868 EXPECT_FALSE(d.received_data_before_response()); | 7108 EXPECT_FALSE(d.received_data_before_response()); |
6869 EXPECT_EQ(d.bytes_received(), 0); | 7109 EXPECT_EQ(d.bytes_received(), 0); |
6870 } | 7110 } |
6871 } | 7111 } |
6872 | 7112 |
6873 // Flaky, see http://crbug.com/25045. | 7113 // Flaky, see http://crbug.com/25045. |
6874 TEST_F(URLRequestTestFTP, DISABLED_FTPCheckWrongUserRestart) { | 7114 TEST_F(URLRequestTestFTP, DISABLED_FTPCheckWrongUserRestart) { |
6875 ASSERT_TRUE(test_server_.Start()); | 7115 ASSERT_TRUE(test_server_.Start()); |
6876 | 7116 |
6877 base::FilePath app_path; | 7117 base::FilePath app_path; |
6878 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); | 7118 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); |
6879 app_path = app_path.AppendASCII("LICENSE"); | 7119 app_path = app_path.AppendASCII("LICENSE"); |
6880 TestDelegate d; | 7120 TestDelegate d; |
6881 // Set correct login credentials. The delegate will be asked for them when | 7121 // Set correct login credentials. The delegate will be asked for them when |
6882 // the initial login with wrong credentials will fail. | 7122 // the initial login with wrong credentials will fail. |
6883 d.set_credentials(AuthCredentials(kChrome, kChrome)); | 7123 d.set_credentials(AuthCredentials(kChrome, kChrome)); |
6884 { | 7124 { |
6885 URLRequest r( | 7125 URLRequest r(test_server_.GetURLWithUserAndPassword( |
6886 test_server_.GetURLWithUserAndPassword("/LICENSE", | 7126 "/LICENSE", "wrong_user", "chrome"), |
6887 "wrong_user", | 7127 DEFAULT_PRIORITY, |
6888 "chrome"), | 7128 &d, |
6889 &d, | 7129 &default_context_); |
6890 &default_context_); | |
6891 r.Start(); | 7130 r.Start(); |
6892 EXPECT_TRUE(r.is_pending()); | 7131 EXPECT_TRUE(r.is_pending()); |
6893 | 7132 |
6894 base::RunLoop().Run(); | 7133 base::RunLoop().Run(); |
6895 | 7134 |
6896 int64 file_size = 0; | 7135 int64 file_size = 0; |
6897 file_util::GetFileSize(app_path, &file_size); | 7136 file_util::GetFileSize(app_path, &file_size); |
6898 | 7137 |
6899 EXPECT_FALSE(r.is_pending()); | 7138 EXPECT_FALSE(r.is_pending()); |
6900 EXPECT_EQ(1, d.response_started_count()); | 7139 EXPECT_EQ(1, d.response_started_count()); |
6901 EXPECT_FALSE(d.received_data_before_response()); | 7140 EXPECT_FALSE(d.received_data_before_response()); |
6902 EXPECT_EQ(d.bytes_received(), static_cast<int>(file_size)); | 7141 EXPECT_EQ(d.bytes_received(), static_cast<int>(file_size)); |
6903 } | 7142 } |
6904 } | 7143 } |
6905 | 7144 |
6906 // Flaky, see http://crbug.com/25045. | 7145 // Flaky, see http://crbug.com/25045. |
6907 TEST_F(URLRequestTestFTP, DISABLED_FTPCacheURLCredentials) { | 7146 TEST_F(URLRequestTestFTP, DISABLED_FTPCacheURLCredentials) { |
6908 ASSERT_TRUE(test_server_.Start()); | 7147 ASSERT_TRUE(test_server_.Start()); |
6909 | 7148 |
6910 base::FilePath app_path; | 7149 base::FilePath app_path; |
6911 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); | 7150 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); |
6912 app_path = app_path.AppendASCII("LICENSE"); | 7151 app_path = app_path.AppendASCII("LICENSE"); |
6913 | 7152 |
6914 scoped_ptr<TestDelegate> d(new TestDelegate); | 7153 scoped_ptr<TestDelegate> d(new TestDelegate); |
6915 { | 7154 { |
6916 // Pass correct login identity in the URL. | 7155 // Pass correct login identity in the URL. |
6917 URLRequest r( | 7156 URLRequest r( |
6918 test_server_.GetURLWithUserAndPassword("/LICENSE", | 7157 test_server_.GetURLWithUserAndPassword("/LICENSE", "chrome", "chrome"), |
6919 "chrome", | 7158 DEFAULT_PRIORITY, |
6920 "chrome"), | |
6921 d.get(), | 7159 d.get(), |
6922 &default_context_); | 7160 &default_context_); |
6923 r.Start(); | 7161 r.Start(); |
6924 EXPECT_TRUE(r.is_pending()); | 7162 EXPECT_TRUE(r.is_pending()); |
6925 | 7163 |
6926 base::RunLoop().Run(); | 7164 base::RunLoop().Run(); |
6927 | 7165 |
6928 int64 file_size = 0; | 7166 int64 file_size = 0; |
6929 file_util::GetFileSize(app_path, &file_size); | 7167 file_util::GetFileSize(app_path, &file_size); |
6930 | 7168 |
6931 EXPECT_FALSE(r.is_pending()); | 7169 EXPECT_FALSE(r.is_pending()); |
6932 EXPECT_EQ(1, d->response_started_count()); | 7170 EXPECT_EQ(1, d->response_started_count()); |
6933 EXPECT_FALSE(d->received_data_before_response()); | 7171 EXPECT_FALSE(d->received_data_before_response()); |
6934 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); | 7172 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); |
6935 } | 7173 } |
6936 | 7174 |
6937 d.reset(new TestDelegate); | 7175 d.reset(new TestDelegate); |
6938 { | 7176 { |
6939 // This request should use cached identity from previous request. | 7177 // This request should use cached identity from previous request. |
6940 URLRequest r(test_server_.GetURL("/LICENSE"), d.get(), &default_context_); | 7178 URLRequest r(test_server_.GetURL("/LICENSE"), |
| 7179 DEFAULT_PRIORITY, |
| 7180 d.get(), |
| 7181 &default_context_); |
6941 r.Start(); | 7182 r.Start(); |
6942 EXPECT_TRUE(r.is_pending()); | 7183 EXPECT_TRUE(r.is_pending()); |
6943 | 7184 |
6944 base::RunLoop().Run(); | 7185 base::RunLoop().Run(); |
6945 | 7186 |
6946 int64 file_size = 0; | 7187 int64 file_size = 0; |
6947 file_util::GetFileSize(app_path, &file_size); | 7188 file_util::GetFileSize(app_path, &file_size); |
6948 | 7189 |
6949 EXPECT_FALSE(r.is_pending()); | 7190 EXPECT_FALSE(r.is_pending()); |
6950 EXPECT_EQ(1, d->response_started_count()); | 7191 EXPECT_EQ(1, d->response_started_count()); |
6951 EXPECT_FALSE(d->received_data_before_response()); | 7192 EXPECT_FALSE(d->received_data_before_response()); |
6952 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); | 7193 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); |
6953 } | 7194 } |
6954 } | 7195 } |
6955 | 7196 |
6956 // Flaky, see http://crbug.com/25045. | 7197 // Flaky, see http://crbug.com/25045. |
6957 TEST_F(URLRequestTestFTP, DISABLED_FTPCacheLoginBoxCredentials) { | 7198 TEST_F(URLRequestTestFTP, DISABLED_FTPCacheLoginBoxCredentials) { |
6958 ASSERT_TRUE(test_server_.Start()); | 7199 ASSERT_TRUE(test_server_.Start()); |
6959 | 7200 |
6960 base::FilePath app_path; | 7201 base::FilePath app_path; |
6961 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); | 7202 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); |
6962 app_path = app_path.AppendASCII("LICENSE"); | 7203 app_path = app_path.AppendASCII("LICENSE"); |
6963 | 7204 |
6964 scoped_ptr<TestDelegate> d(new TestDelegate); | 7205 scoped_ptr<TestDelegate> d(new TestDelegate); |
6965 // Set correct login credentials. The delegate will be asked for them when | 7206 // Set correct login credentials. The delegate will be asked for them when |
6966 // the initial login with wrong credentials will fail. | 7207 // the initial login with wrong credentials will fail. |
6967 d->set_credentials(AuthCredentials(kChrome, kChrome)); | 7208 d->set_credentials(AuthCredentials(kChrome, kChrome)); |
6968 { | 7209 { |
6969 URLRequest r( | 7210 URLRequest r(test_server_.GetURLWithUserAndPassword( |
6970 test_server_.GetURLWithUserAndPassword("/LICENSE", | 7211 "/LICENSE", "chrome", "wrong_password"), |
6971 "chrome", | 7212 DEFAULT_PRIORITY, |
6972 "wrong_password"), | 7213 d.get(), |
6973 d.get(), | 7214 &default_context_); |
6974 &default_context_); | |
6975 r.Start(); | 7215 r.Start(); |
6976 EXPECT_TRUE(r.is_pending()); | 7216 EXPECT_TRUE(r.is_pending()); |
6977 | 7217 |
6978 base::RunLoop().Run(); | 7218 base::RunLoop().Run(); |
6979 | 7219 |
6980 int64 file_size = 0; | 7220 int64 file_size = 0; |
6981 file_util::GetFileSize(app_path, &file_size); | 7221 file_util::GetFileSize(app_path, &file_size); |
6982 | 7222 |
6983 EXPECT_FALSE(r.is_pending()); | 7223 EXPECT_FALSE(r.is_pending()); |
6984 EXPECT_EQ(1, d->response_started_count()); | 7224 EXPECT_EQ(1, d->response_started_count()); |
6985 EXPECT_FALSE(d->received_data_before_response()); | 7225 EXPECT_FALSE(d->received_data_before_response()); |
6986 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); | 7226 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); |
6987 } | 7227 } |
6988 | 7228 |
6989 // Use a new delegate without explicit credentials. The cached ones should be | 7229 // Use a new delegate without explicit credentials. The cached ones should be |
6990 // used. | 7230 // used. |
6991 d.reset(new TestDelegate); | 7231 d.reset(new TestDelegate); |
6992 { | 7232 { |
6993 // Don't pass wrong credentials in the URL, they would override valid cached | 7233 // Don't pass wrong credentials in the URL, they would override valid cached |
6994 // ones. | 7234 // ones. |
6995 URLRequest r(test_server_.GetURL("/LICENSE"), d.get(), &default_context_); | 7235 URLRequest r(test_server_.GetURL("/LICENSE"), |
| 7236 DEFAULT_PRIORITY, |
| 7237 d.get(), |
| 7238 &default_context_); |
6996 r.Start(); | 7239 r.Start(); |
6997 EXPECT_TRUE(r.is_pending()); | 7240 EXPECT_TRUE(r.is_pending()); |
6998 | 7241 |
6999 base::RunLoop().Run(); | 7242 base::RunLoop().Run(); |
7000 | 7243 |
7001 int64 file_size = 0; | 7244 int64 file_size = 0; |
7002 file_util::GetFileSize(app_path, &file_size); | 7245 file_util::GetFileSize(app_path, &file_size); |
7003 | 7246 |
7004 EXPECT_FALSE(r.is_pending()); | 7247 EXPECT_FALSE(r.is_pending()); |
7005 EXPECT_EQ(1, d->response_started_count()); | 7248 EXPECT_EQ(1, d->response_started_count()); |
7006 EXPECT_FALSE(d->received_data_before_response()); | 7249 EXPECT_FALSE(d->received_data_before_response()); |
7007 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); | 7250 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); |
7008 } | 7251 } |
7009 } | 7252 } |
7010 #endif // !defined(DISABLE_FTP_SUPPORT) | 7253 #endif // !defined(DISABLE_FTP_SUPPORT) |
7011 | 7254 |
7012 } // namespace net | 7255 } // namespace net |
OLD | NEW |