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

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

Issue 2315613002: Extracted NetLog class's inner enum types into their own enum classes and (Closed)
Patch Set: Ran "git cl format" on code. Much formatting ensued. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/http/http_cache_transaction.cc ('k') | net/http/http_network_transaction.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/http/http_cache.h" 5 #include "net/http/http_cache.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 25 matching lines...) Expand all
36 #include "net/http/http_byte_range.h" 36 #include "net/http/http_byte_range.h"
37 #include "net/http/http_cache_transaction.h" 37 #include "net/http/http_cache_transaction.h"
38 #include "net/http/http_request_headers.h" 38 #include "net/http/http_request_headers.h"
39 #include "net/http/http_request_info.h" 39 #include "net/http/http_request_info.h"
40 #include "net/http/http_response_headers.h" 40 #include "net/http/http_response_headers.h"
41 #include "net/http/http_response_info.h" 41 #include "net/http/http_response_info.h"
42 #include "net/http/http_transaction.h" 42 #include "net/http/http_transaction.h"
43 #include "net/http/http_transaction_test_util.h" 43 #include "net/http/http_transaction_test_util.h"
44 #include "net/http/http_util.h" 44 #include "net/http/http_util.h"
45 #include "net/http/mock_http_cache.h" 45 #include "net/http/mock_http_cache.h"
46 #include "net/log/net_log_event_type.h"
46 #include "net/log/test_net_log.h" 47 #include "net/log/test_net_log.h"
47 #include "net/log/test_net_log_entry.h" 48 #include "net/log/test_net_log_entry.h"
48 #include "net/log/test_net_log_util.h" 49 #include "net/log/test_net_log_util.h"
49 #include "net/socket/client_socket_handle.h" 50 #include "net/socket/client_socket_handle.h"
50 #include "net/ssl/ssl_cert_request_info.h" 51 #include "net/ssl/ssl_cert_request_info.h"
51 #include "net/ssl/ssl_connection_status_flags.h" 52 #include "net/ssl/ssl_connection_status_flags.h"
52 #include "net/test/cert_test_util.h" 53 #include "net/test/cert_test_util.h"
53 #include "net/test/gtest_util.h" 54 #include "net/test/gtest_util.h"
54 #include "net/test/test_data_directory.h" 55 #include "net/test/test_data_directory.h"
55 #include "net/websockets/websocket_handshake_stream_base.h" 56 #include "net/websockets/websocket_handshake_stream_base.h"
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 return NULL; 586 return NULL;
586 } 587 }
587 WebSocketHandshakeStreamBase* CreateSpdyStream( 588 WebSocketHandshakeStreamBase* CreateSpdyStream(
588 const base::WeakPtr<SpdySession>& session, 589 const base::WeakPtr<SpdySession>& session,
589 bool use_relative_url) override { 590 bool use_relative_url) override {
590 return NULL; 591 return NULL;
591 } 592 }
592 }; 593 };
593 594
594 // Returns true if |entry| is not one of the log types paid attention to in this 595 // Returns true if |entry| is not one of the log types paid attention to in this
595 // test. Note that TYPE_HTTP_CACHE_WRITE_INFO and TYPE_HTTP_CACHE_*_DATA are 596 // test. Note that HTTP_CACHE_WRITE_INFO and HTTP_CACHE_*_DATA are
596 // ignored. 597 // ignored.
597 bool ShouldIgnoreLogEntry(const TestNetLogEntry& entry) { 598 bool ShouldIgnoreLogEntry(const TestNetLogEntry& entry) {
598 switch (entry.type) { 599 switch (entry.type) {
599 case NetLog::TYPE_HTTP_CACHE_GET_BACKEND: 600 case NetLogEventType::HTTP_CACHE_GET_BACKEND:
600 case NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY: 601 case NetLogEventType::HTTP_CACHE_OPEN_ENTRY:
601 case NetLog::TYPE_HTTP_CACHE_CREATE_ENTRY: 602 case NetLogEventType::HTTP_CACHE_CREATE_ENTRY:
602 case NetLog::TYPE_HTTP_CACHE_ADD_TO_ENTRY: 603 case NetLogEventType::HTTP_CACHE_ADD_TO_ENTRY:
603 case NetLog::TYPE_HTTP_CACHE_DOOM_ENTRY: 604 case NetLogEventType::HTTP_CACHE_DOOM_ENTRY:
604 case NetLog::TYPE_HTTP_CACHE_READ_INFO: 605 case NetLogEventType::HTTP_CACHE_READ_INFO:
605 return false; 606 return false;
606 default: 607 default:
607 return true; 608 return true;
608 } 609 }
609 } 610 }
610 611
611 // Modifies |entries| to only include log entries created by the cache layer and 612 // Modifies |entries| to only include log entries created by the cache layer and
612 // asserted on in these tests. 613 // asserted on in these tests.
613 void FilterLogEntries(TestNetLogEntry::List* entries) { 614 void FilterLogEntries(TestNetLogEntry::List* entries) {
614 entries->erase(std::remove_if(entries->begin(), entries->end(), 615 entries->erase(std::remove_if(entries->begin(), entries->end(),
615 &ShouldIgnoreLogEntry), 616 &ShouldIgnoreLogEntry),
616 entries->end()); 617 entries->end());
617 } 618 }
618 619
619 bool LogContainsEventType(const BoundTestNetLog& log, 620 bool LogContainsEventType(const BoundTestNetLog& log,
620 NetLog::EventType expected) { 621 NetLogEventType expected) {
621 TestNetLogEntry::List entries; 622 TestNetLogEntry::List entries;
622 log.GetEntries(&entries); 623 log.GetEntries(&entries);
623 for (size_t i = 0; i < entries.size(); i++) { 624 for (size_t i = 0; i < entries.size(); i++) {
624 if (entries[i].type == expected) 625 if (entries[i].type == expected)
625 return true; 626 return true;
626 } 627 }
627 return false; 628 return false;
628 } 629 }
629 630
630 } // namespace 631 } // namespace
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
678 RunTransactionTestAndGetTiming(cache.http_cache(), kSimpleGET_Transaction, 679 RunTransactionTestAndGetTiming(cache.http_cache(), kSimpleGET_Transaction,
679 log.bound(), &load_timing_info); 680 log.bound(), &load_timing_info);
680 681
681 // Check that the NetLog was filled as expected. 682 // Check that the NetLog was filled as expected.
682 // (We attempted to both Open and Create entries, but both failed). 683 // (We attempted to both Open and Create entries, but both failed).
683 TestNetLogEntry::List entries; 684 TestNetLogEntry::List entries;
684 log.GetEntries(&entries); 685 log.GetEntries(&entries);
685 FilterLogEntries(&entries); 686 FilterLogEntries(&entries);
686 687
687 EXPECT_EQ(6u, entries.size()); 688 EXPECT_EQ(6u, entries.size());
689 EXPECT_TRUE(LogContainsBeginEvent(entries, 0,
690 NetLogEventType::HTTP_CACHE_GET_BACKEND));
688 EXPECT_TRUE( 691 EXPECT_TRUE(
689 LogContainsBeginEvent(entries, 0, NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); 692 LogContainsEndEvent(entries, 1, NetLogEventType::HTTP_CACHE_GET_BACKEND));
693 EXPECT_TRUE(LogContainsBeginEvent(entries, 2,
694 NetLogEventType::HTTP_CACHE_OPEN_ENTRY));
690 EXPECT_TRUE( 695 EXPECT_TRUE(
691 LogContainsEndEvent(entries, 1, NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); 696 LogContainsEndEvent(entries, 3, NetLogEventType::HTTP_CACHE_OPEN_ENTRY));
692 EXPECT_TRUE( 697 EXPECT_TRUE(LogContainsBeginEvent(entries, 4,
693 LogContainsBeginEvent(entries, 2, NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY)); 698 NetLogEventType::HTTP_CACHE_CREATE_ENTRY));
694 EXPECT_TRUE( 699 EXPECT_TRUE(LogContainsEndEvent(entries, 5,
695 LogContainsEndEvent(entries, 3, NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY)); 700 NetLogEventType::HTTP_CACHE_CREATE_ENTRY));
696 EXPECT_TRUE(
697 LogContainsBeginEvent(entries, 4, NetLog::TYPE_HTTP_CACHE_CREATE_ENTRY));
698 EXPECT_TRUE(
699 LogContainsEndEvent(entries, 5, NetLog::TYPE_HTTP_CACHE_CREATE_ENTRY));
700 701
701 EXPECT_EQ(1, cache.network_layer()->transaction_count()); 702 EXPECT_EQ(1, cache.network_layer()->transaction_count());
702 EXPECT_EQ(0, cache.disk_cache()->open_count()); 703 EXPECT_EQ(0, cache.disk_cache()->open_count());
703 EXPECT_EQ(0, cache.disk_cache()->create_count()); 704 EXPECT_EQ(0, cache.disk_cache()->create_count());
704 TestLoadTimingNetworkRequest(load_timing_info); 705 TestLoadTimingNetworkRequest(load_timing_info);
705 } 706 }
706 707
707 TEST(HttpCache, SimpleGETNoDiskCache2) { 708 TEST(HttpCache, SimpleGETNoDiskCache2) {
708 // This will initialize a cache object with NULL backend. 709 // This will initialize a cache object with NULL backend.
709 std::unique_ptr<MockBlockingBackendFactory> factory( 710 std::unique_ptr<MockBlockingBackendFactory> factory(
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
844 // Write to the cache. 845 // Write to the cache.
845 RunTransactionTestAndGetTiming(cache.http_cache(), kSimpleGET_Transaction, 846 RunTransactionTestAndGetTiming(cache.http_cache(), kSimpleGET_Transaction,
846 log.bound(), &load_timing_info); 847 log.bound(), &load_timing_info);
847 848
848 // Check that the NetLog was filled as expected. 849 // Check that the NetLog was filled as expected.
849 TestNetLogEntry::List entries; 850 TestNetLogEntry::List entries;
850 log.GetEntries(&entries); 851 log.GetEntries(&entries);
851 FilterLogEntries(&entries); 852 FilterLogEntries(&entries);
852 853
853 EXPECT_EQ(8u, entries.size()); 854 EXPECT_EQ(8u, entries.size());
855 EXPECT_TRUE(LogContainsBeginEvent(entries, 0,
856 NetLogEventType::HTTP_CACHE_GET_BACKEND));
854 EXPECT_TRUE( 857 EXPECT_TRUE(
855 LogContainsBeginEvent(entries, 0, NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); 858 LogContainsEndEvent(entries, 1, NetLogEventType::HTTP_CACHE_GET_BACKEND));
859 EXPECT_TRUE(LogContainsBeginEvent(entries, 2,
860 NetLogEventType::HTTP_CACHE_OPEN_ENTRY));
856 EXPECT_TRUE( 861 EXPECT_TRUE(
857 LogContainsEndEvent(entries, 1, NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); 862 LogContainsEndEvent(entries, 3, NetLogEventType::HTTP_CACHE_OPEN_ENTRY));
858 EXPECT_TRUE( 863 EXPECT_TRUE(LogContainsBeginEvent(entries, 4,
859 LogContainsBeginEvent(entries, 2, NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY)); 864 NetLogEventType::HTTP_CACHE_CREATE_ENTRY));
860 EXPECT_TRUE( 865 EXPECT_TRUE(LogContainsEndEvent(entries, 5,
861 LogContainsEndEvent(entries, 3, NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY)); 866 NetLogEventType::HTTP_CACHE_CREATE_ENTRY));
862 EXPECT_TRUE( 867 EXPECT_TRUE(LogContainsBeginEvent(entries, 6,
863 LogContainsBeginEvent(entries, 4, NetLog::TYPE_HTTP_CACHE_CREATE_ENTRY)); 868 NetLogEventType::HTTP_CACHE_ADD_TO_ENTRY));
864 EXPECT_TRUE( 869 EXPECT_TRUE(LogContainsEndEvent(entries, 7,
865 LogContainsEndEvent(entries, 5, NetLog::TYPE_HTTP_CACHE_CREATE_ENTRY)); 870 NetLogEventType::HTTP_CACHE_ADD_TO_ENTRY));
866 EXPECT_TRUE(
867 LogContainsBeginEvent(entries, 6, NetLog::TYPE_HTTP_CACHE_ADD_TO_ENTRY));
868 EXPECT_TRUE(
869 LogContainsEndEvent(entries, 7, NetLog::TYPE_HTTP_CACHE_ADD_TO_ENTRY));
870 871
871 TestLoadTimingNetworkRequest(load_timing_info); 872 TestLoadTimingNetworkRequest(load_timing_info);
872 873
873 // Force this transaction to read from the cache. 874 // Force this transaction to read from the cache.
874 MockTransaction transaction(kSimpleGET_Transaction); 875 MockTransaction transaction(kSimpleGET_Transaction);
875 transaction.load_flags |= LOAD_ONLY_FROM_CACHE; 876 transaction.load_flags |= LOAD_ONLY_FROM_CACHE;
876 877
877 log.Clear(); 878 log.Clear();
878 879
879 RunTransactionTestAndGetTiming(cache.http_cache(), transaction, log.bound(), 880 RunTransactionTestAndGetTiming(cache.http_cache(), transaction, log.bound(),
880 &load_timing_info); 881 &load_timing_info);
881 882
882 // Check that the NetLog was filled as expected. 883 // Check that the NetLog was filled as expected.
883 log.GetEntries(&entries); 884 log.GetEntries(&entries);
884 FilterLogEntries(&entries); 885 FilterLogEntries(&entries);
885 886
886 EXPECT_EQ(8u, entries.size()); 887 EXPECT_EQ(8u, entries.size());
888 EXPECT_TRUE(LogContainsBeginEvent(entries, 0,
889 NetLogEventType::HTTP_CACHE_GET_BACKEND));
887 EXPECT_TRUE( 890 EXPECT_TRUE(
888 LogContainsBeginEvent(entries, 0, NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); 891 LogContainsEndEvent(entries, 1, NetLogEventType::HTTP_CACHE_GET_BACKEND));
892 EXPECT_TRUE(LogContainsBeginEvent(entries, 2,
893 NetLogEventType::HTTP_CACHE_OPEN_ENTRY));
889 EXPECT_TRUE( 894 EXPECT_TRUE(
890 LogContainsEndEvent(entries, 1, NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); 895 LogContainsEndEvent(entries, 3, NetLogEventType::HTTP_CACHE_OPEN_ENTRY));
896 EXPECT_TRUE(LogContainsBeginEvent(entries, 4,
897 NetLogEventType::HTTP_CACHE_ADD_TO_ENTRY));
898 EXPECT_TRUE(LogContainsEndEvent(entries, 5,
899 NetLogEventType::HTTP_CACHE_ADD_TO_ENTRY));
891 EXPECT_TRUE( 900 EXPECT_TRUE(
892 LogContainsBeginEvent(entries, 2, NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY)); 901 LogContainsBeginEvent(entries, 6, NetLogEventType::HTTP_CACHE_READ_INFO));
893 EXPECT_TRUE( 902 EXPECT_TRUE(
894 LogContainsEndEvent(entries, 3, NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY)); 903 LogContainsEndEvent(entries, 7, NetLogEventType::HTTP_CACHE_READ_INFO));
895 EXPECT_TRUE(
896 LogContainsBeginEvent(entries, 4, NetLog::TYPE_HTTP_CACHE_ADD_TO_ENTRY));
897 EXPECT_TRUE(
898 LogContainsEndEvent(entries, 5, NetLog::TYPE_HTTP_CACHE_ADD_TO_ENTRY));
899 EXPECT_TRUE(
900 LogContainsBeginEvent(entries, 6, NetLog::TYPE_HTTP_CACHE_READ_INFO));
901 EXPECT_TRUE(
902 LogContainsEndEvent(entries, 7, NetLog::TYPE_HTTP_CACHE_READ_INFO));
903 904
904 EXPECT_EQ(1, cache.network_layer()->transaction_count()); 905 EXPECT_EQ(1, cache.network_layer()->transaction_count());
905 EXPECT_EQ(1, cache.disk_cache()->open_count()); 906 EXPECT_EQ(1, cache.disk_cache()->open_count());
906 EXPECT_EQ(1, cache.disk_cache()->create_count()); 907 EXPECT_EQ(1, cache.disk_cache()->create_count());
907 TestLoadTimingCachedResponse(load_timing_info); 908 TestLoadTimingCachedResponse(load_timing_info);
908 } 909 }
909 910
910 TEST(HttpCache, SimpleGET_LoadOnlyFromCache_Miss) { 911 TEST(HttpCache, SimpleGET_LoadOnlyFromCache_Miss) {
911 MockHttpCache cache; 912 MockHttpCache cache;
912 913
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
1105 // Write to the cache. 1106 // Write to the cache.
1106 RunTransactionTestAndGetTiming(cache.http_cache(), transaction, log.bound(), 1107 RunTransactionTestAndGetTiming(cache.http_cache(), transaction, log.bound(),
1107 &load_timing_info); 1108 &load_timing_info);
1108 1109
1109 // Check that the NetLog was filled as expected. 1110 // Check that the NetLog was filled as expected.
1110 TestNetLogEntry::List entries; 1111 TestNetLogEntry::List entries;
1111 log.GetEntries(&entries); 1112 log.GetEntries(&entries);
1112 FilterLogEntries(&entries); 1113 FilterLogEntries(&entries);
1113 1114
1114 EXPECT_EQ(8u, entries.size()); 1115 EXPECT_EQ(8u, entries.size());
1116 EXPECT_TRUE(LogContainsBeginEvent(entries, 0,
1117 NetLogEventType::HTTP_CACHE_GET_BACKEND));
1115 EXPECT_TRUE( 1118 EXPECT_TRUE(
1116 LogContainsBeginEvent(entries, 0, NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); 1119 LogContainsEndEvent(entries, 1, NetLogEventType::HTTP_CACHE_GET_BACKEND));
1120 EXPECT_TRUE(LogContainsBeginEvent(entries, 2,
1121 NetLogEventType::HTTP_CACHE_DOOM_ENTRY));
1117 EXPECT_TRUE( 1122 EXPECT_TRUE(
1118 LogContainsEndEvent(entries, 1, NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); 1123 LogContainsEndEvent(entries, 3, NetLogEventType::HTTP_CACHE_DOOM_ENTRY));
1119 EXPECT_TRUE( 1124 EXPECT_TRUE(LogContainsBeginEvent(entries, 4,
1120 LogContainsBeginEvent(entries, 2, NetLog::TYPE_HTTP_CACHE_DOOM_ENTRY)); 1125 NetLogEventType::HTTP_CACHE_CREATE_ENTRY));
1121 EXPECT_TRUE( 1126 EXPECT_TRUE(LogContainsEndEvent(entries, 5,
1122 LogContainsEndEvent(entries, 3, NetLog::TYPE_HTTP_CACHE_DOOM_ENTRY)); 1127 NetLogEventType::HTTP_CACHE_CREATE_ENTRY));
1123 EXPECT_TRUE( 1128 EXPECT_TRUE(LogContainsBeginEvent(entries, 6,
1124 LogContainsBeginEvent(entries, 4, NetLog::TYPE_HTTP_CACHE_CREATE_ENTRY)); 1129 NetLogEventType::HTTP_CACHE_ADD_TO_ENTRY));
1125 EXPECT_TRUE( 1130 EXPECT_TRUE(LogContainsEndEvent(entries, 7,
1126 LogContainsEndEvent(entries, 5, NetLog::TYPE_HTTP_CACHE_CREATE_ENTRY)); 1131 NetLogEventType::HTTP_CACHE_ADD_TO_ENTRY));
1127 EXPECT_TRUE(
1128 LogContainsBeginEvent(entries, 6, NetLog::TYPE_HTTP_CACHE_ADD_TO_ENTRY));
1129 EXPECT_TRUE(
1130 LogContainsEndEvent(entries, 7, NetLog::TYPE_HTTP_CACHE_ADD_TO_ENTRY));
1131 1132
1132 EXPECT_EQ(2, cache.network_layer()->transaction_count()); 1133 EXPECT_EQ(2, cache.network_layer()->transaction_count());
1133 EXPECT_EQ(0, cache.disk_cache()->open_count()); 1134 EXPECT_EQ(0, cache.disk_cache()->open_count());
1134 EXPECT_EQ(2, cache.disk_cache()->create_count()); 1135 EXPECT_EQ(2, cache.disk_cache()->create_count());
1135 TestLoadTimingNetworkRequest(load_timing_info); 1136 TestLoadTimingNetworkRequest(load_timing_info);
1136 } 1137 }
1137 1138
1138 TEST(HttpCache, SimpleGET_LoadBypassCache_Implicit) { 1139 TEST(HttpCache, SimpleGET_LoadBypassCache_Implicit) {
1139 MockHttpCache cache; 1140 MockHttpCache cache;
1140 1141
(...skipping 2649 matching lines...) Expand 10 before | Expand all | Expand 10 after
3790 } 3791 }
3791 3792
3792 TEST(HttpCache, SimpleGET_DoesntLogHeaders) { 3793 TEST(HttpCache, SimpleGET_DoesntLogHeaders) {
3793 MockHttpCache cache; 3794 MockHttpCache cache;
3794 3795
3795 BoundTestNetLog log; 3796 BoundTestNetLog log;
3796 RunTransactionTestWithLog(cache.http_cache(), kSimpleGET_Transaction, 3797 RunTransactionTestWithLog(cache.http_cache(), kSimpleGET_Transaction,
3797 log.bound()); 3798 log.bound());
3798 3799
3799 EXPECT_FALSE(LogContainsEventType( 3800 EXPECT_FALSE(LogContainsEventType(
3800 log, NetLog::TYPE_HTTP_CACHE_CALLER_REQUEST_HEADERS)); 3801 log, NetLogEventType::HTTP_CACHE_CALLER_REQUEST_HEADERS));
3801 } 3802 }
3802 3803
3803 TEST(HttpCache, RangeGET_LogsHeaders) { 3804 TEST(HttpCache, RangeGET_LogsHeaders) {
3804 MockHttpCache cache; 3805 MockHttpCache cache;
3805 3806
3806 BoundTestNetLog log; 3807 BoundTestNetLog log;
3807 RunTransactionTestWithLog(cache.http_cache(), kRangeGET_Transaction, 3808 RunTransactionTestWithLog(cache.http_cache(), kRangeGET_Transaction,
3808 log.bound()); 3809 log.bound());
3809 3810
3810 EXPECT_TRUE(LogContainsEventType( 3811 EXPECT_TRUE(LogContainsEventType(
3811 log, NetLog::TYPE_HTTP_CACHE_CALLER_REQUEST_HEADERS)); 3812 log, NetLogEventType::HTTP_CACHE_CALLER_REQUEST_HEADERS));
3812 } 3813 }
3813 3814
3814 TEST(HttpCache, ExternalValidation_LogsHeaders) { 3815 TEST(HttpCache, ExternalValidation_LogsHeaders) {
3815 MockHttpCache cache; 3816 MockHttpCache cache;
3816 3817
3817 BoundTestNetLog log; 3818 BoundTestNetLog log;
3818 MockTransaction transaction(kSimpleGET_Transaction); 3819 MockTransaction transaction(kSimpleGET_Transaction);
3819 transaction.request_headers = "If-None-Match: foo\r\n" EXTRA_HEADER; 3820 transaction.request_headers = "If-None-Match: foo\r\n" EXTRA_HEADER;
3820 RunTransactionTestWithLog(cache.http_cache(), transaction, log.bound()); 3821 RunTransactionTestWithLog(cache.http_cache(), transaction, log.bound());
3821 3822
3822 EXPECT_TRUE(LogContainsEventType( 3823 EXPECT_TRUE(LogContainsEventType(
3823 log, NetLog::TYPE_HTTP_CACHE_CALLER_REQUEST_HEADERS)); 3824 log, NetLogEventType::HTTP_CACHE_CALLER_REQUEST_HEADERS));
3824 } 3825 }
3825 3826
3826 TEST(HttpCache, SpecialHeaders_LogsHeaders) { 3827 TEST(HttpCache, SpecialHeaders_LogsHeaders) {
3827 MockHttpCache cache; 3828 MockHttpCache cache;
3828 3829
3829 BoundTestNetLog log; 3830 BoundTestNetLog log;
3830 MockTransaction transaction(kSimpleGET_Transaction); 3831 MockTransaction transaction(kSimpleGET_Transaction);
3831 transaction.request_headers = "cache-control: no-cache\r\n" EXTRA_HEADER; 3832 transaction.request_headers = "cache-control: no-cache\r\n" EXTRA_HEADER;
3832 RunTransactionTestWithLog(cache.http_cache(), transaction, log.bound()); 3833 RunTransactionTestWithLog(cache.http_cache(), transaction, log.bound());
3833 3834
3834 EXPECT_TRUE(LogContainsEventType( 3835 EXPECT_TRUE(LogContainsEventType(
3835 log, NetLog::TYPE_HTTP_CACHE_CALLER_REQUEST_HEADERS)); 3836 log, NetLogEventType::HTTP_CACHE_CALLER_REQUEST_HEADERS));
3836 } 3837 }
3837 3838
3838 // Tests that receiving 206 for a regular request is handled correctly. 3839 // Tests that receiving 206 for a regular request is handled correctly.
3839 TEST(HttpCache, GET_Crazy206) { 3840 TEST(HttpCache, GET_Crazy206) {
3840 MockHttpCache cache; 3841 MockHttpCache cache;
3841 3842
3842 // Write to the cache. 3843 // Write to the cache.
3843 MockTransaction transaction(kRangeGET_TransactionOK); 3844 MockTransaction transaction(kRangeGET_TransactionOK);
3844 AddMockTransaction(&transaction); 3845 AddMockTransaction(&transaction);
3845 transaction.request_headers = EXTRA_HEADER; 3846 transaction.request_headers = EXTRA_HEADER;
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
3941 transaction.response_headers = "Content-Length: 10\n" 3942 transaction.response_headers = "Content-Length: 10\n"
3942 "ETag: \"foo\"\n"; 3943 "ETag: \"foo\"\n";
3943 RunTransactionTest(cache.http_cache(), transaction); 3944 RunTransactionTest(cache.http_cache(), transaction);
3944 3945
3945 // Now verify that the cached data is not used. 3946 // Now verify that the cached data is not used.
3946 BoundTestNetLog log; 3947 BoundTestNetLog log;
3947 RunTransactionTestWithLog(cache.http_cache(), kRangeGET_TransactionOK, 3948 RunTransactionTestWithLog(cache.http_cache(), kRangeGET_TransactionOK,
3948 log.bound()); 3949 log.bound());
3949 3950
3950 EXPECT_TRUE(LogContainsEventType( 3951 EXPECT_TRUE(LogContainsEventType(
3951 log, NetLog::TYPE_HTTP_CACHE_RESTART_PARTIAL_REQUEST)); 3952 log, NetLogEventType::HTTP_CACHE_RESTART_PARTIAL_REQUEST));
3952 } 3953 }
3953 3954
3954 // Tests that a failure to conditionalize a regular request (no range) with a 3955 // Tests that a failure to conditionalize a regular request (no range) with a
3955 // sparse entry results in a full response. 3956 // sparse entry results in a full response.
3956 TEST(HttpCache, GET_NoConditionalization) { 3957 TEST(HttpCache, GET_NoConditionalization) {
3957 MockHttpCache cache; 3958 MockHttpCache cache;
3958 cache.FailConditionalizations(); 3959 cache.FailConditionalizations();
3959 std::string headers; 3960 std::string headers;
3960 3961
3961 // Write to the cache (40-49). 3962 // Write to the cache (40-49).
(...skipping 1529 matching lines...) Expand 10 before | Expand all | Expand 10 after
5491 RangeTransactionServer handler; 5492 RangeTransactionServer handler;
5492 handler.set_bad_200(true); 5493 handler.set_bad_200(true);
5493 transaction.data = "Not a range"; 5494 transaction.data = "Not a range";
5494 BoundTestNetLog log; 5495 BoundTestNetLog log;
5495 RunTransactionTestWithLog(cache.http_cache(), transaction, log.bound()); 5496 RunTransactionTestWithLog(cache.http_cache(), transaction, log.bound());
5496 5497
5497 EXPECT_EQ(3, cache.network_layer()->transaction_count()); 5498 EXPECT_EQ(3, cache.network_layer()->transaction_count());
5498 EXPECT_EQ(1, cache.disk_cache()->open_count()); 5499 EXPECT_EQ(1, cache.disk_cache()->open_count());
5499 EXPECT_EQ(1, cache.disk_cache()->create_count()); 5500 EXPECT_EQ(1, cache.disk_cache()->create_count());
5500 EXPECT_TRUE(LogContainsEventType( 5501 EXPECT_TRUE(LogContainsEventType(
5501 log, NetLog::TYPE_HTTP_CACHE_RE_SEND_PARTIAL_REQUEST)); 5502 log, NetLogEventType::HTTP_CACHE_RE_SEND_PARTIAL_REQUEST));
5502 } 5503 }
5503 5504
5504 // Tests that when the server gives us less data than expected, we don't keep 5505 // Tests that when the server gives us less data than expected, we don't keep
5505 // asking for more data. 5506 // asking for more data.
5506 TEST(HttpCache, RangeGET_FastFlakyServer2) { 5507 TEST(HttpCache, RangeGET_FastFlakyServer2) {
5507 MockHttpCache cache; 5508 MockHttpCache cache;
5508 5509
5509 // First, check with an empty cache (WRITE mode). 5510 // First, check with an empty cache (WRITE mode).
5510 MockTransaction transaction(kRangeGET_TransactionOK); 5511 MockTransaction transaction(kRangeGET_TransactionOK);
5511 transaction.request_headers = "Range: bytes = 40-49\r\n" EXTRA_HEADER; 5512 transaction.request_headers = "Range: bytes = 40-49\r\n" EXTRA_HEADER;
(...skipping 2584 matching lines...) Expand 10 before | Expand all | Expand 10 after
8096 RunTransactionTestWithResponseInfo(cache.http_cache(), 8097 RunTransactionTestWithResponseInfo(cache.http_cache(),
8097 kTypicalGET_Transaction, &response_info); 8098 kTypicalGET_Transaction, &response_info);
8098 8099
8099 EXPECT_FALSE(response_info.was_cached); 8100 EXPECT_FALSE(response_info.was_cached);
8100 EXPECT_TRUE(response_info.network_accessed); 8101 EXPECT_TRUE(response_info.network_accessed);
8101 EXPECT_EQ(CacheEntryStatus::ENTRY_CANT_CONDITIONALIZE, 8102 EXPECT_EQ(CacheEntryStatus::ENTRY_CANT_CONDITIONALIZE,
8102 response_info.cache_entry_status); 8103 response_info.cache_entry_status);
8103 } 8104 }
8104 8105
8105 } // namespace net 8106 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_cache_transaction.cc ('k') | net/http/http_network_transaction.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698