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 // This test creates a safebrowsing service using test safebrowsing database | 5 // This test creates a safebrowsing service using test safebrowsing database |
6 // and a test protocol manager. It is used to test logics in safebrowsing | 6 // and a test protocol manager. It is used to test logics in safebrowsing |
7 // service. | 7 // service. |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 | 10 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 SafeBrowsingProtocolManager::FullHashCallback callback, | 64 SafeBrowsingProtocolManager::FullHashCallback callback, |
65 const std::vector<SBFullHashResult>& result) { | 65 const std::vector<SBFullHashResult>& result) { |
66 callback.Run(result, base::TimeDelta::FromMinutes(45)); | 66 callback.Run(result, base::TimeDelta::FromMinutes(45)); |
67 } | 67 } |
68 | 68 |
69 class FakeSafeBrowsingService : public SafeBrowsingService { | 69 class FakeSafeBrowsingService : public SafeBrowsingService { |
70 public: | 70 public: |
71 explicit FakeSafeBrowsingService(const std::string& url_prefix) | 71 explicit FakeSafeBrowsingService(const std::string& url_prefix) |
72 : url_prefix_(url_prefix) {} | 72 : url_prefix_(url_prefix) {} |
73 | 73 |
74 virtual SafeBrowsingProtocolConfig GetProtocolConfig() const OVERRIDE { | 74 virtual SafeBrowsingProtocolConfig GetProtocolConfig() const override { |
75 SafeBrowsingProtocolConfig config; | 75 SafeBrowsingProtocolConfig config; |
76 config.url_prefix = url_prefix_; | 76 config.url_prefix = url_prefix_; |
77 // Makes sure the auto update is not triggered. The tests will force the | 77 // Makes sure the auto update is not triggered. The tests will force the |
78 // update when needed. | 78 // update when needed. |
79 config.disable_auto_update = true; | 79 config.disable_auto_update = true; |
80 #if defined(OS_ANDROID) | 80 #if defined(OS_ANDROID) |
81 config.disable_connection_check = true; | 81 config.disable_connection_check = true; |
82 #endif | 82 #endif |
83 config.client_name = "browser_tests"; | 83 config.client_name = "browser_tests"; |
84 return config; | 84 return config; |
85 } | 85 } |
86 | 86 |
87 private: | 87 private: |
88 virtual ~FakeSafeBrowsingService() {} | 88 virtual ~FakeSafeBrowsingService() {} |
89 | 89 |
90 std::string url_prefix_; | 90 std::string url_prefix_; |
91 | 91 |
92 DISALLOW_COPY_AND_ASSIGN(FakeSafeBrowsingService); | 92 DISALLOW_COPY_AND_ASSIGN(FakeSafeBrowsingService); |
93 }; | 93 }; |
94 | 94 |
95 // Factory that creates FakeSafeBrowsingService instances. | 95 // Factory that creates FakeSafeBrowsingService instances. |
96 class TestSafeBrowsingServiceFactory : public SafeBrowsingServiceFactory { | 96 class TestSafeBrowsingServiceFactory : public SafeBrowsingServiceFactory { |
97 public: | 97 public: |
98 explicit TestSafeBrowsingServiceFactory(const std::string& url_prefix) | 98 explicit TestSafeBrowsingServiceFactory(const std::string& url_prefix) |
99 : url_prefix_(url_prefix) {} | 99 : url_prefix_(url_prefix) {} |
100 | 100 |
101 virtual SafeBrowsingService* CreateSafeBrowsingService() OVERRIDE { | 101 virtual SafeBrowsingService* CreateSafeBrowsingService() override { |
102 return new FakeSafeBrowsingService(url_prefix_); | 102 return new FakeSafeBrowsingService(url_prefix_); |
103 } | 103 } |
104 | 104 |
105 private: | 105 private: |
106 std::string url_prefix_; | 106 std::string url_prefix_; |
107 }; | 107 }; |
108 | 108 |
109 // A SafeBrowingDatabase class that allows us to inject the malicious URLs. | 109 // A SafeBrowingDatabase class that allows us to inject the malicious URLs. |
110 class TestSafeBrowsingDatabase : public SafeBrowsingDatabase { | 110 class TestSafeBrowsingDatabase : public SafeBrowsingDatabase { |
111 public: | 111 public: |
112 TestSafeBrowsingDatabase() {} | 112 TestSafeBrowsingDatabase() {} |
113 | 113 |
114 virtual ~TestSafeBrowsingDatabase() {} | 114 virtual ~TestSafeBrowsingDatabase() {} |
115 | 115 |
116 // Initializes the database with the given filename. | 116 // Initializes the database with the given filename. |
117 virtual void Init(const base::FilePath& filename) OVERRIDE {} | 117 virtual void Init(const base::FilePath& filename) override {} |
118 | 118 |
119 // Deletes the current database and creates a new one. | 119 // Deletes the current database and creates a new one. |
120 virtual bool ResetDatabase() OVERRIDE { | 120 virtual bool ResetDatabase() override { |
121 badurls_.clear(); | 121 badurls_.clear(); |
122 return true; | 122 return true; |
123 } | 123 } |
124 | 124 |
125 // Called on the IO thread to check if the given URL is safe or not. If we | 125 // Called on the IO thread to check if the given URL is safe or not. If we |
126 // can synchronously determine that the URL is safe, CheckUrl returns true, | 126 // can synchronously determine that the URL is safe, CheckUrl returns true, |
127 // otherwise it returns false. | 127 // otherwise it returns false. |
128 virtual bool ContainsBrowseUrl( | 128 virtual bool ContainsBrowseUrl( |
129 const GURL& url, | 129 const GURL& url, |
130 std::vector<SBPrefix>* prefix_hits, | 130 std::vector<SBPrefix>* prefix_hits, |
131 std::vector<SBFullHashResult>* cache_hits) OVERRIDE { | 131 std::vector<SBFullHashResult>* cache_hits) override { |
132 cache_hits->clear(); | 132 cache_hits->clear(); |
133 return ContainsUrl(safe_browsing_util::MALWARE, | 133 return ContainsUrl(safe_browsing_util::MALWARE, |
134 safe_browsing_util::PHISH, | 134 safe_browsing_util::PHISH, |
135 std::vector<GURL>(1, url), | 135 std::vector<GURL>(1, url), |
136 prefix_hits); | 136 prefix_hits); |
137 } | 137 } |
138 virtual bool ContainsDownloadUrl( | 138 virtual bool ContainsDownloadUrl( |
139 const std::vector<GURL>& urls, | 139 const std::vector<GURL>& urls, |
140 std::vector<SBPrefix>* prefix_hits) OVERRIDE { | 140 std::vector<SBPrefix>* prefix_hits) override { |
141 bool found = ContainsUrl(safe_browsing_util::BINURL, | 141 bool found = ContainsUrl(safe_browsing_util::BINURL, |
142 safe_browsing_util::BINURL, | 142 safe_browsing_util::BINURL, |
143 urls, | 143 urls, |
144 prefix_hits); | 144 prefix_hits); |
145 if (!found) | 145 if (!found) |
146 return false; | 146 return false; |
147 DCHECK_LE(1U, prefix_hits->size()); | 147 DCHECK_LE(1U, prefix_hits->size()); |
148 return true; | 148 return true; |
149 } | 149 } |
150 virtual bool ContainsCsdWhitelistedUrl(const GURL& url) OVERRIDE { | 150 virtual bool ContainsCsdWhitelistedUrl(const GURL& url) override { |
151 return true; | 151 return true; |
152 } | 152 } |
153 virtual bool ContainsDownloadWhitelistedString( | 153 virtual bool ContainsDownloadWhitelistedString( |
154 const std::string& str) OVERRIDE { | 154 const std::string& str) override { |
155 return true; | 155 return true; |
156 } | 156 } |
157 virtual bool ContainsDownloadWhitelistedUrl(const GURL& url) OVERRIDE { | 157 virtual bool ContainsDownloadWhitelistedUrl(const GURL& url) override { |
158 return true; | 158 return true; |
159 } | 159 } |
160 virtual bool ContainsExtensionPrefixes( | 160 virtual bool ContainsExtensionPrefixes( |
161 const std::vector<SBPrefix>& prefixes, | 161 const std::vector<SBPrefix>& prefixes, |
162 std::vector<SBPrefix>* prefix_hits) OVERRIDE { | 162 std::vector<SBPrefix>* prefix_hits) override { |
163 return true; | 163 return true; |
164 } | 164 } |
165 virtual bool ContainsSideEffectFreeWhitelistUrl(const GURL& url) OVERRIDE { | 165 virtual bool ContainsSideEffectFreeWhitelistUrl(const GURL& url) override { |
166 return true; | 166 return true; |
167 } | 167 } |
168 virtual bool ContainsMalwareIP(const std::string& ip_address) OVERRIDE { | 168 virtual bool ContainsMalwareIP(const std::string& ip_address) override { |
169 return true; | 169 return true; |
170 } | 170 } |
171 virtual bool UpdateStarted(std::vector<SBListChunkRanges>* lists) OVERRIDE { | 171 virtual bool UpdateStarted(std::vector<SBListChunkRanges>* lists) override { |
172 ADD_FAILURE() << "Not implemented."; | 172 ADD_FAILURE() << "Not implemented."; |
173 return false; | 173 return false; |
174 } | 174 } |
175 virtual void InsertChunks( | 175 virtual void InsertChunks( |
176 const std::string& list_name, | 176 const std::string& list_name, |
177 const std::vector<SBChunkData*>& chunks) OVERRIDE { | 177 const std::vector<SBChunkData*>& chunks) override { |
178 ADD_FAILURE() << "Not implemented."; | 178 ADD_FAILURE() << "Not implemented."; |
179 } | 179 } |
180 virtual void DeleteChunks( | 180 virtual void DeleteChunks( |
181 const std::vector<SBChunkDelete>& chunk_deletes) OVERRIDE { | 181 const std::vector<SBChunkDelete>& chunk_deletes) override { |
182 ADD_FAILURE() << "Not implemented."; | 182 ADD_FAILURE() << "Not implemented."; |
183 } | 183 } |
184 virtual void UpdateFinished(bool update_succeeded) OVERRIDE { | 184 virtual void UpdateFinished(bool update_succeeded) override { |
185 ADD_FAILURE() << "Not implemented."; | 185 ADD_FAILURE() << "Not implemented."; |
186 } | 186 } |
187 virtual void CacheHashResults( | 187 virtual void CacheHashResults( |
188 const std::vector<SBPrefix>& prefixes, | 188 const std::vector<SBPrefix>& prefixes, |
189 const std::vector<SBFullHashResult>& cache_hits, | 189 const std::vector<SBFullHashResult>& cache_hits, |
190 const base::TimeDelta& cache_lifetime) OVERRIDE { | 190 const base::TimeDelta& cache_lifetime) override { |
191 // Do nothing for the cache. | 191 // Do nothing for the cache. |
192 } | 192 } |
193 virtual bool IsMalwareIPMatchKillSwitchOn() OVERRIDE { | 193 virtual bool IsMalwareIPMatchKillSwitchOn() override { |
194 return false; | 194 return false; |
195 } | 195 } |
196 virtual bool IsCsdWhitelistKillSwitchOn() OVERRIDE { | 196 virtual bool IsCsdWhitelistKillSwitchOn() override { |
197 return false; | 197 return false; |
198 } | 198 } |
199 | 199 |
200 // Fill up the database with test URL. | 200 // Fill up the database with test URL. |
201 void AddUrl(const GURL& url, | 201 void AddUrl(const GURL& url, |
202 int list_id, | 202 int list_id, |
203 const std::vector<SBPrefix>& prefix_hits) { | 203 const std::vector<SBPrefix>& prefix_hits) { |
204 badurls_[url.spec()].list_id = list_id; | 204 badurls_[url.spec()].list_id = list_id; |
205 badurls_[url.spec()].prefix_hits = prefix_hits; | 205 badurls_[url.spec()].prefix_hits = prefix_hits; |
206 } | 206 } |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 public: | 249 public: |
250 TestSafeBrowsingDatabaseFactory() : db_(NULL) {} | 250 TestSafeBrowsingDatabaseFactory() : db_(NULL) {} |
251 virtual ~TestSafeBrowsingDatabaseFactory() {} | 251 virtual ~TestSafeBrowsingDatabaseFactory() {} |
252 | 252 |
253 virtual SafeBrowsingDatabase* CreateSafeBrowsingDatabase( | 253 virtual SafeBrowsingDatabase* CreateSafeBrowsingDatabase( |
254 bool enable_download_protection, | 254 bool enable_download_protection, |
255 bool enable_client_side_whitelist, | 255 bool enable_client_side_whitelist, |
256 bool enable_download_whitelist, | 256 bool enable_download_whitelist, |
257 bool enable_extension_blacklist, | 257 bool enable_extension_blacklist, |
258 bool enable_side_effect_free_whitelist, | 258 bool enable_side_effect_free_whitelist, |
259 bool enable_ip_blacklist) OVERRIDE { | 259 bool enable_ip_blacklist) override { |
260 db_ = new TestSafeBrowsingDatabase(); | 260 db_ = new TestSafeBrowsingDatabase(); |
261 return db_; | 261 return db_; |
262 } | 262 } |
263 TestSafeBrowsingDatabase* GetDb() { | 263 TestSafeBrowsingDatabase* GetDb() { |
264 return db_; | 264 return db_; |
265 } | 265 } |
266 private: | 266 private: |
267 // Owned by the SafebrowsingService. | 267 // Owned by the SafebrowsingService. |
268 TestSafeBrowsingDatabase* db_; | 268 TestSafeBrowsingDatabase* db_; |
269 }; | 269 }; |
(...skipping 14 matching lines...) Expand all Loading... |
284 } | 284 } |
285 | 285 |
286 // This function is called when there is a prefix hit in local safebrowsing | 286 // This function is called when there is a prefix hit in local safebrowsing |
287 // database and safebrowsing service issues a get hash request to backends. | 287 // database and safebrowsing service issues a get hash request to backends. |
288 // We return a result from the prefilled full_hashes_ hash_map to simulate | 288 // We return a result from the prefilled full_hashes_ hash_map to simulate |
289 // server's response. At the same time, latency is added to simulate real | 289 // server's response. At the same time, latency is added to simulate real |
290 // life network issues. | 290 // life network issues. |
291 virtual void GetFullHash( | 291 virtual void GetFullHash( |
292 const std::vector<SBPrefix>& prefixes, | 292 const std::vector<SBPrefix>& prefixes, |
293 SafeBrowsingProtocolManager::FullHashCallback callback, | 293 SafeBrowsingProtocolManager::FullHashCallback callback, |
294 bool is_download) OVERRIDE { | 294 bool is_download) override { |
295 BrowserThread::PostDelayedTask( | 295 BrowserThread::PostDelayedTask( |
296 BrowserThread::IO, FROM_HERE, | 296 BrowserThread::IO, FROM_HERE, |
297 base::Bind(InvokeFullHashCallback, callback, full_hashes_), | 297 base::Bind(InvokeFullHashCallback, callback, full_hashes_), |
298 delay_); | 298 delay_); |
299 } | 299 } |
300 | 300 |
301 // Prepare the GetFullHash results for the next request. | 301 // Prepare the GetFullHash results for the next request. |
302 void SetGetFullHashResponse(const SBFullHashResult& full_hash_result) { | 302 void SetGetFullHashResponse(const SBFullHashResult& full_hash_result) { |
303 full_hashes_.clear(); | 303 full_hashes_.clear(); |
304 full_hashes_.push_back(full_hash_result); | 304 full_hashes_.push_back(full_hash_result); |
(...skipping 25 matching lines...) Expand all Loading... |
330 | 330 |
331 // Factory that creates TestProtocolManager instances. | 331 // Factory that creates TestProtocolManager instances. |
332 class TestSBProtocolManagerFactory : public SBProtocolManagerFactory { | 332 class TestSBProtocolManagerFactory : public SBProtocolManagerFactory { |
333 public: | 333 public: |
334 TestSBProtocolManagerFactory() : pm_(NULL) {} | 334 TestSBProtocolManagerFactory() : pm_(NULL) {} |
335 virtual ~TestSBProtocolManagerFactory() {} | 335 virtual ~TestSBProtocolManagerFactory() {} |
336 | 336 |
337 virtual SafeBrowsingProtocolManager* CreateProtocolManager( | 337 virtual SafeBrowsingProtocolManager* CreateProtocolManager( |
338 SafeBrowsingProtocolManagerDelegate* delegate, | 338 SafeBrowsingProtocolManagerDelegate* delegate, |
339 net::URLRequestContextGetter* request_context_getter, | 339 net::URLRequestContextGetter* request_context_getter, |
340 const SafeBrowsingProtocolConfig& config) OVERRIDE { | 340 const SafeBrowsingProtocolConfig& config) override { |
341 pm_ = new TestProtocolManager(delegate, request_context_getter, config); | 341 pm_ = new TestProtocolManager(delegate, request_context_getter, config); |
342 return pm_; | 342 return pm_; |
343 } | 343 } |
344 | 344 |
345 TestProtocolManager* GetProtocolManager() { | 345 TestProtocolManager* GetProtocolManager() { |
346 return pm_; | 346 return pm_; |
347 } | 347 } |
348 | 348 |
349 private: | 349 private: |
350 // Owned by the SafebrowsingService. | 350 // Owned by the SafebrowsingService. |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
398 virtual void TearDown() { | 398 virtual void TearDown() { |
399 InProcessBrowserTest::TearDown(); | 399 InProcessBrowserTest::TearDown(); |
400 | 400 |
401 // Unregister test factories after InProcessBrowserTest::TearDown | 401 // Unregister test factories after InProcessBrowserTest::TearDown |
402 // (which destructs SafeBrowsingService). | 402 // (which destructs SafeBrowsingService). |
403 SafeBrowsingDatabase::RegisterFactory(NULL); | 403 SafeBrowsingDatabase::RegisterFactory(NULL); |
404 SafeBrowsingProtocolManager::RegisterFactory(NULL); | 404 SafeBrowsingProtocolManager::RegisterFactory(NULL); |
405 SafeBrowsingService::RegisterFactory(NULL); | 405 SafeBrowsingService::RegisterFactory(NULL); |
406 } | 406 } |
407 | 407 |
408 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 408 virtual void SetUpCommandLine(CommandLine* command_line) override { |
409 // Makes sure the auto update is not triggered during the test. | 409 // Makes sure the auto update is not triggered during the test. |
410 // This test will fill up the database using testing prefixes | 410 // This test will fill up the database using testing prefixes |
411 // and urls. | 411 // and urls. |
412 command_line->AppendSwitch(switches::kSbDisableAutoUpdate); | 412 command_line->AppendSwitch(switches::kSbDisableAutoUpdate); |
413 #if defined(OS_CHROMEOS) | 413 #if defined(OS_CHROMEOS) |
414 command_line->AppendSwitch( | 414 command_line->AppendSwitch( |
415 chromeos::switches::kIgnoreUserProfileMappingForTests); | 415 chromeos::switches::kIgnoreUserProfileMappingForTests); |
416 #endif | 416 #endif |
417 } | 417 } |
418 | 418 |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 METADATA_LANDING, | 507 METADATA_LANDING, |
508 METADATA_DISTRIBUTION, | 508 METADATA_DISTRIBUTION, |
509 }; | 509 }; |
510 | 510 |
511 class SafeBrowsingServiceMetadataTest | 511 class SafeBrowsingServiceMetadataTest |
512 : public SafeBrowsingServiceTest, | 512 : public SafeBrowsingServiceTest, |
513 public ::testing::WithParamInterface<MalwareMetadataTestType> { | 513 public ::testing::WithParamInterface<MalwareMetadataTestType> { |
514 public: | 514 public: |
515 SafeBrowsingServiceMetadataTest() {} | 515 SafeBrowsingServiceMetadataTest() {} |
516 | 516 |
517 virtual void SetUpOnMainThread() OVERRIDE { | 517 virtual void SetUpOnMainThread() override { |
518 SafeBrowsingServiceTest::SetUpOnMainThread(); | 518 SafeBrowsingServiceTest::SetUpOnMainThread(); |
519 g_browser_process->safe_browsing_service()->ui_manager()->AddObserver( | 519 g_browser_process->safe_browsing_service()->ui_manager()->AddObserver( |
520 &observer_); | 520 &observer_); |
521 } | 521 } |
522 | 522 |
523 virtual void TearDownOnMainThread() OVERRIDE { | 523 virtual void TearDownOnMainThread() override { |
524 g_browser_process->safe_browsing_service()->ui_manager()->RemoveObserver( | 524 g_browser_process->safe_browsing_service()->ui_manager()->RemoveObserver( |
525 &observer_); | 525 &observer_); |
526 SafeBrowsingServiceTest::TearDownOnMainThread(); | 526 SafeBrowsingServiceTest::TearDownOnMainThread(); |
527 } | 527 } |
528 | 528 |
529 void GenUrlFullhashResultWithMetadata(const GURL& url, | 529 void GenUrlFullhashResultWithMetadata(const GURL& url, |
530 SBFullHashResult* full_hash) { | 530 SBFullHashResult* full_hash) { |
531 GenUrlFullhashResult(url, safe_browsing_util::MALWARE, full_hash); | 531 GenUrlFullhashResult(url, safe_browsing_util::MALWARE, full_hash); |
532 | 532 |
533 safe_browsing::MalwarePatternType proto; | 533 safe_browsing::MalwarePatternType proto; |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
746 friend class base::RefCountedThreadSafe<TestSBClient>; | 746 friend class base::RefCountedThreadSafe<TestSBClient>; |
747 virtual ~TestSBClient() {} | 747 virtual ~TestSBClient() {} |
748 | 748 |
749 void CheckDownloadUrlOnIOThread(const std::vector<GURL>& url_chain) { | 749 void CheckDownloadUrlOnIOThread(const std::vector<GURL>& url_chain) { |
750 safe_browsing_service_->database_manager()-> | 750 safe_browsing_service_->database_manager()-> |
751 CheckDownloadUrl(url_chain, this); | 751 CheckDownloadUrl(url_chain, this); |
752 } | 752 } |
753 | 753 |
754 // Called when the result of checking a download URL is known. | 754 // Called when the result of checking a download URL is known. |
755 virtual void OnCheckDownloadUrlResult(const std::vector<GURL>& url_chain, | 755 virtual void OnCheckDownloadUrlResult(const std::vector<GURL>& url_chain, |
756 SBThreatType threat_type) OVERRIDE { | 756 SBThreatType threat_type) override { |
757 threat_type_ = threat_type; | 757 threat_type_ = threat_type; |
758 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 758 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
759 base::Bind(&TestSBClient::DownloadCheckDone, this)); | 759 base::Bind(&TestSBClient::DownloadCheckDone, this)); |
760 } | 760 } |
761 | 761 |
762 void DownloadCheckDone() { | 762 void DownloadCheckDone() { |
763 base::MessageLoopForUI::current()->Quit(); | 763 base::MessageLoopForUI::current()->Quit(); |
764 } | 764 } |
765 | 765 |
766 SBThreatType threat_type_; | 766 SBThreatType threat_type_; |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
912 profile2.reset(); | 912 profile2.reset(); |
913 WaitForIOThread(); | 913 WaitForIOThread(); |
914 EXPECT_FALSE(sb_service->enabled()); | 914 EXPECT_FALSE(sb_service->enabled()); |
915 EXPECT_FALSE(csd_service->enabled()); | 915 EXPECT_FALSE(csd_service->enabled()); |
916 } | 916 } |
917 | 917 |
918 } // namespace | 918 } // namespace |
919 | 919 |
920 class SafeBrowsingServiceShutdownTest : public SafeBrowsingServiceTest { | 920 class SafeBrowsingServiceShutdownTest : public SafeBrowsingServiceTest { |
921 public: | 921 public: |
922 virtual void TearDown() OVERRIDE { | 922 virtual void TearDown() override { |
923 // Browser should be fully torn down by now, so we can safely check these | 923 // Browser should be fully torn down by now, so we can safely check these |
924 // counters. | 924 // counters. |
925 EXPECT_EQ(1, TestProtocolManager::create_count()); | 925 EXPECT_EQ(1, TestProtocolManager::create_count()); |
926 EXPECT_EQ(1, TestProtocolManager::delete_count()); | 926 EXPECT_EQ(1, TestProtocolManager::delete_count()); |
927 | 927 |
928 SafeBrowsingServiceTest::TearDown(); | 928 SafeBrowsingServiceTest::TearDown(); |
929 } | 929 } |
930 | 930 |
931 // An observer that returns back to test code after a new profile is | 931 // An observer that returns back to test code after a new profile is |
932 // initialized. | 932 // initialized. |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
985 | 985 |
986 // End the test, shutting down the browser. | 986 // End the test, shutting down the browser. |
987 // SafeBrowsingServiceShutdownTest::TearDown will check the create_count and | 987 // SafeBrowsingServiceShutdownTest::TearDown will check the create_count and |
988 // delete_count again. | 988 // delete_count again. |
989 } | 989 } |
990 | 990 |
991 class SafeBrowsingDatabaseManagerCookieTest : public InProcessBrowserTest { | 991 class SafeBrowsingDatabaseManagerCookieTest : public InProcessBrowserTest { |
992 public: | 992 public: |
993 SafeBrowsingDatabaseManagerCookieTest() {} | 993 SafeBrowsingDatabaseManagerCookieTest() {} |
994 | 994 |
995 virtual void SetUp() OVERRIDE { | 995 virtual void SetUp() override { |
996 // We need to start the test server to get the host&port in the url. | 996 // We need to start the test server to get the host&port in the url. |
997 ASSERT_TRUE(test_server()->Start()); | 997 ASSERT_TRUE(test_server()->Start()); |
998 | 998 |
999 // Point to the testing server for all SafeBrowsing requests. | 999 // Point to the testing server for all SafeBrowsing requests. |
1000 GURL url_prefix = test_server()->GetURL( | 1000 GURL url_prefix = test_server()->GetURL( |
1001 "expect-and-set-cookie?expect=a%3db" | 1001 "expect-and-set-cookie?expect=a%3db" |
1002 "&set=c%3dd%3b%20Expires=Fri,%2001%20Jan%202038%2001:01:01%20GMT" | 1002 "&set=c%3dd%3b%20Expires=Fri,%2001%20Jan%202038%2001:01:01%20GMT" |
1003 "&data=foo#"); | 1003 "&data=foo#"); |
1004 sb_factory_.reset(new TestSafeBrowsingServiceFactory(url_prefix.spec())); | 1004 sb_factory_.reset(new TestSafeBrowsingServiceFactory(url_prefix.spec())); |
1005 SafeBrowsingService::RegisterFactory(sb_factory_.get()); | 1005 SafeBrowsingService::RegisterFactory(sb_factory_.get()); |
1006 | 1006 |
1007 InProcessBrowserTest::SetUp(); | 1007 InProcessBrowserTest::SetUp(); |
1008 } | 1008 } |
1009 | 1009 |
1010 virtual void TearDown() OVERRIDE { | 1010 virtual void TearDown() override { |
1011 InProcessBrowserTest::TearDown(); | 1011 InProcessBrowserTest::TearDown(); |
1012 | 1012 |
1013 SafeBrowsingService::RegisterFactory(NULL); | 1013 SafeBrowsingService::RegisterFactory(NULL); |
1014 } | 1014 } |
1015 | 1015 |
1016 virtual bool SetUpUserDataDirectory() OVERRIDE { | 1016 virtual bool SetUpUserDataDirectory() override { |
1017 base::FilePath cookie_path( | 1017 base::FilePath cookie_path( |
1018 SafeBrowsingService::GetCookieFilePathForTesting()); | 1018 SafeBrowsingService::GetCookieFilePathForTesting()); |
1019 EXPECT_FALSE(base::PathExists(cookie_path)); | 1019 EXPECT_FALSE(base::PathExists(cookie_path)); |
1020 | 1020 |
1021 base::FilePath test_dir; | 1021 base::FilePath test_dir; |
1022 if (!PathService::Get(chrome::DIR_TEST_DATA, &test_dir)) { | 1022 if (!PathService::Get(chrome::DIR_TEST_DATA, &test_dir)) { |
1023 EXPECT_TRUE(false); | 1023 EXPECT_TRUE(false); |
1024 return false; | 1024 return false; |
1025 } | 1025 } |
1026 | 1026 |
(...skipping 25 matching lines...) Expand all Loading... |
1052 return false; | 1052 return false; |
1053 } | 1053 } |
1054 if (!smt.Run()) { | 1054 if (!smt.Run()) { |
1055 EXPECT_TRUE(false); | 1055 EXPECT_TRUE(false); |
1056 return false; | 1056 return false; |
1057 } | 1057 } |
1058 | 1058 |
1059 return InProcessBrowserTest::SetUpUserDataDirectory(); | 1059 return InProcessBrowserTest::SetUpUserDataDirectory(); |
1060 } | 1060 } |
1061 | 1061 |
1062 virtual void TearDownInProcessBrowserTestFixture() OVERRIDE { | 1062 virtual void TearDownInProcessBrowserTestFixture() override { |
1063 InProcessBrowserTest::TearDownInProcessBrowserTestFixture(); | 1063 InProcessBrowserTest::TearDownInProcessBrowserTestFixture(); |
1064 | 1064 |
1065 sql::Connection db; | 1065 sql::Connection db; |
1066 base::FilePath cookie_path( | 1066 base::FilePath cookie_path( |
1067 SafeBrowsingService::GetCookieFilePathForTesting()); | 1067 SafeBrowsingService::GetCookieFilePathForTesting()); |
1068 ASSERT_TRUE(db.Open(cookie_path)); | 1068 ASSERT_TRUE(db.Open(cookie_path)); |
1069 | 1069 |
1070 sql::Statement smt(db.GetUniqueStatement( | 1070 sql::Statement smt(db.GetUniqueStatement( |
1071 "SELECT name, value FROM cookies ORDER BY name")); | 1071 "SELECT name, value FROM cookies ORDER BY name")); |
1072 ASSERT_TRUE(smt.is_valid()); | 1072 ASSERT_TRUE(smt.is_valid()); |
1073 | 1073 |
1074 ASSERT_TRUE(smt.Step()); | 1074 ASSERT_TRUE(smt.Step()); |
1075 ASSERT_EQ("a", smt.ColumnString(0)); | 1075 ASSERT_EQ("a", smt.ColumnString(0)); |
1076 ASSERT_EQ("b", smt.ColumnString(1)); | 1076 ASSERT_EQ("b", smt.ColumnString(1)); |
1077 ASSERT_TRUE(smt.Step()); | 1077 ASSERT_TRUE(smt.Step()); |
1078 ASSERT_EQ("c", smt.ColumnString(0)); | 1078 ASSERT_EQ("c", smt.ColumnString(0)); |
1079 ASSERT_EQ("d", smt.ColumnString(1)); | 1079 ASSERT_EQ("d", smt.ColumnString(1)); |
1080 EXPECT_FALSE(smt.Step()); | 1080 EXPECT_FALSE(smt.Step()); |
1081 } | 1081 } |
1082 | 1082 |
1083 virtual void SetUpOnMainThread() OVERRIDE { | 1083 virtual void SetUpOnMainThread() override { |
1084 sb_service_ = g_browser_process->safe_browsing_service(); | 1084 sb_service_ = g_browser_process->safe_browsing_service(); |
1085 ASSERT_TRUE(sb_service_.get() != NULL); | 1085 ASSERT_TRUE(sb_service_.get() != NULL); |
1086 } | 1086 } |
1087 | 1087 |
1088 virtual void TearDownOnMainThread() OVERRIDE { | 1088 virtual void TearDownOnMainThread() override { |
1089 sb_service_ = NULL; | 1089 sb_service_ = NULL; |
1090 } | 1090 } |
1091 | 1091 |
1092 void ForceUpdate() { | 1092 void ForceUpdate() { |
1093 sb_service_->protocol_manager()->ForceScheduleNextUpdate( | 1093 sb_service_->protocol_manager()->ForceScheduleNextUpdate( |
1094 base::TimeDelta::FromSeconds(0)); | 1094 base::TimeDelta::FromSeconds(0)); |
1095 } | 1095 } |
1096 | 1096 |
1097 scoped_refptr<SafeBrowsingService> sb_service_; | 1097 scoped_refptr<SafeBrowsingService> sb_service_; |
1098 | 1098 |
(...skipping 10 matching lines...) Expand all Loading... |
1109 content::WindowedNotificationObserver observer( | 1109 content::WindowedNotificationObserver observer( |
1110 chrome::NOTIFICATION_SAFE_BROWSING_UPDATE_COMPLETE, | 1110 chrome::NOTIFICATION_SAFE_BROWSING_UPDATE_COMPLETE, |
1111 content::Source<SafeBrowsingDatabaseManager>( | 1111 content::Source<SafeBrowsingDatabaseManager>( |
1112 sb_service_->database_manager().get())); | 1112 sb_service_->database_manager().get())); |
1113 BrowserThread::PostTask( | 1113 BrowserThread::PostTask( |
1114 BrowserThread::IO, | 1114 BrowserThread::IO, |
1115 FROM_HERE, | 1115 FROM_HERE, |
1116 base::Bind(&SafeBrowsingDatabaseManagerCookieTest::ForceUpdate, this)); | 1116 base::Bind(&SafeBrowsingDatabaseManagerCookieTest::ForceUpdate, this)); |
1117 observer.Wait(); | 1117 observer.Wait(); |
1118 } | 1118 } |
OLD | NEW |