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

Side by Side Diff: net/reporting/reporting_cache_unittest.cc

Issue 2751103002: Reporting: Wrap existing classes in context. (Closed)
Patch Set: Move before BrowsingDataRemover, GarbageCollector, and Serializer CLs. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/reporting/reporting_cache.h" 5 #include "net/reporting/reporting_cache.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "net/reporting/reporting_client.h" 12 #include "net/reporting/reporting_client.h"
13 #include "net/reporting/reporting_report.h" 13 #include "net/reporting/reporting_report.h"
14 #include "net/reporting/reporting_test_util.h" 14 #include "net/reporting/reporting_test_util.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 #include "url/gurl.h" 16 #include "url/gurl.h"
17 #include "url/origin.h" 17 #include "url/origin.h"
18 18
19 namespace net { 19 namespace net {
20 namespace { 20 namespace {
21 21
22 class ReportingCacheTest : public ::testing::Test { 22 class ReportingCacheTest : public ReportingTestBase {
23 protected: 23 protected:
24 const GURL kUrl1_ = GURL("https://origin1/path"); 24 const GURL kUrl1_ = GURL("https://origin1/path");
25 const url::Origin kOrigin1_ = url::Origin(GURL("https://origin1/")); 25 const url::Origin kOrigin1_ = url::Origin(GURL("https://origin1/"));
26 const url::Origin kOrigin2_ = url::Origin(GURL("https://origin2/")); 26 const url::Origin kOrigin2_ = url::Origin(GURL("https://origin2/"));
27 const GURL kEndpoint1_ = GURL("https://endpoint1/"); 27 const GURL kEndpoint1_ = GURL("https://endpoint1/");
28 const GURL kEndpoint2_ = GURL("https://endpoint2/"); 28 const GURL kEndpoint2_ = GURL("https://endpoint2/");
29 const std::string kGroup1_ = "group1"; 29 const std::string kGroup1_ = "group1";
30 const std::string kGroup2_ = "group2"; 30 const std::string kGroup2 = "group2";
31 const std::string kType_ = "default"; 31 const std::string kType_ = "default";
32 const base::TimeTicks kNow_ = base::TimeTicks::Now(); 32 const base::TimeTicks kNow_ = base::TimeTicks::Now();
33 const base::TimeTicks kExpires1_ = kNow_ + base::TimeDelta::FromDays(7); 33 const base::TimeTicks kExpires1_ = kNow_ + base::TimeDelta::FromDays(7);
34 const base::TimeTicks kExpires2_ = kExpires1_ + base::TimeDelta::FromDays(7); 34 const base::TimeTicks kExpires2_ = kExpires1_ + base::TimeDelta::FromDays(7);
35
36 ReportingCache cache_;
37 }; 35 };
38 36
39 TEST_F(ReportingCacheTest, Reports) { 37 TEST_F(ReportingCacheTest, Reports) {
40 std::vector<const ReportingReport*> reports; 38 std::vector<const ReportingReport*> reports;
41 cache_.GetReports(&reports); 39 cache()->GetReports(&reports);
42 EXPECT_TRUE(reports.empty()); 40 EXPECT_TRUE(reports.empty());
43 41
44 cache_.AddReport(kUrl1_, kGroup1_, kType_, 42 cache()->AddReport(kUrl1_, kGroup1_, kType_,
45 base::MakeUnique<base::DictionaryValue>(), kNow_, 0); 43 base::MakeUnique<base::DictionaryValue>(), kNow_, 0);
46 44
47 cache_.GetReports(&reports); 45 cache()->GetReports(&reports);
48 ASSERT_EQ(1u, reports.size()); 46 ASSERT_EQ(1u, reports.size());
49 const ReportingReport* report = reports[0]; 47 const ReportingReport* report = reports[0];
50 ASSERT_TRUE(report); 48 ASSERT_TRUE(report);
51 EXPECT_EQ(kUrl1_, report->url); 49 EXPECT_EQ(kUrl1_, report->url);
52 EXPECT_EQ(kGroup1_, report->group); 50 EXPECT_EQ(kGroup1_, report->group);
53 EXPECT_EQ(kType_, report->type); 51 EXPECT_EQ(kType_, report->type);
54 // TODO(juliatuttle): Check body? 52 // TODO(juliatuttle): Check body?
55 EXPECT_EQ(kNow_, report->queued); 53 EXPECT_EQ(kNow_, report->queued);
56 EXPECT_EQ(0, report->attempts); 54 EXPECT_EQ(0, report->attempts);
57 EXPECT_FALSE(cache_.IsReportPendingForTesting(report)); 55 EXPECT_FALSE(cache()->IsReportPendingForTesting(report));
58 EXPECT_FALSE(cache_.IsReportDoomedForTesting(report)); 56 EXPECT_FALSE(cache()->IsReportDoomedForTesting(report));
59 57
60 cache_.IncrementReportsAttempts(reports); 58 cache()->IncrementReportsAttempts(reports);
61 59
62 cache_.GetReports(&reports); 60 cache()->GetReports(&reports);
63 ASSERT_EQ(1u, reports.size()); 61 ASSERT_EQ(1u, reports.size());
64 report = reports[0]; 62 report = reports[0];
65 ASSERT_TRUE(report); 63 ASSERT_TRUE(report);
66 EXPECT_EQ(1, report->attempts); 64 EXPECT_EQ(1, report->attempts);
67 65
68 cache_.RemoveReports(reports); 66 cache()->RemoveReports(reports);
69 67
70 cache_.GetReports(&reports); 68 cache()->GetReports(&reports);
71 EXPECT_TRUE(reports.empty()); 69 EXPECT_TRUE(reports.empty());
72 } 70 }
73 71
74 TEST_F(ReportingCacheTest, RemoveAllReports) { 72 TEST_F(ReportingCacheTest, RemoveAllReports) {
75 cache_.AddReport(kUrl1_, kGroup1_, kType_, 73 cache()->AddReport(kUrl1_, kGroup1_, kType_,
76 base::MakeUnique<base::DictionaryValue>(), kNow_, 0); 74 base::MakeUnique<base::DictionaryValue>(), kNow_, 0);
77 cache_.AddReport(kUrl1_, kGroup1_, kType_, 75 cache()->AddReport(kUrl1_, kGroup1_, kType_,
78 base::MakeUnique<base::DictionaryValue>(), kNow_, 0); 76 base::MakeUnique<base::DictionaryValue>(), kNow_, 0);
79 77
80 std::vector<const ReportingReport*> reports; 78 std::vector<const ReportingReport*> reports;
81 cache_.GetReports(&reports); 79 cache()->GetReports(&reports);
82 EXPECT_EQ(2u, reports.size()); 80 EXPECT_EQ(2u, reports.size());
83 81
84 cache_.RemoveAllReports(); 82 cache()->RemoveAllReports();
85 83
86 cache_.GetReports(&reports); 84 cache()->GetReports(&reports);
87 EXPECT_TRUE(reports.empty()); 85 EXPECT_TRUE(reports.empty());
88 } 86 }
89 87
90 TEST_F(ReportingCacheTest, RemovePendingReports) { 88 TEST_F(ReportingCacheTest, RemovePendingReports) {
91 cache_.AddReport(kUrl1_, kGroup1_, kType_, 89 cache()->AddReport(kUrl1_, kGroup1_, kType_,
92 base::MakeUnique<base::DictionaryValue>(), kNow_, 0); 90 base::MakeUnique<base::DictionaryValue>(), kNow_, 0);
93 91
94 std::vector<const ReportingReport*> reports; 92 std::vector<const ReportingReport*> reports;
95 cache_.GetReports(&reports); 93 cache()->GetReports(&reports);
96 ASSERT_EQ(1u, reports.size()); 94 ASSERT_EQ(1u, reports.size());
97 EXPECT_FALSE(cache_.IsReportPendingForTesting(reports[0])); 95 EXPECT_FALSE(cache()->IsReportPendingForTesting(reports[0]));
98 EXPECT_FALSE(cache_.IsReportDoomedForTesting(reports[0])); 96 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0]));
99 97
100 cache_.SetReportsPending(reports); 98 cache()->SetReportsPending(reports);
101 EXPECT_TRUE(cache_.IsReportPendingForTesting(reports[0])); 99 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0]));
102 EXPECT_FALSE(cache_.IsReportDoomedForTesting(reports[0])); 100 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0]));
103 101
104 cache_.RemoveReports(reports); 102 cache()->RemoveReports(reports);
105 EXPECT_TRUE(cache_.IsReportPendingForTesting(reports[0])); 103 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0]));
106 EXPECT_TRUE(cache_.IsReportDoomedForTesting(reports[0])); 104 EXPECT_TRUE(cache()->IsReportDoomedForTesting(reports[0]));
107 105
108 // After removing report, future calls to GetReports should not return it. 106 // After removing report, future calls to GetReports should not return it.
109 std::vector<const ReportingReport*> visible_reports; 107 std::vector<const ReportingReport*> visible_reports;
110 cache_.GetReports(&visible_reports); 108 cache()->GetReports(&visible_reports);
111 EXPECT_TRUE(visible_reports.empty()); 109 EXPECT_TRUE(visible_reports.empty());
112 EXPECT_EQ(1u, cache_.GetFullReportCountForTesting()); 110 EXPECT_EQ(1u, cache()->GetFullReportCountForTesting());
113 111
114 // After clearing pending flag, report should be deleted. 112 // After clearing pending flag, report should be deleted.
115 cache_.ClearReportsPending(reports); 113 cache()->ClearReportsPending(reports);
116 EXPECT_EQ(0u, cache_.GetFullReportCountForTesting()); 114 EXPECT_EQ(0u, cache()->GetFullReportCountForTesting());
117 } 115 }
118 116
119 TEST_F(ReportingCacheTest, RemoveAllPendingReports) { 117 TEST_F(ReportingCacheTest, RemoveAllPendingReports) {
120 cache_.AddReport(kUrl1_, kGroup1_, kType_, 118 cache()->AddReport(kUrl1_, kGroup1_, kType_,
121 base::MakeUnique<base::DictionaryValue>(), kNow_, 0); 119 base::MakeUnique<base::DictionaryValue>(), kNow_, 0);
122 120
123 std::vector<const ReportingReport*> reports; 121 std::vector<const ReportingReport*> reports;
124 cache_.GetReports(&reports); 122 cache()->GetReports(&reports);
125 ASSERT_EQ(1u, reports.size()); 123 ASSERT_EQ(1u, reports.size());
126 EXPECT_FALSE(cache_.IsReportPendingForTesting(reports[0])); 124 EXPECT_FALSE(cache()->IsReportPendingForTesting(reports[0]));
127 EXPECT_FALSE(cache_.IsReportDoomedForTesting(reports[0])); 125 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0]));
128 126
129 cache_.SetReportsPending(reports); 127 cache()->SetReportsPending(reports);
130 EXPECT_TRUE(cache_.IsReportPendingForTesting(reports[0])); 128 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0]));
131 EXPECT_FALSE(cache_.IsReportDoomedForTesting(reports[0])); 129 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0]));
132 130
133 cache_.RemoveAllReports(); 131 cache()->RemoveAllReports();
134 EXPECT_TRUE(cache_.IsReportPendingForTesting(reports[0])); 132 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0]));
135 EXPECT_TRUE(cache_.IsReportDoomedForTesting(reports[0])); 133 EXPECT_TRUE(cache()->IsReportDoomedForTesting(reports[0]));
136 134
137 // After removing report, future calls to GetReports should not return it. 135 // After removing report, future calls to GetReports should not return it.
138 std::vector<const ReportingReport*> visible_reports; 136 std::vector<const ReportingReport*> visible_reports;
139 cache_.GetReports(&visible_reports); 137 cache()->GetReports(&visible_reports);
140 EXPECT_TRUE(visible_reports.empty()); 138 EXPECT_TRUE(visible_reports.empty());
141 EXPECT_EQ(1u, cache_.GetFullReportCountForTesting()); 139 EXPECT_EQ(1u, cache()->GetFullReportCountForTesting());
142 140
143 // After clearing pending flag, report should be deleted. 141 // After clearing pending flag, report should be deleted.
144 cache_.ClearReportsPending(reports); 142 cache()->ClearReportsPending(reports);
145 EXPECT_EQ(0u, cache_.GetFullReportCountForTesting()); 143 EXPECT_EQ(0u, cache()->GetFullReportCountForTesting());
146 } 144 }
147 145
148 TEST_F(ReportingCacheTest, Endpoints) { 146 TEST_F(ReportingCacheTest, Endpoints) {
149 cache_.SetClient(kOrigin1_, kEndpoint1_, ReportingClient::Subdomains::EXCLUDE, 147 cache()->SetClient(kOrigin1_, kEndpoint1_,
150 kGroup1_, kExpires1_); 148 ReportingClient::Subdomains::EXCLUDE, kGroup1_,
149 kExpires1_);
151 150
152 const ReportingClient* client = 151 const ReportingClient* client =
153 FindClientInCache(&cache_, kOrigin1_, kEndpoint1_); 152 FindClientInCache(cache(), kOrigin1_, kEndpoint1_);
154 ASSERT_TRUE(client); 153 ASSERT_TRUE(client);
155 EXPECT_EQ(kOrigin1_, client->origin); 154 EXPECT_EQ(kOrigin1_, client->origin);
156 EXPECT_EQ(kEndpoint1_, client->endpoint); 155 EXPECT_EQ(kEndpoint1_, client->endpoint);
157 EXPECT_EQ(ReportingClient::Subdomains::EXCLUDE, client->subdomains); 156 EXPECT_EQ(ReportingClient::Subdomains::EXCLUDE, client->subdomains);
158 EXPECT_EQ(kGroup1_, client->group); 157 EXPECT_EQ(kGroup1_, client->group);
159 EXPECT_EQ(kExpires1_, client->expires); 158 EXPECT_EQ(kExpires1_, client->expires);
160 159
161 // Replaces original configuration with new Subdomains, group, and expires 160 cache()->SetClient(kOrigin1_, kEndpoint1_,
162 // values. 161 ReportingClient::Subdomains::INCLUDE, kGroup2, kExpires2_);
163 cache_.SetClient(kOrigin1_, kEndpoint1_, ReportingClient::Subdomains::INCLUDE,
164 kGroup2_, kExpires2_);
165 162
166 client = FindClientInCache(&cache_, kOrigin1_, kEndpoint1_); 163 client = FindClientInCache(cache(), kOrigin1_, kEndpoint1_);
167 ASSERT_TRUE(client); 164 ASSERT_TRUE(client);
168 EXPECT_EQ(kOrigin1_, client->origin); 165 EXPECT_EQ(kOrigin1_, client->origin);
169 EXPECT_EQ(kEndpoint1_, client->endpoint); 166 EXPECT_EQ(kEndpoint1_, client->endpoint);
170 EXPECT_EQ(ReportingClient::Subdomains::INCLUDE, client->subdomains); 167 EXPECT_EQ(ReportingClient::Subdomains::INCLUDE, client->subdomains);
171 EXPECT_EQ(kGroup2_, client->group); 168 EXPECT_EQ(kGroup2, client->group);
172 EXPECT_EQ(kExpires2_, client->expires); 169 EXPECT_EQ(kExpires2_, client->expires);
173 170
174 cache_.RemoveClients(std::vector<const ReportingClient*>{client}); 171 cache()->RemoveClients(std::vector<const ReportingClient*>{client});
175 172
176 client = FindClientInCache(&cache_, kOrigin1_, kEndpoint1_); 173 client = FindClientInCache(cache(), kOrigin1_, kEndpoint1_);
177 EXPECT_FALSE(client); 174 EXPECT_FALSE(client);
178 } 175 }
179 176
180 TEST_F(ReportingCacheTest, GetClientsForOriginAndGroup) { 177 TEST_F(ReportingCacheTest, GetClientsForOriginAndGroup) {
181 cache_.SetClient(kOrigin1_, kEndpoint1_, ReportingClient::Subdomains::EXCLUDE, 178 cache()->SetClient(kOrigin1_, kEndpoint1_,
182 kGroup1_, kExpires1_); 179 ReportingClient::Subdomains::EXCLUDE, kGroup1_,
183 cache_.SetClient(kOrigin1_, kEndpoint2_, ReportingClient::Subdomains::EXCLUDE, 180 kExpires1_);
184 kGroup2_, kExpires1_); 181 cache()->SetClient(kOrigin1_, kEndpoint2_,
185 cache_.SetClient(kOrigin2_, kEndpoint1_, ReportingClient::Subdomains::EXCLUDE, 182 ReportingClient::Subdomains::EXCLUDE, kGroup2, kExpires1_);
186 kGroup1_, kExpires1_); 183 cache()->SetClient(kOrigin2_, kEndpoint1_,
184 ReportingClient::Subdomains::EXCLUDE, kGroup1_,
185 kExpires1_);
187 186
188 std::vector<const ReportingClient*> clients; 187 std::vector<const ReportingClient*> clients;
189 cache_.GetClientsForOriginAndGroup(kOrigin1_, kGroup1_, &clients); 188 cache()->GetClientsForOriginAndGroup(kOrigin1_, kGroup1_, &clients);
190 ASSERT_EQ(1u, clients.size()); 189 ASSERT_EQ(1u, clients.size());
191 const ReportingClient* client = clients[0]; 190 const ReportingClient* client = clients[0];
192 ASSERT_TRUE(client); 191 ASSERT_TRUE(client);
193 EXPECT_EQ(kOrigin1_, client->origin); 192 EXPECT_EQ(kOrigin1_, client->origin);
194 EXPECT_EQ(kGroup1_, client->group); 193 EXPECT_EQ(kGroup1_, client->group);
195 } 194 }
196 195
197 TEST_F(ReportingCacheTest, RemoveClientForOriginAndEndpoint) { 196 TEST_F(ReportingCacheTest, RemoveClientForOriginAndEndpoint) {
198 cache_.SetClient(kOrigin1_, kEndpoint1_, ReportingClient::Subdomains::EXCLUDE, 197 cache()->SetClient(kOrigin1_, kEndpoint1_,
199 kGroup1_, kExpires1_); 198 ReportingClient::Subdomains::EXCLUDE, kGroup1_,
200 cache_.SetClient(kOrigin1_, kEndpoint2_, ReportingClient::Subdomains::EXCLUDE, 199 kExpires1_);
201 kGroup2_, kExpires1_); 200 cache()->SetClient(kOrigin1_, kEndpoint2_,
202 cache_.SetClient(kOrigin2_, kEndpoint1_, ReportingClient::Subdomains::EXCLUDE, 201 ReportingClient::Subdomains::EXCLUDE, kGroup2, kExpires1_);
203 kGroup1_, kExpires1_); 202 cache()->SetClient(kOrigin2_, kEndpoint1_,
203 ReportingClient::Subdomains::EXCLUDE, kGroup1_,
204 kExpires1_);
204 205
205 cache_.RemoveClientForOriginAndEndpoint(kOrigin1_, kEndpoint1_); 206 cache()->RemoveClientForOriginAndEndpoint(kOrigin1_, kEndpoint1_);
206 207
207 std::vector<const ReportingClient*> clients; 208 std::vector<const ReportingClient*> clients;
208 cache_.GetClientsForOriginAndGroup(kOrigin1_, kGroup1_, &clients); 209 cache()->GetClientsForOriginAndGroup(kOrigin1_, kGroup1_, &clients);
209 EXPECT_TRUE(clients.empty()); 210 EXPECT_TRUE(clients.empty());
210 211
211 cache_.GetClientsForOriginAndGroup(kOrigin1_, kGroup2_, &clients); 212 cache()->GetClientsForOriginAndGroup(kOrigin1_, kGroup2, &clients);
212 EXPECT_EQ(1u, clients.size()); 213 EXPECT_EQ(1u, clients.size());
213 214
214 cache_.GetClientsForOriginAndGroup(kOrigin2_, kGroup1_, &clients); 215 cache()->GetClientsForOriginAndGroup(kOrigin2_, kGroup1_, &clients);
215 EXPECT_EQ(1u, clients.size()); 216 EXPECT_EQ(1u, clients.size());
216 } 217 }
217 218
218 TEST_F(ReportingCacheTest, RemoveClientsForEndpoint) { 219 TEST_F(ReportingCacheTest, RemoveClientsForEndpoint) {
219 cache_.SetClient(kOrigin1_, kEndpoint1_, ReportingClient::Subdomains::EXCLUDE, 220 cache()->SetClient(kOrigin1_, kEndpoint1_,
220 kGroup1_, kExpires1_); 221 ReportingClient::Subdomains::EXCLUDE, kGroup1_,
221 cache_.SetClient(kOrigin1_, kEndpoint2_, ReportingClient::Subdomains::EXCLUDE, 222 kExpires1_);
222 kGroup2_, kExpires1_); 223 cache()->SetClient(kOrigin1_, kEndpoint2_,
223 cache_.SetClient(kOrigin2_, kEndpoint1_, ReportingClient::Subdomains::EXCLUDE, 224 ReportingClient::Subdomains::EXCLUDE, kGroup2, kExpires1_);
224 kGroup1_, kExpires1_); 225 cache()->SetClient(kOrigin2_, kEndpoint1_,
226 ReportingClient::Subdomains::EXCLUDE, kGroup1_,
227 kExpires1_);
225 228
226 cache_.RemoveClientsForEndpoint(kEndpoint1_); 229 cache()->RemoveClientsForEndpoint(kEndpoint1_);
227 230
228 std::vector<const ReportingClient*> clients; 231 std::vector<const ReportingClient*> clients;
229 cache_.GetClientsForOriginAndGroup(kOrigin1_, kGroup1_, &clients); 232 cache()->GetClientsForOriginAndGroup(kOrigin1_, kGroup1_, &clients);
230 EXPECT_TRUE(clients.empty()); 233 EXPECT_TRUE(clients.empty());
231 234
232 cache_.GetClientsForOriginAndGroup(kOrigin1_, kGroup2_, &clients); 235 cache()->GetClientsForOriginAndGroup(kOrigin1_, kGroup2, &clients);
233 EXPECT_EQ(1u, clients.size()); 236 EXPECT_EQ(1u, clients.size());
234 237
235 cache_.GetClientsForOriginAndGroup(kOrigin2_, kGroup1_, &clients); 238 cache()->GetClientsForOriginAndGroup(kOrigin2_, kGroup1_, &clients);
236 EXPECT_TRUE(clients.empty()); 239 EXPECT_TRUE(clients.empty());
237 } 240 }
238 241
239 TEST_F(ReportingCacheTest, RemoveAllClients) { 242 TEST_F(ReportingCacheTest, RemoveAllClients) {
240 cache_.SetClient(kOrigin1_, kEndpoint1_, ReportingClient::Subdomains::EXCLUDE, 243 cache()->SetClient(kOrigin1_, kEndpoint1_,
241 kGroup1_, kExpires1_); 244 ReportingClient::Subdomains::EXCLUDE, kGroup1_,
242 cache_.SetClient(kOrigin2_, kEndpoint2_, ReportingClient::Subdomains::EXCLUDE, 245 kExpires1_);
243 kGroup1_, kExpires1_); 246 cache()->SetClient(kOrigin2_, kEndpoint2_,
247 ReportingClient::Subdomains::EXCLUDE, kGroup1_,
248 kExpires1_);
244 249
245 cache_.RemoveAllClients(); 250 cache()->RemoveAllClients();
246 251
247 std::vector<const ReportingClient*> clients; 252 std::vector<const ReportingClient*> clients;
248 cache_.GetClients(&clients); 253 cache()->GetClients(&clients);
249 EXPECT_TRUE(clients.empty()); 254 EXPECT_TRUE(clients.empty());
250 } 255 }
251 256
252 } // namespace 257 } // namespace
253 } // namespace net 258 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698