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

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

Issue 1943993006: Create test fixture for SafeBrowsingService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nits Created 4 years, 7 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: chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
index 1f3af7bcca3df4a2c8a5b3759a6df3a71b71df44..2886fb6f90d480259f4d18ed4815e76834045695 100644
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
@@ -22,7 +22,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/safe_browsing/local_database_manager.h"
#include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h"
-#include "chrome/browser/safe_browsing/safe_browsing_service.h"
+#include "chrome/browser/safe_browsing/test_safe_browsing_service.h"
#include "chrome/browser/safe_browsing/threat_details.h"
#include "chrome/browser/safe_browsing/ui_manager.h"
#include "chrome/browser/ui/browser.h"
@@ -136,10 +136,12 @@ class FakeSafeBrowsingDatabaseManager : public TestSafeBrowsingDatabaseManager {
};
// A SafeBrowingUIManager class that allows intercepting malware details.
-class FakeSafeBrowsingUIManager : public SafeBrowsingUIManager {
+class FakeSafeBrowsingUIManager : public TestSafeBrowsingUIManager {
public:
+ FakeSafeBrowsingUIManager()
+ : TestSafeBrowsingUIManager(), threat_details_done_(false) {}
explicit FakeSafeBrowsingUIManager(SafeBrowsingService* service)
- : SafeBrowsingUIManager(service), threat_details_done_(false) {}
+ : TestSafeBrowsingUIManager(service), threat_details_done_(false) {}
// Overrides SafeBrowsingUIManager
void SendSerializedThreatDetails(const std::string& serialized) override {
@@ -187,68 +189,6 @@ class FakeSafeBrowsingUIManager : public SafeBrowsingUIManager {
DISALLOW_COPY_AND_ASSIGN(FakeSafeBrowsingUIManager);
};
-class FakeSafeBrowsingService : public SafeBrowsingService {
- public:
- FakeSafeBrowsingService()
- : fake_database_manager_(),
- fake_ui_manager_() { }
-
- // Returned pointer has the same lifespan as the database_manager_ refcounted
- // object.
- FakeSafeBrowsingDatabaseManager* fake_database_manager() {
- return fake_database_manager_;
- }
- // Returned pointer has the same lifespan as the ui_manager_ refcounted
- // object.
- FakeSafeBrowsingUIManager* fake_ui_manager() {
- return fake_ui_manager_;
- }
-
- protected:
- ~FakeSafeBrowsingService() override {}
-
- SafeBrowsingDatabaseManager* CreateDatabaseManager() override {
- fake_database_manager_ = new FakeSafeBrowsingDatabaseManager();
- return fake_database_manager_;
- }
-
- SafeBrowsingUIManager* CreateUIManager() override {
- fake_ui_manager_ = new FakeSafeBrowsingUIManager(this);
- return fake_ui_manager_;
- }
-
- SafeBrowsingProtocolManagerDelegate* GetProtocolManagerDelegate() override {
- // Our SafeBrowsingDatabaseManager doesn't implement this delegate.
- return NULL;
- }
-
- private:
- FakeSafeBrowsingDatabaseManager* fake_database_manager_;
- FakeSafeBrowsingUIManager* fake_ui_manager_;
-
- DISALLOW_COPY_AND_ASSIGN(FakeSafeBrowsingService);
-};
-
-// Factory that creates FakeSafeBrowsingService instances.
-class TestSafeBrowsingServiceFactory : public SafeBrowsingServiceFactory {
- public:
- TestSafeBrowsingServiceFactory() :
- most_recent_service_(NULL) { }
- ~TestSafeBrowsingServiceFactory() override {}
-
- SafeBrowsingService* CreateSafeBrowsingService() override {
- most_recent_service_ = new FakeSafeBrowsingService();
- return most_recent_service_;
- }
-
- FakeSafeBrowsingService* most_recent_service() const {
- return most_recent_service_;
- }
-
- private:
- FakeSafeBrowsingService* most_recent_service_;
-};
-
} // namespace
class TestThreatDetailsFactory : public ThreatDetailsFactory {
@@ -342,6 +282,10 @@ class SafeBrowsingBlockingPageBrowserTest
SafeBrowsingBlockingPageBrowserTest() {}
void SetUp() override {
+ // Test UI manager and test database manager should be set before
+ // InProcessBrowserTest::SetUp().
+ factory_.SetTestUIManager(new FakeSafeBrowsingUIManager());
+ factory_.SetTestDatabaseManager(new FakeSafeBrowsingDatabaseManager());
SafeBrowsingService::RegisterFactory(&factory_);
SafeBrowsingBlockingPage::RegisterFactory(&blocking_page_factory_);
ThreatDetails::RegisterFactory(&details_factory_);
@@ -367,12 +311,12 @@ class SafeBrowsingBlockingPageBrowserTest
}
void SetURLThreatType(const GURL& url, SBThreatType threat_type) {
- FakeSafeBrowsingService* service =
- static_cast<FakeSafeBrowsingService*>(
- g_browser_process->safe_browsing_service());
-
+ TestSafeBrowsingService* service = factory_.test_safe_browsing_service();
ASSERT_TRUE(service);
- service->fake_database_manager()->SetURLThreatType(url, threat_type);
+
+ static_cast<FakeSafeBrowsingDatabaseManager*>(
+ service->database_manager().get())
+ ->SetURLThreatType(url, threat_type);
}
// Adds a safebrowsing result of the current test threat to the fake
@@ -449,13 +393,15 @@ class SafeBrowsingBlockingPageBrowserTest
}
void SetReportSentCallback(const base::Closure& callback) {
- factory_.most_recent_service()
- ->fake_ui_manager()
+ static_cast<FakeSafeBrowsingUIManager*>(
+ factory_.test_safe_browsing_service()->ui_manager().get())
->set_threat_details_done_callback(callback);
}
std::string GetReportSent() {
- return factory_.most_recent_service()->fake_ui_manager()->GetReport();
+ return static_cast<FakeSafeBrowsingUIManager*>(
+ factory_.test_safe_browsing_service()->ui_manager().get())
+ ->GetReport();
}
void MalwareRedirectCancelAndProceed(const std::string& open_function) {

Powered by Google App Engine
This is Rietveld 408576698