OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/files/file_path.h" | 5 #include "base/files/file_path.h" |
6 #include "base/memory/ref_counted.h" | 6 #include "base/memory/ref_counted.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/synchronization/waitable_event.h" | 10 #include "base/synchronization/waitable_event.h" |
11 #include "chrome/browser/safe_browsing/browser_feature_extractor.h" | 11 #include "chrome/browser/safe_browsing/browser_feature_extractor.h" |
12 #include "chrome/browser/safe_browsing/client_side_detection_host.h" | 12 #include "chrome/browser/safe_browsing/client_side_detection_host.h" |
13 #include "chrome/browser/safe_browsing/client_side_detection_service.h" | 13 #include "chrome/browser/safe_browsing/client_side_detection_service.h" |
14 #include "chrome/browser/safe_browsing/database_manager.h" | 14 #include "chrome/browser/safe_browsing/database_manager.h" |
15 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 15 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
| 16 #include "chrome/browser/safe_browsing/test_database_manager.h" |
16 #include "chrome/browser/safe_browsing/ui_manager.h" | 17 #include "chrome/browser/safe_browsing/ui_manager.h" |
17 #include "chrome/common/chrome_switches.h" | 18 #include "chrome/common/chrome_switches.h" |
18 #include "chrome/common/safe_browsing/csd.pb.h" | 19 #include "chrome/common/safe_browsing/csd.pb.h" |
19 #include "chrome/common/safe_browsing/safebrowsing_messages.h" | 20 #include "chrome/common/safe_browsing/safebrowsing_messages.h" |
20 #include "chrome/test/base/chrome_render_view_host_test_harness.h" | 21 #include "chrome/test/base/chrome_render_view_host_test_harness.h" |
21 #include "chrome/test/base/testing_profile.h" | 22 #include "chrome/test/base/testing_profile.h" |
22 #include "content/public/browser/navigation_entry.h" | 23 #include "content/public/browser/navigation_entry.h" |
23 #include "content/public/browser/web_contents.h" | 24 #include "content/public/browser/web_contents.h" |
24 #include "content/public/test/mock_render_process_host.h" | 25 #include "content/public/test/mock_render_process_host.h" |
25 #include "content/public/test/test_browser_thread.h" | 26 #include "content/public/test/test_browser_thread.h" |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 callback.Run(false); | 146 callback.Run(false); |
146 } | 147 } |
147 | 148 |
148 protected: | 149 protected: |
149 virtual ~MockSafeBrowsingUIManager() { } | 150 virtual ~MockSafeBrowsingUIManager() { } |
150 | 151 |
151 private: | 152 private: |
152 DISALLOW_COPY_AND_ASSIGN(MockSafeBrowsingUIManager); | 153 DISALLOW_COPY_AND_ASSIGN(MockSafeBrowsingUIManager); |
153 }; | 154 }; |
154 | 155 |
155 class MockSafeBrowsingDatabaseManager : public SafeBrowsingDatabaseManager { | 156 class MockSafeBrowsingDatabaseManager : public TestSafeBrowsingDatabaseManager { |
156 public: | 157 public: |
157 explicit MockSafeBrowsingDatabaseManager(SafeBrowsingService* service) | 158 MockSafeBrowsingDatabaseManager() {} |
158 : SafeBrowsingDatabaseManager(service) { } | |
159 | 159 |
160 MOCK_METHOD1(MatchCsdWhitelistUrl, bool(const GURL&)); | 160 MOCK_METHOD1(MatchCsdWhitelistUrl, bool(const GURL&)); |
161 MOCK_METHOD1(MatchMalwareIP, bool(const std::string& ip_address)); | 161 MOCK_METHOD1(MatchMalwareIP, bool(const std::string& ip_address)); |
162 MOCK_METHOD0(IsMalwareKillSwitchOn, bool()); | 162 MOCK_METHOD0(IsMalwareKillSwitchOn, bool()); |
163 | 163 |
164 protected: | 164 protected: |
165 virtual ~MockSafeBrowsingDatabaseManager() {} | 165 virtual ~MockSafeBrowsingDatabaseManager() {} |
166 | 166 |
167 private: | 167 private: |
168 DISALLOW_COPY_AND_ASSIGN(MockSafeBrowsingDatabaseManager); | 168 DISALLOW_COPY_AND_ASSIGN(MockSafeBrowsingDatabaseManager); |
(...skipping 30 matching lines...) Expand all Loading... |
199 | 199 |
200 class ClientSideDetectionHostTest : public ChromeRenderViewHostTestHarness { | 200 class ClientSideDetectionHostTest : public ChromeRenderViewHostTestHarness { |
201 public: | 201 public: |
202 typedef SafeBrowsingUIManager::UnsafeResource UnsafeResource; | 202 typedef SafeBrowsingUIManager::UnsafeResource UnsafeResource; |
203 | 203 |
204 void SetUp() override { | 204 void SetUp() override { |
205 ChromeRenderViewHostTestHarness::SetUp(); | 205 ChromeRenderViewHostTestHarness::SetUp(); |
206 | 206 |
207 // Inject service classes. | 207 // Inject service classes. |
208 csd_service_.reset(new StrictMock<MockClientSideDetectionService>()); | 208 csd_service_.reset(new StrictMock<MockClientSideDetectionService>()); |
209 // Only used for initializing mock objects. | 209 database_manager_ = new StrictMock<MockSafeBrowsingDatabaseManager>(); |
210 SafeBrowsingService* sb_service = | 210 ui_manager_ = new StrictMock<MockSafeBrowsingUIManager>( |
211 SafeBrowsingService::CreateSafeBrowsingService(); | 211 SafeBrowsingService::CreateSafeBrowsingService()); |
212 database_manager_ = | |
213 new StrictMock<MockSafeBrowsingDatabaseManager>(sb_service); | |
214 ui_manager_ = new StrictMock<MockSafeBrowsingUIManager>(sb_service); | |
215 csd_host_.reset(safe_browsing::ClientSideDetectionHost::Create( | 212 csd_host_.reset(safe_browsing::ClientSideDetectionHost::Create( |
216 web_contents())); | 213 web_contents())); |
217 csd_host_->set_client_side_detection_service(csd_service_.get()); | 214 csd_host_->set_client_side_detection_service(csd_service_.get()); |
218 csd_host_->set_safe_browsing_managers(ui_manager_.get(), | 215 csd_host_->set_safe_browsing_managers(ui_manager_.get(), |
219 database_manager_.get()); | 216 database_manager_.get()); |
220 // We need to create this here since we don't call DidStopLanding in | 217 // We need to create this here since we don't call DidStopLanding in |
221 // this test. | 218 // this test. |
222 csd_host_->browse_info_.reset(new BrowseInfo); | 219 csd_host_->browse_info_.reset(new BrowseInfo); |
223 } | 220 } |
224 | 221 |
(...skipping 916 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1141 EXPECT_EQ(url, resource.url); | 1138 EXPECT_EQ(url, resource.url); |
1142 EXPECT_EQ(url, resource.original_url); | 1139 EXPECT_EQ(url, resource.original_url); |
1143 | 1140 |
1144 ExpectStartPhishingDetection(NULL); | 1141 ExpectStartPhishingDetection(NULL); |
1145 | 1142 |
1146 // Showing a phishing warning will invalidate all the weak pointers which | 1143 // Showing a phishing warning will invalidate all the weak pointers which |
1147 // means we will not extract malware features. | 1144 // means we will not extract malware features. |
1148 ExpectShouldClassifyForMalwareResult(false); | 1145 ExpectShouldClassifyForMalwareResult(false); |
1149 } | 1146 } |
1150 } // namespace safe_browsing | 1147 } // namespace safe_browsing |
OLD | NEW |