OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/safe_browsing/local_database_manager.h" | 5 #include "chrome/browser/safe_browsing/local_database_manager.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck* check_ptr = check.get(); | 96 LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck* check_ptr = check.get(); |
97 db_manager_->checks_[check_ptr] = std::move(check); | 97 db_manager_->checks_[check_ptr] = std::move(check); |
98 | 98 |
99 bool result = db_manager_->HandleOneCheck(check_ptr, hash_results); | 99 bool result = db_manager_->HandleOneCheck(check_ptr, hash_results); |
100 db_manager_->checks_.erase(check_ptr); | 100 db_manager_->checks_.erase(check_ptr); |
101 return result; | 101 return result; |
102 } | 102 } |
103 | 103 |
104 TEST_F(LocalDatabaseManagerTest, CheckCorrespondsListTypeForHash) { | 104 TEST_F(LocalDatabaseManagerTest, CheckCorrespondsListTypeForHash) { |
105 std::vector<SBThreatType> malware_threat(1, | 105 std::vector<SBThreatType> malware_threat(1, |
106 SB_THREAT_TYPE_BINARY_MALWARE_URL); | 106 SB_THREAT_TYPE_URL_BINARY_MALWARE); |
107 EXPECT_FALSE(RunSBHashTest(BINURL, malware_threat, {kMalwareList})); | 107 EXPECT_FALSE(RunSBHashTest(BINURL, malware_threat, {kMalwareList})); |
108 EXPECT_TRUE(RunSBHashTest(BINURL, malware_threat, {kBinUrlList})); | 108 EXPECT_TRUE(RunSBHashTest(BINURL, malware_threat, {kBinUrlList})); |
109 | 109 |
110 // Check for multiple threats | 110 // Check for multiple threats |
111 std::vector<SBThreatType> multiple_threats; | 111 std::vector<SBThreatType> multiple_threats; |
112 multiple_threats.push_back(SB_THREAT_TYPE_URL_MALWARE); | 112 multiple_threats.push_back(SB_THREAT_TYPE_URL_MALWARE); |
113 multiple_threats.push_back(SB_THREAT_TYPE_URL_PHISHING); | 113 multiple_threats.push_back(SB_THREAT_TYPE_URL_PHISHING); |
114 EXPECT_FALSE(RunSBHashTest(MALWARE, multiple_threats, {kBinUrlList})); | 114 EXPECT_FALSE(RunSBHashTest(MALWARE, multiple_threats, {kBinUrlList})); |
115 EXPECT_TRUE(RunSBHashTest(MALWARE, multiple_threats, {kMalwareList})); | 115 EXPECT_TRUE(RunSBHashTest(MALWARE, multiple_threats, {kMalwareList})); |
116 | 116 |
117 // Check for multiple hash hits | 117 // Check for multiple hash hits |
118 std::vector<SBThreatType> unwanted_threat = {SB_THREAT_TYPE_URL_UNWANTED}; | 118 std::vector<SBThreatType> unwanted_threat = {SB_THREAT_TYPE_URL_UNWANTED}; |
119 std::vector<std::string> hash_hits = {kMalwareList, kUnwantedUrlList}; | 119 std::vector<std::string> hash_hits = {kMalwareList, kUnwantedUrlList}; |
120 EXPECT_TRUE(RunSBHashTest(UNWANTEDURL, unwanted_threat, hash_hits)); | 120 EXPECT_TRUE(RunSBHashTest(UNWANTEDURL, unwanted_threat, hash_hits)); |
121 } | 121 } |
122 | 122 |
123 TEST_F(LocalDatabaseManagerTest, CheckCorrespondsListTypeForUrl) { | 123 TEST_F(LocalDatabaseManagerTest, CheckCorrespondsListTypeForUrl) { |
124 const GURL url("http://www.host.com/index.html"); | 124 const GURL url("http://www.host.com/index.html"); |
125 const std::string host1 = "host.com/"; | 125 const std::string host1 = "host.com/"; |
126 const std::string host2 = "www.host.com/"; | 126 const std::string host2 = "www.host.com/"; |
127 const std::vector<HostListPair> malware_list_result = | 127 const std::vector<HostListPair> malware_list_result = |
128 {{host1, kMalwareList}}; | 128 {{host1, kMalwareList}}; |
129 const std::vector<HostListPair> binurl_list_result = | 129 const std::vector<HostListPair> binurl_list_result = |
130 {{host2, kBinUrlList}}; | 130 {{host2, kBinUrlList}}; |
131 | 131 |
132 std::vector<SBThreatType> malware_threat = | 132 std::vector<SBThreatType> malware_threat = |
133 {SB_THREAT_TYPE_BINARY_MALWARE_URL}; | 133 {SB_THREAT_TYPE_URL_BINARY_MALWARE}; |
134 EXPECT_FALSE(RunUrlTest(url, BINURL, malware_threat, malware_list_result)); | 134 EXPECT_FALSE(RunUrlTest(url, BINURL, malware_threat, malware_list_result)); |
135 EXPECT_TRUE(RunUrlTest(url, BINURL, malware_threat, binurl_list_result)); | 135 EXPECT_TRUE(RunUrlTest(url, BINURL, malware_threat, binurl_list_result)); |
136 | 136 |
137 // Check for multiple expected threats | 137 // Check for multiple expected threats |
138 std::vector<SBThreatType> multiple_threats = | 138 std::vector<SBThreatType> multiple_threats = |
139 {SB_THREAT_TYPE_URL_MALWARE, SB_THREAT_TYPE_URL_PHISHING}; | 139 {SB_THREAT_TYPE_URL_MALWARE, SB_THREAT_TYPE_URL_PHISHING}; |
140 EXPECT_FALSE(RunUrlTest(url, MALWARE, multiple_threats, binurl_list_result)); | 140 EXPECT_FALSE(RunUrlTest(url, MALWARE, multiple_threats, binurl_list_result)); |
141 EXPECT_TRUE(RunUrlTest(url, MALWARE, multiple_threats, malware_list_result)); | 141 EXPECT_TRUE(RunUrlTest(url, MALWARE, multiple_threats, malware_list_result)); |
142 | 142 |
143 // Check for multiple database hits | 143 // Check for multiple database hits |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 // Stop the service without first flushing above tasks. | 332 // Stop the service without first flushing above tasks. |
333 db_manager->StopOnIOThread(false); | 333 db_manager->StopOnIOThread(false); |
334 | 334 |
335 // Now run posted tasks, whish should include the extension check which has | 335 // Now run posted tasks, whish should include the extension check which has |
336 // been posted to the safe browsing task runner. This should not crash. | 336 // been posted to the safe browsing task runner. This should not crash. |
337 content::RunAllBlockingPoolTasksUntilIdle(); | 337 content::RunAllBlockingPoolTasksUntilIdle(); |
338 base::RunLoop().RunUntilIdle(); | 338 base::RunLoop().RunUntilIdle(); |
339 } | 339 } |
340 | 340 |
341 } // namespace safe_browsing | 341 } // namespace safe_browsing |
OLD | NEW |