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

Side by Side Diff: chrome/browser/net/passive_log_collector_unittest.cc

Issue 2108003: Add the URLRequest's method and load flags to the NetLog. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix test Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/net/passive_log_collector.cc ('k') | net/base/net_log.h » ('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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/browser/net/passive_log_collector.h" 5 #include "chrome/browser/net/passive_log_collector.h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/format_macros.h" 8 #include "base/format_macros.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "net/url_request/url_request_netlog_params.h"
10 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
11 12
12 namespace { 13 namespace {
13 14
14 typedef PassiveLogCollector::RequestTracker RequestTracker; 15 typedef PassiveLogCollector::RequestTracker RequestTracker;
15 typedef PassiveLogCollector::RequestInfoList RequestInfoList; 16 typedef PassiveLogCollector::RequestInfoList RequestInfoList;
16 typedef net::NetLog NetLog; 17 typedef net::NetLog NetLog;
17 18
18 const NetLog::SourceType kSourceType = NetLog::SOURCE_NONE; 19 const NetLog::SourceType kSourceType = NetLog::SOURCE_NONE;
19 20
20 PassiveLogCollector::Entry MakeStartLogEntryWithURL(int source_id, 21 PassiveLogCollector::Entry MakeStartLogEntryWithURL(int source_id,
21 const std::string& url) { 22 const std::string& url) {
22 return PassiveLogCollector::Entry( 23 return PassiveLogCollector::Entry(
23 0, 24 0,
24 NetLog::TYPE_URL_REQUEST_START, 25 NetLog::TYPE_URL_REQUEST_START,
25 base::TimeTicks(), 26 base::TimeTicks(),
26 NetLog::Source(kSourceType, source_id), 27 NetLog::Source(kSourceType, source_id),
27 NetLog::PHASE_BEGIN, 28 NetLog::PHASE_BEGIN,
28 new net::NetLogStringParameter("url", url)); 29 new URLRequestStartEventParameters(GURL(url), "GET", 0));
29 } 30 }
30 31
31 PassiveLogCollector::Entry MakeStartLogEntry(int source_id) { 32 PassiveLogCollector::Entry MakeStartLogEntry(int source_id) {
32 return MakeStartLogEntryWithURL(source_id, 33 return MakeStartLogEntryWithURL(source_id,
33 StringPrintf("http://req%d", source_id)); 34 StringPrintf("http://req%d", source_id));
34 } 35 }
35 36
36 PassiveLogCollector::Entry MakeEndLogEntry(int source_id) { 37 PassiveLogCollector::Entry MakeEndLogEntry(int source_id) {
37 return PassiveLogCollector::Entry( 38 return PassiveLogCollector::Entry(
38 0, 39 0,
39 NetLog::TYPE_REQUEST_ALIVE, 40 NetLog::TYPE_REQUEST_ALIVE,
40 base::TimeTicks(), 41 base::TimeTicks(),
41 NetLog::Source(kSourceType, source_id), 42 NetLog::Source(kSourceType, source_id),
42 NetLog::PHASE_END, 43 NetLog::PHASE_END,
43 NULL); 44 NULL);
44 } 45 }
45 46
46 void AddStartURLRequestEntries(PassiveLogCollector* collector, uint32 id) { 47 void AddStartURLRequestEntries(PassiveLogCollector* collector, uint32 id) {
47 collector->OnAddEntry(NetLog::TYPE_REQUEST_ALIVE, base::TimeTicks(), 48 collector->OnAddEntry(NetLog::TYPE_REQUEST_ALIVE, base::TimeTicks(),
48 NetLog::Source(NetLog::SOURCE_URL_REQUEST, id), 49 NetLog::Source(NetLog::SOURCE_URL_REQUEST, id),
49 NetLog::PHASE_BEGIN, NULL); 50 NetLog::PHASE_BEGIN, NULL);
50 collector->OnAddEntry(NetLog::TYPE_URL_REQUEST_START, base::TimeTicks(), 51 collector->OnAddEntry(NetLog::TYPE_URL_REQUEST_START, base::TimeTicks(),
51 NetLog::Source(NetLog::SOURCE_URL_REQUEST, id), 52 NetLog::Source(NetLog::SOURCE_URL_REQUEST, id),
52 NetLog::PHASE_BEGIN, new net::NetLogStringParameter( 53 NetLog::PHASE_BEGIN, new URLRequestStartEventParameters(
53 "url", StringPrintf("http://req%d", id))); 54 GURL(StringPrintf("http://req%d", id)), "GET", 0));
54 } 55 }
55 56
56 void AddEndURLRequestEntries(PassiveLogCollector* collector, uint32 id) { 57 void AddEndURLRequestEntries(PassiveLogCollector* collector, uint32 id) {
57 collector->OnAddEntry(NetLog::TYPE_REQUEST_ALIVE, base::TimeTicks(), 58 collector->OnAddEntry(NetLog::TYPE_REQUEST_ALIVE, base::TimeTicks(),
58 NetLog::Source(NetLog::SOURCE_URL_REQUEST, id), 59 NetLog::Source(NetLog::SOURCE_URL_REQUEST, id),
59 NetLog::PHASE_END, NULL); 60 NetLog::PHASE_END, NULL);
60 } 61 }
61 62
62 std::string GetStringParam(const PassiveLogCollector::Entry& entry) { 63 std::string GetStringParam(const PassiveLogCollector::Entry& entry) {
63 return static_cast<net::NetLogStringParameter*>( 64 return static_cast<net::NetLogStringParameter*>(
(...skipping 11 matching lines...) Expand all
75 76
76 tracker.OnAddEntry(MakeStartLogEntry(1)); 77 tracker.OnAddEntry(MakeStartLogEntry(1));
77 tracker.OnAddEntry(MakeStartLogEntry(2)); 78 tracker.OnAddEntry(MakeStartLogEntry(2));
78 tracker.OnAddEntry(MakeStartLogEntry(3)); 79 tracker.OnAddEntry(MakeStartLogEntry(3));
79 tracker.OnAddEntry(MakeStartLogEntry(4)); 80 tracker.OnAddEntry(MakeStartLogEntry(4));
80 tracker.OnAddEntry(MakeStartLogEntry(5)); 81 tracker.OnAddEntry(MakeStartLogEntry(5));
81 82
82 RequestInfoList live_reqs = tracker.GetLiveRequests(); 83 RequestInfoList live_reqs = tracker.GetLiveRequests();
83 84
84 ASSERT_EQ(5u, live_reqs.size()); 85 ASSERT_EQ(5u, live_reqs.size());
85 EXPECT_EQ("http://req1", live_reqs[0].GetURL()); 86 EXPECT_EQ("http://req1/", live_reqs[0].GetURL());
86 EXPECT_EQ("http://req2", live_reqs[1].GetURL()); 87 EXPECT_EQ("http://req2/", live_reqs[1].GetURL());
87 EXPECT_EQ("http://req3", live_reqs[2].GetURL()); 88 EXPECT_EQ("http://req3/", live_reqs[2].GetURL());
88 EXPECT_EQ("http://req4", live_reqs[3].GetURL()); 89 EXPECT_EQ("http://req4/", live_reqs[3].GetURL());
89 EXPECT_EQ("http://req5", live_reqs[4].GetURL()); 90 EXPECT_EQ("http://req5/", live_reqs[4].GetURL());
90 91
91 tracker.OnAddEntry(MakeEndLogEntry(1)); 92 tracker.OnAddEntry(MakeEndLogEntry(1));
92 tracker.OnAddEntry(MakeEndLogEntry(5)); 93 tracker.OnAddEntry(MakeEndLogEntry(5));
93 tracker.OnAddEntry(MakeEndLogEntry(3)); 94 tracker.OnAddEntry(MakeEndLogEntry(3));
94 95
95 ASSERT_EQ(3u, tracker.GetRecentlyDeceased().size()); 96 ASSERT_EQ(3u, tracker.GetRecentlyDeceased().size());
96 97
97 live_reqs = tracker.GetLiveRequests(); 98 live_reqs = tracker.GetLiveRequests();
98 99
99 ASSERT_EQ(2u, live_reqs.size()); 100 ASSERT_EQ(2u, live_reqs.size());
100 EXPECT_EQ("http://req2", live_reqs[0].GetURL()); 101 EXPECT_EQ("http://req2/", live_reqs[0].GetURL());
101 EXPECT_EQ("http://req4", live_reqs[1].GetURL()); 102 EXPECT_EQ("http://req4/", live_reqs[1].GetURL());
102 } 103 }
103 104
104 TEST(RequestTrackerTest, GraveyardBounded) { 105 TEST(RequestTrackerTest, GraveyardBounded) {
105 RequestTracker tracker(NULL, NULL); 106 RequestTracker tracker(NULL, NULL);
106 EXPECT_EQ(0u, tracker.GetLiveRequests().size()); 107 EXPECT_EQ(0u, tracker.GetLiveRequests().size());
107 EXPECT_EQ(0u, tracker.GetRecentlyDeceased().size()); 108 EXPECT_EQ(0u, tracker.GetRecentlyDeceased().size());
108 109
109 // Add twice as many requests as will fit in the graveyard. 110 // Add twice as many requests as will fit in the graveyard.
110 for (size_t i = 0; i < RequestTracker::kMaxGraveyardSize * 2; ++i) { 111 for (size_t i = 0; i < RequestTracker::kMaxGraveyardSize * 2; ++i) {
111 tracker.OnAddEntry(MakeStartLogEntry(i)); 112 tracker.OnAddEntry(MakeStartLogEntry(i));
112 tracker.OnAddEntry(MakeEndLogEntry(i)); 113 tracker.OnAddEntry(MakeEndLogEntry(i));
113 } 114 }
114 115
115 // Check that only the last |kMaxGraveyardSize| requests are in-memory. 116 // Check that only the last |kMaxGraveyardSize| requests are in-memory.
116 117
117 RequestInfoList recent_reqs = tracker.GetRecentlyDeceased(); 118 RequestInfoList recent_reqs = tracker.GetRecentlyDeceased();
118 119
119 ASSERT_EQ(RequestTracker::kMaxGraveyardSize, recent_reqs.size()); 120 ASSERT_EQ(RequestTracker::kMaxGraveyardSize, recent_reqs.size());
120 121
121 for (size_t i = 0; i < RequestTracker::kMaxGraveyardSize; ++i) { 122 for (size_t i = 0; i < RequestTracker::kMaxGraveyardSize; ++i) {
122 size_t req_number = i + RequestTracker::kMaxGraveyardSize; 123 size_t req_number = i + RequestTracker::kMaxGraveyardSize;
123 std::string url = StringPrintf("http://req%" PRIuS, req_number); 124 std::string url = StringPrintf("http://req%" PRIuS "/", req_number);
124 EXPECT_EQ(url, recent_reqs[i].GetURL()); 125 EXPECT_EQ(url, recent_reqs[i].GetURL());
125 } 126 }
126 } 127 }
127 128
128 // Check that we exclude "chrome://" URLs from being saved into the recent 129 // Check that we exclude "chrome://" URLs from being saved into the recent
129 // requests list (graveyard). 130 // requests list (graveyard).
130 TEST(RequestTrackerTest, GraveyardIsFiltered) { 131 TEST(RequestTrackerTest, GraveyardIsFiltered) {
131 RequestTracker tracker(NULL, NULL); 132 RequestTracker tracker(NULL, NULL);
132 133
133 // This will be excluded. 134 // This will be excluded.
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after
951 GetStringParam(requests[0].entries[4])); 952 GetStringParam(requests[0].entries[4]));
952 953
953 AddEndURLRequestEntries(&log, 20); 954 AddEndURLRequestEntries(&log, 20);
954 requests = log.url_request_tracker()->GetLiveRequests(); 955 requests = log.url_request_tracker()->GetLiveRequests();
955 EXPECT_EQ(0u, requests.size()); 956 EXPECT_EQ(0u, requests.size());
956 requests = log.url_request_tracker()->GetRecentlyDeceased(); 957 requests = log.url_request_tracker()->GetRecentlyDeceased();
957 EXPECT_EQ(2u, requests.size()); 958 EXPECT_EQ(2u, requests.size());
958 EXPECT_EQ(6u, requests[0].entries.size()); 959 EXPECT_EQ(6u, requests[0].entries.size());
959 EXPECT_EQ(6u, requests[1].entries.size()); 960 EXPECT_EQ(6u, requests[1].entries.size());
960 } 961 }
OLDNEW
« no previous file with comments | « chrome/browser/net/passive_log_collector.cc ('k') | net/base/net_log.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698