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

Unified Diff: components/safe_browsing_db/v4_local_database_manager_unittest.cc

Issue 2261603002: PVer4: Re-use the PVer3 implementation to get full hashes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@01_check_browse_url
Patch Set: BUILD: v4_local_database_manager depends on :v4_get_hash_protocol_manager Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: components/safe_browsing_db/v4_local_database_manager_unittest.cc
diff --git a/components/safe_browsing_db/v4_local_database_manager_unittest.cc b/components/safe_browsing_db/v4_local_database_manager_unittest.cc
index d8f3a3c317bf983dcae56f5948a53713405651ec..a410a406914878be3b661456d76d9e462964775c 100644
--- a/components/safe_browsing_db/v4_local_database_manager_unittest.cc
+++ b/components/safe_browsing_db/v4_local_database_manager_unittest.cc
@@ -7,7 +7,9 @@
#include "base/memory/ref_counted.h"
#include "base/run_loop.h"
#include "base/test/test_simple_task_runner.h"
+#include "base/time/time.h"
#include "components/safe_browsing_db/v4_database.h"
+#include "components/safe_browsing_db/v4_get_hash_protocol_manager.h"
#include "components/safe_browsing_db/v4_local_database_manager.h"
#include "content/public/test/test_browser_thread_bundle.h"
#include "testing/platform_test.h"
@@ -33,6 +35,30 @@ class FakeV4Database : public V4Database {
const MatchedHashPrefixMap& matched_hash_prefix_map_;
};
+class FakeV4GetHashProtocolManager : public V4GetHashProtocolManager {
+ public:
+ FakeV4GetHashProtocolManager(
+ net::URLRequestContextGetter* request_context_getter,
+ const V4ProtocolConfig& config,
+ const std::vector<SBFullHashResult>& full_hash_results,
+ const base::Time& negative_cache_expire)
+ : V4GetHashProtocolManager(request_context_getter, config),
+ full_hash_results_(full_hash_results),
+ negative_cache_expire_(negative_cache_expire) {}
+
+ void GetFullHashes(const base::hash_set<HashPrefix>& prefixes,
+ const PlatformTypeSet& platforms,
+ const ThreatEntryTypeSet& threat_entry_types,
+ const ThreatTypeSet& threat_types,
+ FullHashCallback callback) override {
+ callback.Run(full_hash_results_, negative_cache_expire_);
+ }
+
+ private:
+ std::vector<SBFullHashResult> full_hash_results_;
+ base::Time negative_cache_expire_;
+};
+
class V4LocalDatabaseManagerTest : public PlatformTest {
public:
V4LocalDatabaseManagerTest() : task_runner_(new base::TestSimpleTaskRunner) {}
@@ -72,6 +98,17 @@ class V4LocalDatabaseManagerTest : public PlatformTest {
task_runner_, base::MakeUnique<StoreMap>(), matched_hash_prefix_map));
}
+ void ReplaceV4GetHashProtocolManager(
+ net::URLRequestContextGetter* request_context_getter,
+ const std::vector<SBFullHashResult>& full_hash_results,
+ const base::Time& negative_cache_expire) {
+ V4ProtocolConfig config;
+ v4_local_database_manager_->v4_get_hash_protocol_manager_.reset(
+ new FakeV4GetHashProtocolManager(request_context_getter, config,
+ full_hash_results,
+ negative_cache_expire));
+ }
+
void ForceDisableLocalDatabaseManager() {
v4_local_database_manager_->enabled_ = false;
}
@@ -114,6 +151,10 @@ TEST_F(V4LocalDatabaseManagerTest, TestCheckBrowseUrlWithFakeDbReturnsMatch) {
matched_hash_prefix_map[GetUrlMalwareId()] = HashPrefix("aaaa");
ReplaceV4Database(matched_hash_prefix_map);
+ std::vector<SBFullHashResult> full_hash_results;
+ ReplaceV4GetHashProtocolManager(nullptr, full_hash_results,
+ base::Time::Now());
Scott Hess - ex-Googler 2016/08/23 20:25:46 Will full_hash_results acquire contents later? Ot
+
// The fake database returns a matched hash prefix.
EXPECT_FALSE(v4_local_database_manager_->CheckBrowseUrl(
GURL("http://example.com/a/"), nullptr));

Powered by Google App Engine
This is Rietveld 408576698