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

Side by Side Diff: chrome/browser/safe_browsing/local_database_manager_unittest.cc

Issue 1673733002: Support new Safe Browsing list "goog-badresource-shavar" in SafeBrowsingDatabase. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Post-merge test fix Created 4 years, 10 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 unified diff | Download patch
OLDNEW
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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 } 142 }
143 143
144 TEST_F(SafeBrowsingDatabaseManagerTest, GetUrlSeverestThreatType) { 144 TEST_F(SafeBrowsingDatabaseManagerTest, GetUrlSeverestThreatType) {
145 std::vector<SBFullHashResult> full_hashes; 145 std::vector<SBFullHashResult> full_hashes;
146 146
147 const GURL kMalwareUrl("http://www.malware.com/page.html"); 147 const GURL kMalwareUrl("http://www.malware.com/page.html");
148 const GURL kPhishingUrl("http://www.phishing.com/page.html"); 148 const GURL kPhishingUrl("http://www.phishing.com/page.html");
149 const GURL kUnwantedUrl("http://www.unwanted.com/page.html"); 149 const GURL kUnwantedUrl("http://www.unwanted.com/page.html");
150 const GURL kUnwantedAndMalwareUrl( 150 const GURL kUnwantedAndMalwareUrl(
151 "http://www.unwantedandmalware.com/page.html"); 151 "http://www.unwantedandmalware.com/page.html");
152 const GURL kBlacklistedResourceUrl("http://www.blacklisted.com/script.js");
153 const GURL kUnwantedResourceUrl("http://www.unwantedresource.com/script.js");
154 const GURL kMalwareResourceUrl("http://www.malwareresource.com/script.js");
152 const GURL kSafeUrl("http://www.safe.com/page.html"); 155 const GURL kSafeUrl("http://www.safe.com/page.html");
153 156
154 const SBFullHash kMalwareHostHash = SBFullHashForString("malware.com/"); 157 const SBFullHash kMalwareHostHash = SBFullHashForString("malware.com/");
155 const SBFullHash kPhishingHostHash = SBFullHashForString("phishing.com/"); 158 const SBFullHash kPhishingHostHash = SBFullHashForString("phishing.com/");
156 const SBFullHash kUnwantedHostHash = SBFullHashForString("unwanted.com/"); 159 const SBFullHash kUnwantedHostHash = SBFullHashForString("unwanted.com/");
157 const SBFullHash kUnwantedAndMalwareHostHash = 160 const SBFullHash kUnwantedAndMalwareHostHash =
158 SBFullHashForString("unwantedandmalware.com/"); 161 SBFullHashForString("unwantedandmalware.com/");
162 const SBFullHash kBlacklistedResourceHostHash =
163 SBFullHashForString("blacklisted.com/");
164 const SBFullHash kUnwantedResourceHostHash =
165 SBFullHashForString("unwantedresource.com/");
166 const SBFullHash kMalwareResourceHostHash =
167 SBFullHashForString("malwareresource.com/");
159 const SBFullHash kSafeHostHash = SBFullHashForString("www.safe.com/"); 168 const SBFullHash kSafeHostHash = SBFullHashForString("www.safe.com/");
160 169
161 { 170 {
162 SBFullHashResult full_hash; 171 SBFullHashResult full_hash;
163 full_hash.hash = kMalwareHostHash; 172 full_hash.hash = kMalwareHostHash;
164 full_hash.list_id = static_cast<int>(MALWARE); 173 full_hash.list_id = static_cast<int>(MALWARE);
165 full_hashes.push_back(full_hash); 174 full_hashes.push_back(full_hash);
166 } 175 }
167 176
168 { 177 {
169 SBFullHashResult full_hash; 178 SBFullHashResult full_hash;
170 full_hash.hash = kPhishingHostHash; 179 full_hash.hash = kPhishingHostHash;
171 full_hash.list_id = static_cast<int>(PHISH); 180 full_hash.list_id = static_cast<int>(PHISH);
172 full_hashes.push_back(full_hash); 181 full_hashes.push_back(full_hash);
173 } 182 }
174 183
175 { 184 {
176 SBFullHashResult full_hash; 185 SBFullHashResult full_hash;
177 full_hash.hash = kUnwantedHostHash; 186 full_hash.hash = kUnwantedHostHash;
178 full_hash.list_id = static_cast<int>(UNWANTEDURL); 187 full_hash.list_id = static_cast<int>(UNWANTEDURL);
179 full_hashes.push_back(full_hash); 188 full_hashes.push_back(full_hash);
180 } 189 }
181 190
182 { 191 {
192 SBFullHashResult full_hash;
193 full_hash.hash = kBlacklistedResourceHostHash;
194 full_hash.list_id = static_cast<int>(RESOURCEBLACKLIST);
195 full_hashes.push_back(full_hash);
196 }
197
198 {
183 // Add both MALWARE and UNWANTEDURL list IDs for 199 // Add both MALWARE and UNWANTEDURL list IDs for
184 // kUnwantedAndMalwareHostHash. 200 // kUnwantedAndMalwareHostHash.
185 SBFullHashResult full_hash_malware; 201 SBFullHashResult full_hash_malware;
186 full_hash_malware.hash = kUnwantedAndMalwareHostHash; 202 full_hash_malware.hash = kUnwantedAndMalwareHostHash;
187 full_hash_malware.list_id = static_cast<int>(MALWARE); 203 full_hash_malware.list_id = static_cast<int>(MALWARE);
188 full_hashes.push_back(full_hash_malware); 204 full_hashes.push_back(full_hash_malware);
189 205
190 SBFullHashResult full_hash_unwanted; 206 SBFullHashResult full_hash_unwanted;
191 full_hash_unwanted.hash = kUnwantedAndMalwareHostHash; 207 full_hash_unwanted.hash = kUnwantedAndMalwareHostHash;
192 full_hash_unwanted.list_id = static_cast<int>(UNWANTEDURL); 208 full_hash_unwanted.list_id = static_cast<int>(UNWANTEDURL);
193 full_hashes.push_back(full_hash_unwanted); 209 full_hashes.push_back(full_hash_unwanted);
194 } 210 }
195 211
212 {
213 SBFullHashResult full_hash_unwanted =
214 {kUnwantedResourceHostHash, static_cast<int>(UNWANTEDURL)};
215 full_hashes.push_back(full_hash_unwanted);
216
217 SBFullHashResult full_hash_resource =
218 {kUnwantedResourceHostHash, static_cast<int>(RESOURCEBLACKLIST)};
219 full_hashes.push_back(full_hash_resource);
220 }
221
222 {
223 SBFullHashResult full_hash_malware =
224 {kMalwareResourceHostHash, static_cast<int>(MALWARE)};
225 full_hashes.push_back(full_hash_malware);
226
227 SBFullHashResult full_hash_resource =
228 {kMalwareResourceHostHash, static_cast<int>(RESOURCEBLACKLIST)};
229 full_hashes.push_back(full_hash_resource);
230 }
231
196 EXPECT_EQ(SB_THREAT_TYPE_URL_MALWARE, 232 EXPECT_EQ(SB_THREAT_TYPE_URL_MALWARE,
197 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType( 233 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType(
198 kMalwareHostHash, full_hashes)); 234 kMalwareHostHash, full_hashes));
199 235
200 EXPECT_EQ(SB_THREAT_TYPE_URL_PHISHING, 236 EXPECT_EQ(SB_THREAT_TYPE_URL_PHISHING,
201 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType( 237 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType(
202 kPhishingHostHash, full_hashes)); 238 kPhishingHostHash, full_hashes));
203 239
204 EXPECT_EQ(SB_THREAT_TYPE_URL_UNWANTED, 240 EXPECT_EQ(SB_THREAT_TYPE_URL_UNWANTED,
205 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType( 241 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType(
206 kUnwantedHostHash, full_hashes)); 242 kUnwantedHostHash, full_hashes));
207 243
208 EXPECT_EQ(SB_THREAT_TYPE_URL_MALWARE, 244 EXPECT_EQ(SB_THREAT_TYPE_URL_MALWARE,
209 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType( 245 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType(
210 kUnwantedAndMalwareHostHash, full_hashes)); 246 kUnwantedAndMalwareHostHash, full_hashes));
211 247
248 EXPECT_EQ(SB_THREAT_TYPE_BLACKLISTED_RESOURCE,
249 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType(
250 kBlacklistedResourceHostHash, full_hashes));
251
252 EXPECT_EQ(SB_THREAT_TYPE_URL_UNWANTED,
253 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType(
254 kUnwantedResourceHostHash, full_hashes));
255
256 EXPECT_EQ(SB_THREAT_TYPE_URL_MALWARE,
257 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType(
258 kMalwareResourceHostHash, full_hashes));
259
212 EXPECT_EQ(SB_THREAT_TYPE_SAFE, 260 EXPECT_EQ(SB_THREAT_TYPE_SAFE,
213 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType( 261 LocalSafeBrowsingDatabaseManager::GetHashSeverestThreatType(
214 kSafeHostHash, full_hashes)); 262 kSafeHostHash, full_hashes));
215 263
216 const size_t kArbitraryValue = 123456U; 264 const size_t kArbitraryValue = 123456U;
217 size_t index = kArbitraryValue; 265 size_t index = kArbitraryValue;
218 EXPECT_EQ(SB_THREAT_TYPE_URL_MALWARE, 266 EXPECT_EQ(SB_THREAT_TYPE_URL_MALWARE,
219 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType( 267 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType(
220 kMalwareUrl, full_hashes, &index)); 268 kMalwareUrl, full_hashes, &index));
221 EXPECT_EQ(0U, index); 269 EXPECT_EQ(0U, index);
222 270
223 EXPECT_EQ(SB_THREAT_TYPE_URL_PHISHING, 271 EXPECT_EQ(SB_THREAT_TYPE_URL_PHISHING,
224 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType( 272 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType(
225 kPhishingUrl, full_hashes, &index)); 273 kPhishingUrl, full_hashes, &index));
226 EXPECT_EQ(1U, index); 274 EXPECT_EQ(1U, index);
227 275
228 EXPECT_EQ(SB_THREAT_TYPE_URL_UNWANTED, 276 EXPECT_EQ(SB_THREAT_TYPE_URL_UNWANTED,
229 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType( 277 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType(
230 kUnwantedUrl, full_hashes, &index)); 278 kUnwantedUrl, full_hashes, &index));
231 EXPECT_EQ(2U, index); 279 EXPECT_EQ(2U, index);
232 280
281 EXPECT_EQ(SB_THREAT_TYPE_BLACKLISTED_RESOURCE,
282 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType(
283 kBlacklistedResourceUrl, full_hashes, &index));
284 EXPECT_EQ(3U, index);
285
233 EXPECT_EQ(SB_THREAT_TYPE_URL_MALWARE, 286 EXPECT_EQ(SB_THREAT_TYPE_URL_MALWARE,
234 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType( 287 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType(
235 kUnwantedAndMalwareUrl, full_hashes, &index)); 288 kUnwantedAndMalwareUrl, full_hashes, &index));
236 EXPECT_EQ(3U, index); 289 EXPECT_EQ(4U, index);
290
291 EXPECT_EQ(SB_THREAT_TYPE_URL_UNWANTED,
292 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType(
293 kUnwantedResourceUrl, full_hashes, &index));
294 EXPECT_EQ(6U, index);
295
296 EXPECT_EQ(SB_THREAT_TYPE_URL_MALWARE,
297 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType(
298 kMalwareResourceUrl, full_hashes, &index));
299 EXPECT_EQ(8U, index);
237 300
238 index = kArbitraryValue; 301 index = kArbitraryValue;
239 EXPECT_EQ(SB_THREAT_TYPE_SAFE, 302 EXPECT_EQ(SB_THREAT_TYPE_SAFE,
240 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType( 303 LocalSafeBrowsingDatabaseManager::GetUrlSeverestThreatType(
241 kSafeUrl, full_hashes, &index)); 304 kSafeUrl, full_hashes, &index));
242 EXPECT_EQ(kArbitraryValue, index); 305 EXPECT_EQ(kArbitraryValue, index);
243 } 306 }
244 307
245 TEST_F(SafeBrowsingDatabaseManagerTest, ServiceStopWithPendingChecks) { 308 TEST_F(SafeBrowsingDatabaseManagerTest, ServiceStopWithPendingChecks) {
246 scoped_refptr<SafeBrowsingService> sb_service( 309 scoped_refptr<SafeBrowsingService> sb_service(
(...skipping 16 matching lines...) Expand all
263 // Stop the service without first flushing above tasks. 326 // Stop the service without first flushing above tasks.
264 db_manager->StopOnIOThread(false); 327 db_manager->StopOnIOThread(false);
265 328
266 // Now run posted tasks, whish should include the extension check which has 329 // Now run posted tasks, whish should include the extension check which has
267 // been posted to the safe browsing task runner. This should not crash. 330 // been posted to the safe browsing task runner. This should not crash.
268 content::RunAllBlockingPoolTasksUntilIdle(); 331 content::RunAllBlockingPoolTasksUntilIdle();
269 base::RunLoop().RunUntilIdle(); 332 base::RunLoop().RunUntilIdle();
270 } 333 }
271 334
272 } // namespace safe_browsing 335 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698