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

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

Issue 507653003: Remove safe-browsing code to fix up injected prefixes. (Closed) Base URL: http://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert original CL more thoroughly. Created 6 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
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.h" 5 #include "chrome/browser/safe_browsing/safe_browsing_store.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 8
9 namespace { 9 namespace {
10 10
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 293
294 TEST(SafeBrowsingStoreTest, Y2K38) { 294 TEST(SafeBrowsingStoreTest, Y2K38) {
295 const base::Time now = base::Time::Now(); 295 const base::Time now = base::Time::Now();
296 const base::Time future = now + base::TimeDelta::FromDays(3*365); 296 const base::Time future = now + base::TimeDelta::FromDays(3*365);
297 297
298 // TODO: Fix file format before 2035. 298 // TODO: Fix file format before 2035.
299 EXPECT_GT(static_cast<int32>(future.ToTimeT()), 0) 299 EXPECT_GT(static_cast<int32>(future.ToTimeT()), 0)
300 << " (int32)time_t is running out."; 300 << " (int32)time_t is running out.";
301 } 301 }
302 302
303 // Test that prefixes which were injected from full hashes are being removed.
304 // This was a mistake in earlier versions of the code.
305 TEST(SafeBrowsingStoreTest, KnockoutPrefixVolunteers) {
306 // Construct some full hashes which share prefix with another.
307 const SBFullHash kHash1mod1 = ModifyHashAfterPrefix(kHash1, 1);
308 const SBFullHash kHash2mod1 = ModifyHashAfterPrefix(kHash2, 1);
309
310 SBAddPrefixes add_prefixes;
311 std::vector<SBAddFullHash> add_hashes;
312 SBSubPrefixes sub_prefixes;
313 std::vector<SBSubFullHash> sub_hashes;
314
315 // Full hashes for an add chunk will have had the prefix injected.
316 add_hashes.push_back(SBAddFullHash(kAddChunk1, kHash1));
317 add_hashes.push_back(SBAddFullHash(kAddChunk1, kHash1mod1));
318 add_prefixes.push_back(SBAddPrefix(kAddChunk1, kHash1.prefix));
319
320 // Other full hashes or prefixes are not affected.
321 add_hashes.push_back(SBAddFullHash(kAddChunk1, kHash3));
322 add_prefixes.push_back(SBAddPrefix(kAddChunk2, kHash4.prefix));
323
324 // Full hashes for a sub chunk will have had the prefix injected.
325 sub_hashes.push_back(SBSubFullHash(kSubChunk1, kAddChunk1, kHash2));
326 sub_hashes.push_back(SBSubFullHash(kSubChunk1, kAddChunk1, kHash2mod1));
327 sub_prefixes.push_back(SBSubPrefix(kSubChunk1, kAddChunk1, kHash2.prefix));
328
329 // Other full hashes or prefixes are not affected.
330 sub_hashes.push_back(SBSubFullHash(kSubChunk1, kAddChunk1, kHash5));
331 sub_prefixes.push_back(SBSubPrefix(kSubChunk2, kAddChunk2, kHash6.prefix));
332
333 const base::hash_set<int32> no_deletions;
334 ProcessHelper(&add_prefixes, &sub_prefixes, &add_hashes, &sub_hashes,
335 no_deletions, no_deletions);
336
337 ASSERT_EQ(1U, add_prefixes.size());
338 EXPECT_EQ(kAddChunk2, add_prefixes[0].chunk_id);
339 EXPECT_EQ(kHash4.prefix, add_prefixes[0].prefix);
340
341 ASSERT_EQ(3U, add_hashes.size());
342 EXPECT_EQ(kAddChunk1, add_hashes[0].chunk_id);
343 EXPECT_TRUE(SBFullHashEqual(kHash1mod1, add_hashes[0].full_hash));
344 EXPECT_EQ(kAddChunk1, add_hashes[1].chunk_id);
345 EXPECT_TRUE(SBFullHashEqual(kHash1, add_hashes[1].full_hash));
346 EXPECT_EQ(kAddChunk1, add_hashes[2].chunk_id);
347 EXPECT_TRUE(SBFullHashEqual(kHash3, add_hashes[2].full_hash));
348
349 ASSERT_EQ(1U, sub_prefixes.size());
350 EXPECT_EQ(kSubChunk2, sub_prefixes[0].chunk_id);
351 EXPECT_EQ(kAddChunk2, sub_prefixes[0].add_chunk_id);
352 EXPECT_EQ(kHash6.prefix, sub_prefixes[0].add_prefix);
353
354 ASSERT_EQ(3U, sub_hashes.size());
355 EXPECT_EQ(kSubChunk1, sub_hashes[0].chunk_id);
356 EXPECT_EQ(kAddChunk1, sub_hashes[0].add_chunk_id);
357 EXPECT_TRUE(SBFullHashEqual(kHash5, sub_hashes[0].full_hash));
358 EXPECT_EQ(kSubChunk1, sub_hashes[1].chunk_id);
359 EXPECT_EQ(kAddChunk1, sub_hashes[1].add_chunk_id);
360 EXPECT_TRUE(SBFullHashEqual(kHash2mod1, sub_hashes[1].full_hash));
361 EXPECT_EQ(kSubChunk1, sub_hashes[2].chunk_id);
362 EXPECT_EQ(kAddChunk1, sub_hashes[2].add_chunk_id);
363 EXPECT_TRUE(SBFullHashEqual(kHash2, sub_hashes[2].full_hash));
364 }
365
366 } // namespace 303 } // namespace
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