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

Unified Diff: chrome/browser/safe_browsing/safe_browsing_database_unittest.cc

Issue 611603002: Add the goog-unwanted-shavar list to a new SafeBrowsing PrefixSet. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nits and cl format Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/safe_browsing/safe_browsing_database_unittest.cc
diff --git a/chrome/browser/safe_browsing/safe_browsing_database_unittest.cc b/chrome/browser/safe_browsing/safe_browsing_database_unittest.cc
index 5631bfe18085f21cbd287def986357add8e2b540..9ff29c86c0fa0ab75e212493c8355568e1603a1d 100644
--- a/chrome/browser/safe_browsing/safe_browsing_database_unittest.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_database_unittest.cc
@@ -81,7 +81,7 @@ SBChunkData* BuildChunk(int chunk_number,
}
// Create add chunk with a single prefix.
-SBChunkData* AddChunkPrefix(int chunk_number, SBPrefix prefix) {
+SBChunkData* AddChunkPrefix(int chunk_number, SBPrefix prefix) {
return BuildChunk(chunk_number, safe_browsing::ChunkData::ADD,
safe_browsing::ChunkData::PREFIX_4B,
&prefix, sizeof(prefix),
@@ -259,10 +259,10 @@ class SafeBrowsingDatabaseTest : public PlatformTest {
// Setup a database in a temporary directory.
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
- database_.reset(new SafeBrowsingDatabaseNew);
database_filename_ =
temp_dir_.path().AppendASCII("SafeBrowsingTestDatabase");
- database_->Init(database_filename_);
+
+ ResetAndReloadFullDatabase();
}
void TearDown() override {
@@ -271,6 +271,33 @@ class SafeBrowsingDatabaseTest : public PlatformTest {
PlatformTest::TearDown();
}
+ // Reloads the |database_| in a new SafeBrowsingDatabaseNew object with all
+ // stores enabled.
+ void ResetAndReloadFullDatabase() {
+ SafeBrowsingStoreFile* browse_store = new SafeBrowsingStoreFile();
+ SafeBrowsingStoreFile* download_store = new SafeBrowsingStoreFile();
+ SafeBrowsingStoreFile* csd_whitelist_store = new SafeBrowsingStoreFile();
+ SafeBrowsingStoreFile* download_whitelist_store =
+ new SafeBrowsingStoreFile();
+ SafeBrowsingStoreFile* extension_blacklist_store =
+ new SafeBrowsingStoreFile();
+ SafeBrowsingStoreFile* side_effect_free_whitelist_store =
+ new SafeBrowsingStoreFile();
+ SafeBrowsingStoreFile* ip_blacklist_store = new SafeBrowsingStoreFile();
+ SafeBrowsingStoreFile* unwanted_software_store =
+ new SafeBrowsingStoreFile();
+ database_.reset(
+ new SafeBrowsingDatabaseNew(browse_store,
+ download_store,
+ csd_whitelist_store,
+ download_whitelist_store,
+ extension_blacklist_store,
+ side_effect_free_whitelist_store,
+ ip_blacklist_store,
+ unwanted_software_store));
+ database_->Init(database_filename_);
+ }
+
void GetListsInfo(std::vector<SBListChunkRanges>* lists) {
lists->clear();
ASSERT_TRUE(database_->UpdateStarted(lists));
@@ -360,7 +387,7 @@ TEST_F(SafeBrowsingDatabaseTest, ListNameForBrowse) {
database_->UpdateFinished(true);
GetListsInfo(&lists);
- ASSERT_EQ(2U, lists.size());
+ ASSERT_LE(2U, lists.size());
EXPECT_EQ(safe_browsing_util::kMalwareList, lists[0].name);
EXPECT_EQ("1-3", lists[0].adds);
EXPECT_EQ("7", lists[0].subs);
@@ -370,24 +397,6 @@ TEST_F(SafeBrowsingDatabaseTest, ListNameForBrowse) {
}
TEST_F(SafeBrowsingDatabaseTest, ListNameForBrowseAndDownload) {
- database_.reset();
- base::MessageLoop loop;
- SafeBrowsingStoreFile* browse_store = new SafeBrowsingStoreFile();
- SafeBrowsingStoreFile* download_store = new SafeBrowsingStoreFile();
- SafeBrowsingStoreFile* csd_whitelist_store = new SafeBrowsingStoreFile();
- SafeBrowsingStoreFile* download_whitelist_store = new SafeBrowsingStoreFile();
- SafeBrowsingStoreFile* extension_blacklist_store =
- new SafeBrowsingStoreFile();
- SafeBrowsingStoreFile* ip_blacklist_store = new SafeBrowsingStoreFile();
- database_.reset(new SafeBrowsingDatabaseNew(browse_store,
- download_store,
- csd_whitelist_store,
- download_whitelist_store,
- extension_blacklist_store,
- NULL,
- ip_blacklist_store));
- database_->Init(database_filename_);
-
ScopedVector<SBChunkData> chunks;
std::vector<SBListChunkRanges> lists;
@@ -424,10 +433,14 @@ TEST_F(SafeBrowsingDatabaseTest, ListNameForBrowseAndDownload) {
chunks.push_back(AddChunkHashedIpValue(9, "::ffff:192.168.1.0", 120));
database_->InsertChunks(safe_browsing_util::kIPBlacklist, chunks.get());
+ chunks.clear();
+ chunks.push_back(AddChunkPrefixValue(10, "www.unwanted.com/software.html"));
+ database_->InsertChunks(safe_browsing_util::kUnwantedUrlList, chunks.get());
+
database_->UpdateFinished(true);
GetListsInfo(&lists);
- ASSERT_EQ(7U, lists.size());
+ ASSERT_EQ(9U, lists.size());
EXPECT_EQ(safe_browsing_util::kMalwareList, lists[0].name);
EXPECT_EQ("1", lists[0].adds);
EXPECT_TRUE(lists[0].subs.empty());
@@ -446,240 +459,272 @@ TEST_F(SafeBrowsingDatabaseTest, ListNameForBrowseAndDownload) {
EXPECT_EQ(safe_browsing_util::kExtensionBlacklist, lists[5].name);
EXPECT_EQ("8", lists[5].adds);
EXPECT_TRUE(lists[5].subs.empty());
- EXPECT_EQ(safe_browsing_util::kIPBlacklist, lists[6].name);
- EXPECT_EQ("9", lists[6].adds);
- EXPECT_TRUE(lists[6].subs.empty());
+ EXPECT_EQ(safe_browsing_util::kIPBlacklist, lists[7].name);
+ EXPECT_EQ("9", lists[7].adds);
+ EXPECT_TRUE(lists[7].subs.empty());
+ EXPECT_EQ(safe_browsing_util::kUnwantedUrlList, lists[8].name);
+ EXPECT_EQ("10", lists[8].adds);
+ EXPECT_TRUE(lists[8].subs.empty());
database_.reset();
}
-// Checks database reading and writing for browse.
-TEST_F(SafeBrowsingDatabaseTest, BrowseDatabase) {
- std::vector<SBListChunkRanges> lists;
- ScopedVector<SBChunkData> chunks;
+// Checks database reading and writing for browse and unwanted PrefixSets.
+TEST_F(SafeBrowsingDatabaseTest, BrowseAndUnwantedDatabasesAndPrefixSets) {
+ struct TestCase {
+ using TestListContainsBadUrl = bool (SafeBrowsingDatabase::*)(
+ const GURL& url,
+ std::vector<SBPrefix>* prefix_hits,
+ std::vector<SBFullHashResult>* cache_hits);
+
+ const char* test_list_name;
+ size_t expected_list_index;
+ TestListContainsBadUrl test_list_contains_bad_url;
+ } const kTestCases[] {
+ { safe_browsing_util::kMalwareList, 0U,
+ &SafeBrowsingDatabase::ContainsBrowseUrl },
+ { safe_browsing_util::kPhishingList, 1U,
+ &SafeBrowsingDatabase::ContainsBrowseUrl },
+ { safe_browsing_util::kUnwantedUrlList, 8U,
+ &SafeBrowsingDatabase::ContainsUnwantedSoftwareUrl },
+ };
- chunks.push_back(AddChunkPrefix2Value(1,
- "www.evil.com/phishing.html",
- "www.evil.com/malware.html"));
- chunks.push_back(AddChunkPrefix4Value(2,
- "www.evil.com/notevil1.html",
- "www.evil.com/notevil2.html",
- "www.good.com/good1.html",
- "www.good.com/good2.html"));
- chunks.push_back(AddChunkPrefixValue(3, "192.168.0.1/malware.html"));
- chunks.push_back(AddChunkFullHashValue(7, "www.evil.com/evil.html"));
+ for (const auto& test_case : kTestCases) {
+ SCOPED_TRACE(std::string("Tested list at fault => ") +
+ test_case.test_list_name);
- ASSERT_TRUE(database_->UpdateStarted(&lists));
- database_->InsertChunks(safe_browsing_util::kMalwareList, chunks.get());
- database_->UpdateFinished(true);
+ std::vector<SBListChunkRanges> lists;
+ ScopedVector<SBChunkData> chunks;
- // Make sure they were added correctly.
- GetListsInfo(&lists);
- ASSERT_LE(1U, lists.size());
- EXPECT_EQ(safe_browsing_util::kMalwareList, lists[0].name);
- EXPECT_EQ("1-3,7", lists[0].adds);
- EXPECT_TRUE(lists[0].subs.empty());
+ chunks.push_back(AddChunkPrefix2Value(1,
+ "www.evil.com/phishing.html",
+ "www.evil.com/malware.html"));
+ chunks.push_back(AddChunkPrefix4Value(2,
+ "www.evil.com/notevil1.html",
+ "www.evil.com/notevil2.html",
+ "www.good.com/good1.html",
+ "www.good.com/good2.html"));
+ chunks.push_back(AddChunkPrefixValue(3, "192.168.0.1/malware.html"));
+ chunks.push_back(AddChunkFullHashValue(7, "www.evil.com/evil.html"));
- std::vector<SBPrefix> prefix_hits;
- std::vector<SBFullHashResult> cache_hits;
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/phishing.html"), &prefix_hits, &cache_hits));
- ASSERT_EQ(1U, prefix_hits.size());
- EXPECT_EQ(SBPrefixForString("www.evil.com/phishing.html"), prefix_hits[0]);
- EXPECT_TRUE(cache_hits.empty());
+ ASSERT_TRUE(database_->UpdateStarted(&lists));
+ database_->InsertChunks(test_case.test_list_name, chunks.get());
+ database_->UpdateFinished(true);
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/malware.html"), &prefix_hits, &cache_hits));
+ // Make sure they were added correctly.
+ GetListsInfo(&lists);
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/notevil1.html"), &prefix_hits, &cache_hits));
+ ASSERT_LE(1U, lists.size());
+ EXPECT_EQ(test_case.test_list_name,
+ lists[test_case.expected_list_index].name);
+ EXPECT_EQ("1-3,7", lists[test_case.expected_list_index].adds);
+ EXPECT_TRUE(lists[test_case.expected_list_index].subs.empty());
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/notevil2.html"), &prefix_hits, &cache_hits));
+ std::vector<SBPrefix> prefix_hits;
+ std::vector<SBFullHashResult> cache_hits;
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/phishing.html"), &prefix_hits, &cache_hits));
+ ASSERT_EQ(1U, prefix_hits.size());
+ EXPECT_EQ(SBPrefixForString("www.evil.com/phishing.html"), prefix_hits[0]);
+ EXPECT_TRUE(cache_hits.empty());
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.good.com/good1.html"), &prefix_hits, &cache_hits));
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/malware.html"), &prefix_hits, &cache_hits));
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.good.com/good2.html"), &prefix_hits, &cache_hits));
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/notevil1.html"), &prefix_hits, &cache_hits));
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://192.168.0.1/malware.html"), &prefix_hits, &cache_hits));
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/notevil2.html"), &prefix_hits, &cache_hits));
- EXPECT_FALSE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/"), &prefix_hits, &cache_hits));
- EXPECT_TRUE(prefix_hits.empty());
- EXPECT_TRUE(cache_hits.empty());
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.good.com/good1.html"), &prefix_hits, &cache_hits));
- EXPECT_FALSE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/robots.txt"), &prefix_hits, &cache_hits));
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.good.com/good2.html"), &prefix_hits, &cache_hits));
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/evil.html"), &prefix_hits, &cache_hits));
- ASSERT_EQ(1U, prefix_hits.size());
- EXPECT_EQ(SBPrefixForString("www.evil.com/evil.html"), prefix_hits[0]);
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://192.168.0.1/malware.html"), &prefix_hits, &cache_hits));
- // Attempt to re-add the first chunk (should be a no-op).
- // see bug: http://code.google.com/p/chromium/issues/detail?id=4522
- chunks.clear();
- chunks.push_back(AddChunkPrefix2Value(1,
- "www.evil.com/phishing.html",
- "www.evil.com/malware.html"));
- ASSERT_TRUE(database_->UpdateStarted(&lists));
- database_->InsertChunks(safe_browsing_util::kMalwareList, chunks.get());
- database_->UpdateFinished(true);
+ EXPECT_FALSE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/"), &prefix_hits, &cache_hits));
+ EXPECT_TRUE(prefix_hits.empty());
+ EXPECT_TRUE(cache_hits.empty());
- GetListsInfo(&lists);
- ASSERT_LE(1U, lists.size());
- EXPECT_EQ(safe_browsing_util::kMalwareList, lists[0].name);
- EXPECT_EQ("1-3,7", lists[0].adds);
- EXPECT_TRUE(lists[0].subs.empty());
+ EXPECT_FALSE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/robots.txt"), &prefix_hits, &cache_hits));
- // Test removing a single prefix from the add chunk.
- chunks.clear();
- chunks.push_back(SubChunkPrefixValue(4, "www.evil.com/notevil1.html", 2));
- ASSERT_TRUE(database_->UpdateStarted(&lists));
- database_->InsertChunks(safe_browsing_util::kMalwareList, chunks.get());
- database_->UpdateFinished(true);
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/evil.html"), &prefix_hits, &cache_hits));
+ ASSERT_EQ(1U, prefix_hits.size());
+ EXPECT_EQ(SBPrefixForString("www.evil.com/evil.html"), prefix_hits[0]);
+
+ // Attempt to re-add the first chunk (should be a no-op).
+ // see bug: http://code.google.com/p/chromium/issues/detail?id=4522
+ chunks.clear();
+ chunks.push_back(AddChunkPrefix2Value(1,
+ "www.evil.com/phishing.html",
+ "www.evil.com/malware.html"));
+ ASSERT_TRUE(database_->UpdateStarted(&lists));
+ database_->InsertChunks(test_case.test_list_name, chunks.get());
+ database_->UpdateFinished(true);
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/phishing.html"), &prefix_hits, &cache_hits));
- ASSERT_EQ(1U, prefix_hits.size());
- EXPECT_EQ(SBPrefixForString("www.evil.com/phishing.html"), prefix_hits[0]);
- EXPECT_TRUE(cache_hits.empty());
+ GetListsInfo(&lists);
+ ASSERT_LE(1U, lists.size());
+ EXPECT_EQ(test_case.test_list_name,
+ lists[test_case.expected_list_index].name);
+ EXPECT_EQ("1-3,7", lists[test_case.expected_list_index].adds);
+ EXPECT_TRUE(lists[test_case.expected_list_index].subs.empty());
- EXPECT_FALSE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/notevil1.html"), &prefix_hits, &cache_hits));
- EXPECT_TRUE(prefix_hits.empty());
- EXPECT_TRUE(cache_hits.empty());
+ // Test removing a single prefix from the add chunk.
+ chunks.clear();
+ chunks.push_back(SubChunkPrefixValue(4, "www.evil.com/notevil1.html", 2));
+ ASSERT_TRUE(database_->UpdateStarted(&lists));
+ database_->InsertChunks(test_case.test_list_name, chunks.get());
+ database_->UpdateFinished(true);
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/notevil2.html"), &prefix_hits, &cache_hits));
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/phishing.html"), &prefix_hits, &cache_hits));
+ ASSERT_EQ(1U, prefix_hits.size());
+ EXPECT_EQ(SBPrefixForString("www.evil.com/phishing.html"), prefix_hits[0]);
+ EXPECT_TRUE(cache_hits.empty());
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.good.com/good1.html"), &prefix_hits, &cache_hits));
+ EXPECT_FALSE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/notevil1.html"), &prefix_hits, &cache_hits));
+ EXPECT_TRUE(prefix_hits.empty());
+ EXPECT_TRUE(cache_hits.empty());
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.good.com/good2.html"), &prefix_hits, &cache_hits));
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/notevil2.html"), &prefix_hits, &cache_hits));
- GetListsInfo(&lists);
- ASSERT_LE(1U, lists.size());
- EXPECT_EQ(safe_browsing_util::kMalwareList, lists[0].name);
- EXPECT_EQ("1-3,7", lists[0].adds);
- EXPECT_EQ("4", lists[0].subs);
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.good.com/good1.html"), &prefix_hits, &cache_hits));
- // Test the same sub chunk again. This should be a no-op.
- // see bug: http://code.google.com/p/chromium/issues/detail?id=4522
- chunks.clear();
- chunks.push_back(SubChunkPrefixValue(4, "www.evil.com/notevil1.html", 2));
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.good.com/good2.html"), &prefix_hits, &cache_hits));
- ASSERT_TRUE(database_->UpdateStarted(&lists));
- database_->InsertChunks(safe_browsing_util::kMalwareList, chunks.get());
- database_->UpdateFinished(true);
+ GetListsInfo(&lists);
+ ASSERT_LE(1U, lists.size());
+ EXPECT_EQ(test_case.test_list_name,
+ lists[test_case.expected_list_index].name);
+ EXPECT_EQ("1-3,7", lists[test_case.expected_list_index].adds);
+ EXPECT_EQ("4", lists[test_case.expected_list_index].subs);
- GetListsInfo(&lists);
- ASSERT_LE(1U, lists.size());
- EXPECT_EQ(safe_browsing_util::kMalwareList, lists[0].name);
- EXPECT_EQ("1-3,7", lists[0].adds);
- EXPECT_EQ("4", lists[0].subs);
+ // Test the same sub chunk again. This should be a no-op.
+ // see bug: http://code.google.com/p/chromium/issues/detail?id=4522
+ chunks.clear();
+ chunks.push_back(SubChunkPrefixValue(4, "www.evil.com/notevil1.html", 2));
- // Test removing all the prefixes from an add chunk.
- ASSERT_TRUE(database_->UpdateStarted(&lists));
- AddDelChunk(safe_browsing_util::kMalwareList, 2);
- database_->UpdateFinished(true);
+ ASSERT_TRUE(database_->UpdateStarted(&lists));
+ database_->InsertChunks(test_case.test_list_name, chunks.get());
+ database_->UpdateFinished(true);
- EXPECT_FALSE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/notevil2.html"), &prefix_hits, &cache_hits));
+ GetListsInfo(&lists);
+ ASSERT_LE(1U, lists.size());
+ EXPECT_EQ(test_case.test_list_name,
+ lists[test_case.expected_list_index].name);
+ EXPECT_EQ("1-3,7", lists[test_case.expected_list_index].adds);
+ EXPECT_EQ("4", lists[test_case.expected_list_index].subs);
- EXPECT_FALSE(database_->ContainsBrowseUrl(
- GURL("http://www.good.com/good1.html"), &prefix_hits, &cache_hits));
+ // Test removing all the prefixes from an add chunk.
+ ASSERT_TRUE(database_->UpdateStarted(&lists));
+ AddDelChunk(test_case.test_list_name, 2);
+ database_->UpdateFinished(true);
- EXPECT_FALSE(database_->ContainsBrowseUrl(
- GURL("http://www.good.com/good2.html"), &prefix_hits, &cache_hits));
+ EXPECT_FALSE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/notevil2.html"), &prefix_hits, &cache_hits));
- GetListsInfo(&lists);
- ASSERT_LE(1U, lists.size());
- EXPECT_EQ(safe_browsing_util::kMalwareList, lists[0].name);
- EXPECT_EQ("1,3,7", lists[0].adds);
- EXPECT_EQ("4", lists[0].subs);
+ EXPECT_FALSE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.good.com/good1.html"), &prefix_hits, &cache_hits));
- // The adddel command exposed a bug in the transaction code where any
- // transaction after it would fail. Add a dummy entry and remove it to
- // make sure the transcation works fine.
- chunks.clear();
- chunks.push_back(AddChunkPrefixValue(44, "www.redherring.com/index.html"));
- ASSERT_TRUE(database_->UpdateStarted(&lists));
- database_->InsertChunks(safe_browsing_util::kMalwareList, chunks.get());
+ EXPECT_FALSE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.good.com/good2.html"), &prefix_hits, &cache_hits));
- // Now remove the dummy entry. If there are any problems with the
- // transactions, asserts will fire.
- AddDelChunk(safe_browsing_util::kMalwareList, 44);
+ GetListsInfo(&lists);
+ ASSERT_LE(1U, lists.size());
+ EXPECT_EQ(test_case.test_list_name,
+ lists[test_case.expected_list_index].name);
+ EXPECT_EQ("1,3,7", lists[test_case.expected_list_index].adds);
+ EXPECT_EQ("4", lists[test_case.expected_list_index].subs);
- // Test the subdel command.
- SubDelChunk(safe_browsing_util::kMalwareList, 4);
- database_->UpdateFinished(true);
+ // The adddel command exposed a bug in the transaction code where any
+ // transaction after it would fail. Add a dummy entry and remove it to
+ // make sure the transcation works fine.
+ chunks.clear();
+ chunks.push_back(AddChunkPrefixValue(44, "www.redherring.com/index.html"));
+ ASSERT_TRUE(database_->UpdateStarted(&lists));
+ database_->InsertChunks(test_case.test_list_name, chunks.get());
- GetListsInfo(&lists);
- ASSERT_LE(1U, lists.size());
- EXPECT_EQ(safe_browsing_util::kMalwareList, lists[0].name);
- EXPECT_EQ("1,3,7", lists[0].adds);
- EXPECT_TRUE(lists[0].subs.empty());
+ // Now remove the dummy entry. If there are any problems with the
+ // transactions, asserts will fire.
+ AddDelChunk(test_case.test_list_name, 44);
- // Test a sub command coming in before the add.
- chunks.clear();
- chunks.push_back(SubChunkPrefix2Value(5,
- "www.notevilanymore.com/index.html",
- 10,
- "www.notevilanymore.com/good.html",
- 10));
- ASSERT_TRUE(database_->UpdateStarted(&lists));
- database_->InsertChunks(safe_browsing_util::kMalwareList, chunks.get());
- database_->UpdateFinished(true);
+ // Test the subdel command.
+ SubDelChunk(test_case.test_list_name, 4);
+ database_->UpdateFinished(true);
- EXPECT_FALSE(database_->ContainsBrowseUrl(
- GURL("http://www.notevilanymore.com/index.html"),
- &prefix_hits,
- &cache_hits));
+ GetListsInfo(&lists);
+ ASSERT_LE(1U, lists.size());
+ EXPECT_EQ(test_case.test_list_name,
+ lists[test_case.expected_list_index].name);
+ EXPECT_EQ("1,3,7", lists[test_case.expected_list_index].adds);
+ EXPECT_TRUE(lists[test_case.expected_list_index].subs.empty());
+
+ // Test a sub command coming in before the add.
+ chunks.clear();
+ chunks.push_back(SubChunkPrefix2Value(5,
+ "www.notevilanymore.com/index.html",
+ 10,
+ "www.notevilanymore.com/good.html",
+ 10));
+ ASSERT_TRUE(database_->UpdateStarted(&lists));
+ database_->InsertChunks(test_case.test_list_name, chunks.get());
+ database_->UpdateFinished(true);
- // Now insert the tardy add chunk and we don't expect them to appear
- // in database because of the previous sub chunk.
- chunks.clear();
- chunks.push_back(AddChunkPrefix2Value(10,
- "www.notevilanymore.com/index.html",
- "www.notevilanymore.com/good.html"));
- ASSERT_TRUE(database_->UpdateStarted(&lists));
- database_->InsertChunks(safe_browsing_util::kMalwareList, chunks.get());
- database_->UpdateFinished(true);
+ EXPECT_FALSE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.notevilanymore.com/index.html"),
+ &prefix_hits,
+ &cache_hits));
+
+ // Now insert the tardy add chunk and we don't expect them to appear
+ // in database because of the previous sub chunk.
+ chunks.clear();
+ chunks.push_back(AddChunkPrefix2Value(10,
+ "www.notevilanymore.com/index.html",
+ "www.notevilanymore.com/good.html"));
+ ASSERT_TRUE(database_->UpdateStarted(&lists));
+ database_->InsertChunks(test_case.test_list_name, chunks.get());
+ database_->UpdateFinished(true);
- EXPECT_FALSE(database_->ContainsBrowseUrl(
- GURL("http://www.notevilanymore.com/index.html"),
- &prefix_hits,
- &cache_hits));
+ EXPECT_FALSE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.notevilanymore.com/index.html"),
+ &prefix_hits,
+ &cache_hits));
- EXPECT_FALSE(database_->ContainsBrowseUrl(
- GURL("http://www.notevilanymore.com/good.html"),
- &prefix_hits,
- &cache_hits));
+ EXPECT_FALSE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.notevilanymore.com/good.html"),
+ &prefix_hits,
+ &cache_hits));
- // Reset and reload the database. The database will rely on the prefix set.
- database_.reset(new SafeBrowsingDatabaseNew);
- database_->Init(database_filename_);
+ // Reset and reload the database. The database will rely on the prefix set.
+ ResetAndReloadFullDatabase();
- // Check that a prefix still hits.
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/phishing.html"), &prefix_hits, &cache_hits));
- ASSERT_EQ(1U, prefix_hits.size());
- EXPECT_EQ(SBPrefixForString("www.evil.com/phishing.html"), prefix_hits[0]);
+ // Check that a prefix still hits.
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/phishing.html"), &prefix_hits, &cache_hits));
+ ASSERT_EQ(1U, prefix_hits.size());
+ EXPECT_EQ(SBPrefixForString("www.evil.com/phishing.html"), prefix_hits[0]);
- // Also check that it's not just always returning true in this case.
- EXPECT_FALSE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/"), &prefix_hits, &cache_hits));
+ // Also check that it's not just always returning true in this case.
+ EXPECT_FALSE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/"), &prefix_hits, &cache_hits));
- // Check that the full hash is still present.
- EXPECT_TRUE(database_->ContainsBrowseUrl(
- GURL("http://www.evil.com/evil.html"), &prefix_hits, &cache_hits));
- ASSERT_EQ(1U, prefix_hits.size());
- EXPECT_EQ(SBPrefixForString("www.evil.com/evil.html"), prefix_hits[0]);
+ // Check that the full hash is still present.
+ EXPECT_TRUE((database_.get()->*test_case.test_list_contains_bad_url)(
+ GURL("http://www.evil.com/evil.html"), &prefix_hits, &cache_hits));
+ ASSERT_EQ(1U, prefix_hits.size());
+ EXPECT_EQ(SBPrefixForString("www.evil.com/evil.html"), prefix_hits[0]);
+ }
}
// Test adding zero length chunks to the database.
@@ -786,7 +831,7 @@ void SafeBrowsingDatabaseTest::PopulateDatabaseForCacheTest() {
database_->UpdateFinished(true);
// Cache should be cleared after updating.
- EXPECT_TRUE(database_->browse_gethash_cache_.empty());
+ EXPECT_TRUE(database_->prefix_gethash_cache_.empty());
SBFullHashResult full_hash;
full_hash.list_id = safe_browsing_util::MALWARE;
@@ -810,7 +855,7 @@ TEST_F(SafeBrowsingDatabaseTest, HashCaching) {
PopulateDatabaseForCacheTest();
// We should have both full hashes in the cache.
- EXPECT_EQ(2U, database_->browse_gethash_cache_.size());
+ EXPECT_EQ(2U, database_->prefix_gethash_cache_.size());
// Test the cache lookup for the first prefix.
std::vector<SBPrefix> prefix_hits;
@@ -866,7 +911,7 @@ TEST_F(SafeBrowsingDatabaseTest, HashCaching) {
database_->UpdateFinished(true);
EXPECT_FALSE(database_->ContainsBrowseUrl(
GURL("http://www.evil.com/malware.html"), &prefix_hits, &cache_hits));
- EXPECT_TRUE(database_->browse_gethash_cache_.empty());
+ EXPECT_TRUE(database_->prefix_gethash_cache_.empty());
prefix_hits.clear();
cache_hits.clear();
@@ -876,7 +921,7 @@ TEST_F(SafeBrowsingDatabaseTest, HashCaching) {
PopulateDatabaseForCacheTest();
std::map<SBPrefix, SBCachedFullHashResult>* hash_cache =
- &database_->browse_gethash_cache_;
+ &database_->prefix_gethash_cache_;
EXPECT_EQ(2U, hash_cache->size());
// Now adjust one of the entries times to be in the past.
@@ -1051,7 +1096,7 @@ TEST_F(SafeBrowsingDatabaseTest, DISABLED_FileCorruptionHandling) {
base::MessageLoop loop;
SafeBrowsingStoreFile* store = new SafeBrowsingStoreFile();
database_.reset(new SafeBrowsingDatabaseNew(store, NULL, NULL, NULL, NULL,
- NULL, NULL));
+ NULL, NULL, NULL));
database_->Init(database_filename_);
// This will cause an empty database to be created.
@@ -1106,20 +1151,6 @@ TEST_F(SafeBrowsingDatabaseTest, DISABLED_FileCorruptionHandling) {
// Checks database reading and writing.
TEST_F(SafeBrowsingDatabaseTest, ContainsDownloadUrl) {
- database_.reset();
- base::MessageLoop loop;
- SafeBrowsingStoreFile* browse_store = new SafeBrowsingStoreFile();
- SafeBrowsingStoreFile* download_store = new SafeBrowsingStoreFile();
- SafeBrowsingStoreFile* csd_whitelist_store = new SafeBrowsingStoreFile();
- database_.reset(new SafeBrowsingDatabaseNew(browse_store,
- download_store,
- csd_whitelist_store,
- NULL,
- NULL,
- NULL,
- NULL));
- database_->Init(database_filename_);
-
const char kEvil1Url1[] = "www.evil1.com/download1/";
const char kEvil1Url2[] = "www.evil1.com/download2.html";
@@ -1217,7 +1248,7 @@ TEST_F(SafeBrowsingDatabaseTest, Whitelists) {
// If the whitelist is disabled everything should match the whitelist.
database_.reset(new SafeBrowsingDatabaseNew(new SafeBrowsingStoreFile(),
NULL, NULL, NULL, NULL, NULL,
- NULL));
+ NULL, NULL));
database_->Init(database_filename_);
EXPECT_TRUE(database_->ContainsDownloadWhitelistedUrl(
GURL(std::string("http://www.phishing.com/"))));
@@ -1225,17 +1256,7 @@ TEST_F(SafeBrowsingDatabaseTest, Whitelists) {
GURL(std::string("http://www.phishing.com/"))));
EXPECT_TRUE(database_->ContainsDownloadWhitelistedString("asdf"));
- SafeBrowsingStoreFile* browse_store = new SafeBrowsingStoreFile();
- SafeBrowsingStoreFile* csd_whitelist_store = new SafeBrowsingStoreFile();
- SafeBrowsingStoreFile* download_whitelist_store = new SafeBrowsingStoreFile();
- SafeBrowsingStoreFile* extension_blacklist_store =
- new SafeBrowsingStoreFile();
- database_.reset(new SafeBrowsingDatabaseNew(browse_store, NULL,
- csd_whitelist_store,
- download_whitelist_store,
- extension_blacklist_store,
- NULL, NULL));
- database_->Init(database_filename_);
+ ResetAndReloadFullDatabase();
const char kGood1Host[] = "www.good1.com/";
const char kGood1Url1[] = "www.good1.com/a/b.html";
@@ -1435,7 +1456,7 @@ TEST_F(SafeBrowsingDatabaseTest, SameHostEntriesOkay) {
database_->UpdateFinished(true);
GetListsInfo(&lists);
- ASSERT_EQ(2U, lists.size());
+ ASSERT_LE(2U, lists.size());
EXPECT_EQ(safe_browsing_util::kMalwareList, lists[0].name);
EXPECT_EQ("1", lists[0].adds);
EXPECT_TRUE(lists[0].subs.empty());
@@ -1563,8 +1584,7 @@ TEST_F(SafeBrowsingDatabaseTest, FilterFile) {
// After re-creating the database, it should have a filter read from
// a file, so it should find the same results.
ASSERT_TRUE(base::PathExists(filter_file));
- database_.reset(new SafeBrowsingDatabaseNew);
- database_->Init(database_filename_);
+ ResetAndReloadFullDatabase();
EXPECT_TRUE(database_->ContainsBrowseUrl(
GURL("http://www.evil.com/malware.html"), &prefix_hits, &cache_hits));
EXPECT_FALSE(database_->ContainsBrowseUrl(
@@ -1573,8 +1593,7 @@ TEST_F(SafeBrowsingDatabaseTest, FilterFile) {
// If there is no filter file, the database cannot find malware urls.
base::DeleteFile(filter_file, false);
ASSERT_FALSE(base::PathExists(filter_file));
- database_.reset(new SafeBrowsingDatabaseNew);
- database_->Init(database_filename_);
+ ResetAndReloadFullDatabase();
EXPECT_FALSE(database_->ContainsBrowseUrl(
GURL("http://www.evil.com/malware.html"), &prefix_hits, &cache_hits));
EXPECT_FALSE(database_->ContainsBrowseUrl(
@@ -1613,14 +1632,14 @@ TEST_F(SafeBrowsingDatabaseTest, CachedFullMiss) {
std::vector<SBFullHash> full_hashes(1, kFullHash1_1);
std::vector<SBPrefix> prefix_hits;
std::vector<SBFullHashResult> cache_hits;
- EXPECT_FALSE(database_->ContainsBrowseUrlHashes(
+ EXPECT_FALSE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
// kFullHash2_1 gets a hit from the prefix in the database.
full_hashes.push_back(kFullHash2_1);
prefix_hits.clear();
cache_hits.clear();
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(1U, prefix_hits.size());
EXPECT_EQ(kPrefix2, prefix_hits[0]);
@@ -1661,7 +1680,7 @@ TEST_F(SafeBrowsingDatabaseTest, CachedPrefixHitFullMiss) {
full_hashes.push_back(kFullHash1_1);
std::vector<SBPrefix> prefix_hits;
std::vector<SBFullHashResult> cache_hits;
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(1U, prefix_hits.size());
EXPECT_EQ(kPrefix1, prefix_hits[0]);
@@ -1671,7 +1690,7 @@ TEST_F(SafeBrowsingDatabaseTest, CachedPrefixHitFullMiss) {
full_hashes.push_back(kFullHash2_1);
prefix_hits.clear();
cache_hits.clear();
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(2U, prefix_hits.size());
EXPECT_EQ(kPrefix1, prefix_hits[0]);
@@ -1682,7 +1701,7 @@ TEST_F(SafeBrowsingDatabaseTest, CachedPrefixHitFullMiss) {
full_hashes.push_back(kFullHash3_1);
prefix_hits.clear();
cache_hits.clear();
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(2U, prefix_hits.size());
EXPECT_EQ(kPrefix1, prefix_hits[0]);
@@ -1712,7 +1731,7 @@ TEST_F(SafeBrowsingDatabaseTest, CachedPrefixHitFullMiss) {
std::vector<SBFullHash> full_hashes(1, kFullHash1_1);
std::vector<SBPrefix> prefix_hits;
std::vector<SBFullHashResult> cache_hits;
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
EXPECT_TRUE(prefix_hits.empty());
ASSERT_EQ(1U, cache_hits.size());
@@ -1723,7 +1742,7 @@ TEST_F(SafeBrowsingDatabaseTest, CachedPrefixHitFullMiss) {
full_hashes.push_back(kFullHash2_1);
prefix_hits.clear();
cache_hits.clear();
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(1U, prefix_hits.size());
EXPECT_EQ(kPrefix2, prefix_hits[0]);
@@ -1734,7 +1753,7 @@ TEST_F(SafeBrowsingDatabaseTest, CachedPrefixHitFullMiss) {
full_hashes.push_back(kFullHash1_3);
prefix_hits.clear();
cache_hits.clear();
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(1U, prefix_hits.size());
EXPECT_EQ(kPrefix2, prefix_hits[0]);
@@ -1748,7 +1767,7 @@ TEST_F(SafeBrowsingDatabaseTest, CachedPrefixHitFullMiss) {
std::vector<SBFullHash> full_hashes(1, kFullHash1_3);
std::vector<SBPrefix> prefix_hits;
std::vector<SBFullHashResult> cache_hits;
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
EXPECT_TRUE(prefix_hits.empty());
ASSERT_EQ(1U, cache_hits.size());
@@ -1761,14 +1780,14 @@ TEST_F(SafeBrowsingDatabaseTest, CachedPrefixHitFullMiss) {
std::vector<SBFullHash> full_hashes(1, kFullHash1_2);
std::vector<SBPrefix> prefix_hits;
std::vector<SBFullHashResult> cache_hits;
- EXPECT_FALSE(database_->ContainsBrowseUrlHashes(
+ EXPECT_FALSE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
// Other prefix hits possible when kFullHash1_2 hits nothing.
full_hashes.push_back(kFullHash2_1);
prefix_hits.clear();
cache_hits.clear();
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(1U, prefix_hits.size());
EXPECT_EQ(kPrefix2, prefix_hits[0]);
@@ -1800,14 +1819,14 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashMatching) {
std::vector<SBFullHash> full_hashes(1, kFullHash1_3);
std::vector<SBPrefix> prefix_hits;
std::vector<SBFullHashResult> cache_hits;
- EXPECT_FALSE(database_->ContainsBrowseUrlHashes(
+ EXPECT_FALSE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
// Also one which is present, should have a prefix hit.
full_hashes.push_back(kFullHash1_1);
prefix_hits.clear();
cache_hits.clear();
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(1U, prefix_hits.size());
EXPECT_EQ(kPrefix1, prefix_hits[0]);
@@ -1817,7 +1836,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashMatching) {
full_hashes.push_back(kFullHash1_2);
prefix_hits.clear();
cache_hits.clear();
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(1U, prefix_hits.size());
EXPECT_EQ(kPrefix1, prefix_hits[0]);
@@ -1842,7 +1861,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashMatching) {
std::vector<SBFullHash> full_hashes(1, kFullHash1_3);
std::vector<SBPrefix> prefix_hits;
std::vector<SBFullHashResult> cache_hits;
- EXPECT_FALSE(database_->ContainsBrowseUrlHashes(
+ EXPECT_FALSE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
// kFullHash1_1 is also not in the cached result, which takes
@@ -1850,14 +1869,14 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashMatching) {
prefix_hits.clear();
full_hashes.push_back(kFullHash1_1);
cache_hits.clear();
- EXPECT_FALSE(database_->ContainsBrowseUrlHashes(
+ EXPECT_FALSE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
// kFullHash1_2 is in the cached result.
full_hashes.push_back(kFullHash1_2);
prefix_hits.clear();
cache_hits.clear();
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
EXPECT_TRUE(prefix_hits.empty());
ASSERT_EQ(1U, cache_hits.size());
@@ -1873,28 +1892,28 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashMatching) {
database_->UpdateFinished(true);
// Cache should be cleared after updating.
- EXPECT_TRUE(database_->browse_gethash_cache_.empty());
+ EXPECT_TRUE(database_->prefix_gethash_cache_.empty());
{
// Now the database doesn't contain kFullHash1_1.
std::vector<SBFullHash> full_hashes(1, kFullHash1_1);
std::vector<SBPrefix> prefix_hits;
std::vector<SBFullHashResult> cache_hits;
- EXPECT_FALSE(database_->ContainsBrowseUrlHashes(
+ EXPECT_FALSE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
// Nor kFullHash1_3.
full_hashes.push_back(kFullHash1_3);
prefix_hits.clear();
cache_hits.clear();
- EXPECT_FALSE(database_->ContainsBrowseUrlHashes(
+ EXPECT_FALSE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
// Still has kFullHash1_2.
full_hashes.push_back(kFullHash1_2);
prefix_hits.clear();
cache_hits.clear();
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(1U, prefix_hits.size());
EXPECT_EQ(kPrefix1, prefix_hits[0]);
@@ -1910,7 +1929,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashMatching) {
database_->UpdateFinished(true);
// Cache should be cleared after updating.
- EXPECT_TRUE(database_->browse_gethash_cache_.empty());
+ EXPECT_TRUE(database_->prefix_gethash_cache_.empty());
{
// None are present.
@@ -1920,7 +1939,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashMatching) {
full_hashes.push_back(kFullHash1_1);
full_hashes.push_back(kFullHash1_2);
full_hashes.push_back(kFullHash1_3);
- EXPECT_FALSE(database_->ContainsBrowseUrlHashes(
+ EXPECT_FALSE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
}
}
@@ -1945,7 +1964,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashAndPrefixMatching) {
std::vector<SBFullHash> full_hashes(1, kFullHash1_2);
std::vector<SBPrefix> prefix_hits;
std::vector<SBFullHashResult> cache_hits;
- EXPECT_FALSE(database_->ContainsBrowseUrlHashes(
+ EXPECT_FALSE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
}
@@ -1962,7 +1981,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashAndPrefixMatching) {
std::vector<SBFullHash> full_hashes(1, kFullHash1_2);
std::vector<SBPrefix> prefix_hits;
std::vector<SBFullHashResult> cache_hits;
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(1U, prefix_hits.size());
EXPECT_EQ(kPrefix1, prefix_hits[0]);
@@ -1982,7 +2001,7 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashAndPrefixMatching) {
std::vector<SBFullHash> full_hashes(1, kFullHash1_2);
std::vector<SBPrefix> prefix_hits;
std::vector<SBFullHashResult> cache_hits;
- EXPECT_TRUE(database_->ContainsBrowseUrlHashes(
+ EXPECT_TRUE(database_->ContainsBrowseUrlHashesForTesting(
full_hashes, &prefix_hits, &cache_hits));
ASSERT_EQ(1U, prefix_hits.size());
EXPECT_EQ(kPrefix1, prefix_hits[0]);
@@ -1991,17 +2010,6 @@ TEST_F(SafeBrowsingDatabaseTest, BrowseFullHashAndPrefixMatching) {
}
TEST_F(SafeBrowsingDatabaseTest, MalwareIpBlacklist) {
- database_.reset();
- SafeBrowsingStoreFile* browse_store = new SafeBrowsingStoreFile();
- SafeBrowsingStoreFile* ip_blacklist_store = new SafeBrowsingStoreFile();
- database_.reset(new SafeBrowsingDatabaseNew(browse_store,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- ip_blacklist_store));
- database_->Init(database_filename_);
std::vector<SBListChunkRanges> lists;
ASSERT_TRUE(database_->UpdateStarted(&lists));

Powered by Google App Engine
This is Rietveld 408576698