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..b9cc84f5b476381fe95051171226db8df1f0ee31 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() { |
mattm
2014/11/12 22:26:57
nit: capitalize And
gab
2014/11/13 02:45:24
Done.
|
+ 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)); |