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

Side by Side Diff: chrome/browser/safe_browsing/safe_browsing_store_unittest_helper.cc

Issue 60013005: Remove safe-browsing false-positive tracking. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/safe_browsing/safe_browsing_store_unittest_helper.h" 5 #include "chrome/browser/safe_browsing/safe_browsing_store_unittest_helper.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 8
9 namespace { 9 namespace {
10 10
(...skipping 25 matching lines...) Expand all
36 // Shouldn't see anything, but anything is a big set to test. 36 // Shouldn't see anything, but anything is a big set to test.
37 EXPECT_FALSE(store->CheckAddChunk(0)); 37 EXPECT_FALSE(store->CheckAddChunk(0));
38 EXPECT_FALSE(store->CheckAddChunk(1)); 38 EXPECT_FALSE(store->CheckAddChunk(1));
39 EXPECT_FALSE(store->CheckAddChunk(-1)); 39 EXPECT_FALSE(store->CheckAddChunk(-1));
40 40
41 EXPECT_FALSE(store->CheckSubChunk(0)); 41 EXPECT_FALSE(store->CheckSubChunk(0));
42 EXPECT_FALSE(store->CheckSubChunk(1)); 42 EXPECT_FALSE(store->CheckSubChunk(1));
43 EXPECT_FALSE(store->CheckSubChunk(-1)); 43 EXPECT_FALSE(store->CheckSubChunk(-1));
44 44
45 std::vector<SBAddFullHash> pending_adds; 45 std::vector<SBAddFullHash> pending_adds;
46 std::set<SBPrefix> prefix_misses;
47 SBAddPrefixes add_prefixes_result; 46 SBAddPrefixes add_prefixes_result;
48 std::vector<SBAddFullHash> add_full_hashes_result; 47 std::vector<SBAddFullHash> add_full_hashes_result;
49 48
50 EXPECT_TRUE(store->FinishUpdate(pending_adds, 49 EXPECT_TRUE(store->FinishUpdate(pending_adds,
51 prefix_misses,
52 &add_prefixes_result, 50 &add_prefixes_result,
53 &add_full_hashes_result)); 51 &add_full_hashes_result));
54 EXPECT_TRUE(add_prefixes_result.empty()); 52 EXPECT_TRUE(add_prefixes_result.empty());
55 EXPECT_TRUE(add_full_hashes_result.empty()); 53 EXPECT_TRUE(add_full_hashes_result.empty());
56 } 54 }
57 55
58 void SafeBrowsingStoreTestStorePrefix(SafeBrowsingStore* store) { 56 void SafeBrowsingStoreTestStorePrefix(SafeBrowsingStore* store) {
59 EXPECT_TRUE(store->BeginUpdate()); 57 EXPECT_TRUE(store->BeginUpdate());
60 58
61 const base::Time now = base::Time::Now(); 59 const base::Time now = base::Time::Now();
(...skipping 19 matching lines...) Expand all
81 std::vector<int> chunks; 79 std::vector<int> chunks;
82 store->GetAddChunks(&chunks); 80 store->GetAddChunks(&chunks);
83 ASSERT_EQ(1U, chunks.size()); 81 ASSERT_EQ(1U, chunks.size());
84 EXPECT_EQ(kAddChunk1, chunks[0]); 82 EXPECT_EQ(kAddChunk1, chunks[0]);
85 83
86 store->GetSubChunks(&chunks); 84 store->GetSubChunks(&chunks);
87 ASSERT_EQ(1U, chunks.size()); 85 ASSERT_EQ(1U, chunks.size());
88 EXPECT_EQ(kSubChunk1, chunks[0]); 86 EXPECT_EQ(kSubChunk1, chunks[0]);
89 87
90 std::vector<SBAddFullHash> pending_adds; 88 std::vector<SBAddFullHash> pending_adds;
91 std::set<SBPrefix> prefix_misses;
92 SBAddPrefixes add_prefixes_result; 89 SBAddPrefixes add_prefixes_result;
93 std::vector<SBAddFullHash> add_full_hashes_result; 90 std::vector<SBAddFullHash> add_full_hashes_result;
94 91
95 EXPECT_TRUE(store->FinishUpdate(pending_adds, 92 EXPECT_TRUE(store->FinishUpdate(pending_adds,
96 prefix_misses,
97 &add_prefixes_result, 93 &add_prefixes_result,
98 &add_full_hashes_result)); 94 &add_full_hashes_result));
99 95
100 ASSERT_EQ(2U, add_prefixes_result.size()); 96 ASSERT_EQ(2U, add_prefixes_result.size());
101 EXPECT_EQ(kAddChunk1, add_prefixes_result[0].chunk_id); 97 EXPECT_EQ(kAddChunk1, add_prefixes_result[0].chunk_id);
102 EXPECT_EQ(kHash1.prefix, add_prefixes_result[0].prefix); 98 EXPECT_EQ(kHash1.prefix, add_prefixes_result[0].prefix);
103 EXPECT_EQ(kAddChunk1, add_prefixes_result[1].chunk_id); 99 EXPECT_EQ(kAddChunk1, add_prefixes_result[1].chunk_id);
104 EXPECT_EQ(kHash2.prefix, add_prefixes_result[1].prefix); 100 EXPECT_EQ(kHash2.prefix, add_prefixes_result[1].prefix);
105 101
106 ASSERT_EQ(1U, add_full_hashes_result.size()); 102 ASSERT_EQ(1U, add_full_hashes_result.size());
(...skipping 13 matching lines...) Expand all
120 EXPECT_EQ(kAddChunk1, chunks[0]); 116 EXPECT_EQ(kAddChunk1, chunks[0]);
121 117
122 store->GetSubChunks(&chunks); 118 store->GetSubChunks(&chunks);
123 ASSERT_EQ(1U, chunks.size()); 119 ASSERT_EQ(1U, chunks.size());
124 EXPECT_EQ(kSubChunk1, chunks[0]); 120 EXPECT_EQ(kSubChunk1, chunks[0]);
125 121
126 EXPECT_TRUE(store->CheckAddChunk(kAddChunk1)); 122 EXPECT_TRUE(store->CheckAddChunk(kAddChunk1));
127 EXPECT_TRUE(store->CheckSubChunk(kSubChunk1)); 123 EXPECT_TRUE(store->CheckSubChunk(kSubChunk1));
128 124
129 EXPECT_TRUE(store->FinishUpdate(pending_adds, 125 EXPECT_TRUE(store->FinishUpdate(pending_adds,
130 prefix_misses,
131 &add_prefixes_result, 126 &add_prefixes_result,
132 &add_full_hashes_result)); 127 &add_full_hashes_result));
133 128
134 // Still has the expected contents. 129 // Still has the expected contents.
135 ASSERT_EQ(2U, add_prefixes_result.size()); 130 ASSERT_EQ(2U, add_prefixes_result.size());
136 EXPECT_EQ(kAddChunk1, add_prefixes_result[0].chunk_id); 131 EXPECT_EQ(kAddChunk1, add_prefixes_result[0].chunk_id);
137 EXPECT_EQ(kHash1.prefix, add_prefixes_result[0].prefix); 132 EXPECT_EQ(kHash1.prefix, add_prefixes_result[0].prefix);
138 EXPECT_EQ(kAddChunk1, add_prefixes_result[1].chunk_id); 133 EXPECT_EQ(kAddChunk1, add_prefixes_result[1].chunk_id);
139 EXPECT_EQ(kHash2.prefix, add_prefixes_result[1].prefix); 134 EXPECT_EQ(kHash2.prefix, add_prefixes_result[1].prefix);
140 135
(...skipping 13 matching lines...) Expand all
154 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk1, kHash1.prefix)); 149 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk1, kHash1.prefix));
155 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk1, kHash2.prefix)); 150 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk1, kHash2.prefix));
156 EXPECT_TRUE(store->WriteAddHash(kAddChunk1, now, kHash2)); 151 EXPECT_TRUE(store->WriteAddHash(kAddChunk1, now, kHash2));
157 152
158 store->SetSubChunk(kSubChunk1); 153 store->SetSubChunk(kSubChunk1);
159 EXPECT_TRUE(store->WriteSubPrefix(kSubChunk1, kAddChunk3, kHash3.prefix)); 154 EXPECT_TRUE(store->WriteSubPrefix(kSubChunk1, kAddChunk3, kHash3.prefix));
160 EXPECT_TRUE(store->WriteSubPrefix(kSubChunk1, kAddChunk1, kHash2.prefix)); 155 EXPECT_TRUE(store->WriteSubPrefix(kSubChunk1, kAddChunk1, kHash2.prefix));
161 EXPECT_TRUE(store->FinishChunk()); 156 EXPECT_TRUE(store->FinishChunk());
162 157
163 std::vector<SBAddFullHash> pending_adds; 158 std::vector<SBAddFullHash> pending_adds;
164 std::set<SBPrefix> prefix_misses;
165 SBAddPrefixes add_prefixes_result; 159 SBAddPrefixes add_prefixes_result;
166 std::vector<SBAddFullHash> add_full_hashes_result; 160 std::vector<SBAddFullHash> add_full_hashes_result;
167 161
168 EXPECT_TRUE(store->FinishUpdate(pending_adds, 162 EXPECT_TRUE(store->FinishUpdate(pending_adds,
169 prefix_misses,
170 &add_prefixes_result, 163 &add_prefixes_result,
171 &add_full_hashes_result)); 164 &add_full_hashes_result));
172 165
173 // Knocked out the chunk expected. 166 // Knocked out the chunk expected.
174 ASSERT_EQ(1U, add_prefixes_result.size()); 167 ASSERT_EQ(1U, add_prefixes_result.size());
175 EXPECT_EQ(kAddChunk1, add_prefixes_result[0].chunk_id); 168 EXPECT_EQ(kAddChunk1, add_prefixes_result[0].chunk_id);
176 EXPECT_EQ(kHash1.prefix, add_prefixes_result[0].prefix); 169 EXPECT_EQ(kHash1.prefix, add_prefixes_result[0].prefix);
177 EXPECT_TRUE(add_full_hashes_result.empty()); 170 EXPECT_TRUE(add_full_hashes_result.empty());
178 171
179 add_prefixes_result.clear(); 172 add_prefixes_result.clear();
180 173
181 EXPECT_TRUE(store->BeginUpdate()); 174 EXPECT_TRUE(store->BeginUpdate());
182 175
183 // This add should be knocked out by an existing sub. 176 // This add should be knocked out by an existing sub.
184 EXPECT_TRUE(store->BeginChunk()); 177 EXPECT_TRUE(store->BeginChunk());
185 store->SetAddChunk(kAddChunk3); 178 store->SetAddChunk(kAddChunk3);
186 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk3, kHash3.prefix)); 179 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk3, kHash3.prefix));
187 EXPECT_TRUE(store->FinishChunk()); 180 EXPECT_TRUE(store->FinishChunk());
188 181
189 EXPECT_TRUE(store->FinishUpdate(pending_adds, 182 EXPECT_TRUE(store->FinishUpdate(pending_adds,
190 prefix_misses,
191 &add_prefixes_result, 183 &add_prefixes_result,
192 &add_full_hashes_result)); 184 &add_full_hashes_result));
193 EXPECT_EQ(1U, add_prefixes_result.size()); 185 EXPECT_EQ(1U, add_prefixes_result.size());
194 EXPECT_EQ(kAddChunk1, add_prefixes_result[0].chunk_id); 186 EXPECT_EQ(kAddChunk1, add_prefixes_result[0].chunk_id);
195 EXPECT_EQ(kHash1.prefix, add_prefixes_result[0].prefix); 187 EXPECT_EQ(kHash1.prefix, add_prefixes_result[0].prefix);
196 EXPECT_TRUE(add_full_hashes_result.empty()); 188 EXPECT_TRUE(add_full_hashes_result.empty());
197 189
198 add_prefixes_result.clear(); 190 add_prefixes_result.clear();
199 191
200 EXPECT_TRUE(store->BeginUpdate()); 192 EXPECT_TRUE(store->BeginUpdate());
201 193
202 // But by here the sub should be gone, so it should stick this time. 194 // But by here the sub should be gone, so it should stick this time.
203 EXPECT_TRUE(store->BeginChunk()); 195 EXPECT_TRUE(store->BeginChunk());
204 store->SetAddChunk(kAddChunk3); 196 store->SetAddChunk(kAddChunk3);
205 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk3, kHash3.prefix)); 197 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk3, kHash3.prefix));
206 EXPECT_TRUE(store->FinishChunk()); 198 EXPECT_TRUE(store->FinishChunk());
207 199
208 EXPECT_TRUE(store->FinishUpdate(pending_adds, 200 EXPECT_TRUE(store->FinishUpdate(pending_adds,
209 prefix_misses,
210 &add_prefixes_result, 201 &add_prefixes_result,
211 &add_full_hashes_result)); 202 &add_full_hashes_result));
212 ASSERT_EQ(2U, add_prefixes_result.size()); 203 ASSERT_EQ(2U, add_prefixes_result.size());
213 EXPECT_EQ(kAddChunk1, add_prefixes_result[0].chunk_id); 204 EXPECT_EQ(kAddChunk1, add_prefixes_result[0].chunk_id);
214 EXPECT_EQ(kHash1.prefix, add_prefixes_result[0].prefix); 205 EXPECT_EQ(kHash1.prefix, add_prefixes_result[0].prefix);
215 EXPECT_EQ(kAddChunk3, add_prefixes_result[1].chunk_id); 206 EXPECT_EQ(kAddChunk3, add_prefixes_result[1].chunk_id);
216 EXPECT_EQ(kHash3.prefix, add_prefixes_result[1].prefix); 207 EXPECT_EQ(kHash3.prefix, add_prefixes_result[1].prefix);
217 EXPECT_TRUE(add_full_hashes_result.empty()); 208 EXPECT_TRUE(add_full_hashes_result.empty());
218 } 209 }
219 210
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 store->DeleteAddChunk(kAddChunk1); 249 store->DeleteAddChunk(kAddChunk1);
259 store->DeleteSubChunk(kSubChunk1); 250 store->DeleteSubChunk(kSubChunk1);
260 251
261 // Not actually deleted until finish. 252 // Not actually deleted until finish.
262 EXPECT_TRUE(store->CheckAddChunk(kAddChunk1)); 253 EXPECT_TRUE(store->CheckAddChunk(kAddChunk1));
263 EXPECT_TRUE(store->CheckAddChunk(kAddChunk2)); 254 EXPECT_TRUE(store->CheckAddChunk(kAddChunk2));
264 EXPECT_TRUE(store->CheckSubChunk(kSubChunk1)); 255 EXPECT_TRUE(store->CheckSubChunk(kSubChunk1));
265 EXPECT_TRUE(store->CheckSubChunk(kSubChunk2)); 256 EXPECT_TRUE(store->CheckSubChunk(kSubChunk2));
266 257
267 std::vector<SBAddFullHash> pending_adds; 258 std::vector<SBAddFullHash> pending_adds;
268 std::set<SBPrefix> prefix_misses;
269 SBAddPrefixes add_prefixes_result; 259 SBAddPrefixes add_prefixes_result;
270 std::vector<SBAddFullHash> add_full_hashes_result; 260 std::vector<SBAddFullHash> add_full_hashes_result;
271 261
272 EXPECT_TRUE(store->FinishUpdate(pending_adds, 262 EXPECT_TRUE(store->FinishUpdate(pending_adds,
273 prefix_misses,
274 &add_prefixes_result, 263 &add_prefixes_result,
275 &add_full_hashes_result)); 264 &add_full_hashes_result));
276 265
277 EXPECT_EQ(1U, add_prefixes_result.size()); 266 EXPECT_EQ(1U, add_prefixes_result.size());
278 EXPECT_EQ(kAddChunk2, add_prefixes_result[0].chunk_id); 267 EXPECT_EQ(kAddChunk2, add_prefixes_result[0].chunk_id);
279 EXPECT_EQ(kHash3.prefix, add_prefixes_result[0].prefix); 268 EXPECT_EQ(kHash3.prefix, add_prefixes_result[0].prefix);
280 EXPECT_EQ(1U, add_full_hashes_result.size()); 269 EXPECT_EQ(1U, add_full_hashes_result.size());
281 EXPECT_EQ(kAddChunk2, add_full_hashes_result[0].chunk_id); 270 EXPECT_EQ(kAddChunk2, add_full_hashes_result[0].chunk_id);
282 EXPECT_EQ(now.ToTimeT(), add_full_hashes_result[0].received); 271 EXPECT_EQ(now.ToTimeT(), add_full_hashes_result[0].received);
283 EXPECT_TRUE(SBFullHashEq(kHash3, add_full_hashes_result[0].full_hash)); 272 EXPECT_TRUE(SBFullHashEq(kHash3, add_full_hashes_result[0].full_hash));
284 273
285 // Expected chunks are there in another update. 274 // Expected chunks are there in another update.
286 EXPECT_TRUE(store->BeginUpdate()); 275 EXPECT_TRUE(store->BeginUpdate());
287 EXPECT_FALSE(store->CheckAddChunk(kAddChunk1)); 276 EXPECT_FALSE(store->CheckAddChunk(kAddChunk1));
288 EXPECT_TRUE(store->CheckAddChunk(kAddChunk2)); 277 EXPECT_TRUE(store->CheckAddChunk(kAddChunk2));
289 EXPECT_FALSE(store->CheckSubChunk(kSubChunk1)); 278 EXPECT_FALSE(store->CheckSubChunk(kSubChunk1));
290 EXPECT_TRUE(store->CheckSubChunk(kSubChunk2)); 279 EXPECT_TRUE(store->CheckSubChunk(kSubChunk2));
291 280
292 // Delete them, too. 281 // Delete them, too.
293 store->DeleteAddChunk(kAddChunk2); 282 store->DeleteAddChunk(kAddChunk2);
294 store->DeleteSubChunk(kSubChunk2); 283 store->DeleteSubChunk(kSubChunk2);
295 284
296 add_prefixes_result.clear(); 285 add_prefixes_result.clear();
297 add_full_hashes_result.clear(); 286 add_full_hashes_result.clear();
298 EXPECT_TRUE(store->FinishUpdate(pending_adds, 287 EXPECT_TRUE(store->FinishUpdate(pending_adds,
299 prefix_misses,
300 &add_prefixes_result, 288 &add_prefixes_result,
301 &add_full_hashes_result)); 289 &add_full_hashes_result));
302 290
303 // Expect no more chunks. 291 // Expect no more chunks.
304 EXPECT_TRUE(store->BeginUpdate()); 292 EXPECT_TRUE(store->BeginUpdate());
305 EXPECT_FALSE(store->CheckAddChunk(kAddChunk1)); 293 EXPECT_FALSE(store->CheckAddChunk(kAddChunk1));
306 EXPECT_FALSE(store->CheckAddChunk(kAddChunk2)); 294 EXPECT_FALSE(store->CheckAddChunk(kAddChunk2));
307 EXPECT_FALSE(store->CheckSubChunk(kSubChunk1)); 295 EXPECT_FALSE(store->CheckSubChunk(kSubChunk1));
308 EXPECT_FALSE(store->CheckSubChunk(kSubChunk2)); 296 EXPECT_FALSE(store->CheckSubChunk(kSubChunk2));
309 add_prefixes_result.clear(); 297 add_prefixes_result.clear();
310 add_full_hashes_result.clear(); 298 add_full_hashes_result.clear();
311 EXPECT_TRUE(store->FinishUpdate(pending_adds, 299 EXPECT_TRUE(store->FinishUpdate(pending_adds,
312 prefix_misses,
313 &add_prefixes_result, 300 &add_prefixes_result,
314 &add_full_hashes_result)); 301 &add_full_hashes_result));
315 EXPECT_TRUE(add_prefixes_result.empty()); 302 EXPECT_TRUE(add_prefixes_result.empty());
316 EXPECT_TRUE(add_full_hashes_result.empty()); 303 EXPECT_TRUE(add_full_hashes_result.empty());
317 } 304 }
318 305
319 void SafeBrowsingStoreTestDelete(SafeBrowsingStore* store, 306 void SafeBrowsingStoreTestDelete(SafeBrowsingStore* store,
320 const base::FilePath& filename) { 307 const base::FilePath& filename) {
321 // Delete should work if the file wasn't there in the first place. 308 // Delete should work if the file wasn't there in the first place.
322 EXPECT_FALSE(base::PathExists(filename)); 309 EXPECT_FALSE(base::PathExists(filename));
323 EXPECT_TRUE(store->Delete()); 310 EXPECT_TRUE(store->Delete());
324 311
325 // Create a store file. 312 // Create a store file.
326 EXPECT_TRUE(store->BeginUpdate()); 313 EXPECT_TRUE(store->BeginUpdate());
327 314
328 EXPECT_TRUE(store->BeginChunk()); 315 EXPECT_TRUE(store->BeginChunk());
329 store->SetAddChunk(kAddChunk1); 316 store->SetAddChunk(kAddChunk1);
330 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk1, kHash1.prefix)); 317 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk1, kHash1.prefix));
331 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk1, kHash2.prefix)); 318 EXPECT_TRUE(store->WriteAddPrefix(kAddChunk1, kHash2.prefix));
332 319
333 store->SetSubChunk(kSubChunk1); 320 store->SetSubChunk(kSubChunk1);
334 EXPECT_TRUE(store->WriteSubPrefix(kSubChunk1, kAddChunk3, kHash3.prefix)); 321 EXPECT_TRUE(store->WriteSubPrefix(kSubChunk1, kAddChunk3, kHash3.prefix));
335 EXPECT_TRUE(store->FinishChunk()); 322 EXPECT_TRUE(store->FinishChunk());
336 323
337 std::vector<SBAddFullHash> pending_adds; 324 std::vector<SBAddFullHash> pending_adds;
338 std::set<SBPrefix> prefix_misses;
339 SBAddPrefixes add_prefixes_result; 325 SBAddPrefixes add_prefixes_result;
340 std::vector<SBAddFullHash> add_full_hashes_result; 326 std::vector<SBAddFullHash> add_full_hashes_result;
341 327
342 EXPECT_TRUE(store->FinishUpdate(pending_adds, 328 EXPECT_TRUE(store->FinishUpdate(pending_adds,
343 prefix_misses,
344 &add_prefixes_result, 329 &add_prefixes_result,
345 &add_full_hashes_result)); 330 &add_full_hashes_result));
346 331
347 EXPECT_TRUE(base::PathExists(filename)); 332 EXPECT_TRUE(base::PathExists(filename));
348 EXPECT_TRUE(store->Delete()); 333 EXPECT_TRUE(store->Delete());
349 EXPECT_FALSE(base::PathExists(filename)); 334 EXPECT_FALSE(base::PathExists(filename));
350 } 335 }
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/safe_browsing_store_file_unittest.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698