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

Side by Side Diff: chrome/browser/permissions/permission_decision_auto_blocker_unittest.cc

Issue 2715643002: Replace all enums with enum classes in permissions code. (Closed)
Patch Set: Rebase Created 3 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/permissions/permission_decision_auto_blocker.h" 5 #include "chrome/browser/permissions/permission_decision_auto_blocker.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 new MockSafeBrowsingDatabaseManager(true /* perform_callback */, 272 new MockSafeBrowsingDatabaseManager(true /* perform_callback */,
273 true /* enabled */); 273 true /* enabled */);
274 std::set<std::string> blacklisted_permissions{"GEOLOCATION"}; 274 std::set<std::string> blacklisted_permissions{"GEOLOCATION"};
275 db_manager->BlacklistUrlPermissions(url, blacklisted_permissions); 275 db_manager->BlacklistUrlPermissions(url, blacklisted_permissions);
276 SetSafeBrowsingDatabaseManagerAndTimeoutForTesting(db_manager, 276 SetSafeBrowsingDatabaseManagerAndTimeoutForTesting(db_manager,
277 2000 /* timeout in ms */); 277 2000 /* timeout in ms */);
278 278
279 CheckSafeBrowsingBlacklist(url, CONTENT_SETTINGS_TYPE_GEOLOCATION); 279 CheckSafeBrowsingBlacklist(url, CONTENT_SETTINGS_TYPE_GEOLOCATION);
280 EXPECT_TRUE(callback_was_run()); 280 EXPECT_TRUE(callback_was_run());
281 EXPECT_TRUE(last_embargoed_status()); 281 EXPECT_TRUE(last_embargoed_status());
282 histograms.ExpectUniqueSample("Permissions.AutoBlocker.SafeBrowsingResponse", 282 histograms.ExpectUniqueSample(
283 SafeBrowsingResponse::BLACKLISTED, 1); 283 "Permissions.AutoBlocker.SafeBrowsingResponse",
284 static_cast<int>(SafeBrowsingResponse::BLACKLISTED), 1);
284 histograms.ExpectTotalCount( 285 histograms.ExpectTotalCount(
285 "Permissions.AutoBlocker.SafeBrowsingResponseTime", 1); 286 "Permissions.AutoBlocker.SafeBrowsingResponseTime", 1);
286 } 287 }
287 288
288 // Test that an origin that is blacklisted for a permission will not be placed 289 // Test that an origin that is blacklisted for a permission will not be placed
289 // under embargoed for another. 290 // under embargoed for another.
290 TEST_F(PermissionDecisionAutoBlockerUnitTest, TestRequestNotBlacklisted) { 291 TEST_F(PermissionDecisionAutoBlockerUnitTest, TestRequestNotBlacklisted) {
291 GURL url("https://www.google.com"); 292 GURL url("https://www.google.com");
292 clock()->SetNow(base::Time::Now()); 293 clock()->SetNow(base::Time::Now());
293 base::HistogramTester histograms; 294 base::HistogramTester histograms;
294 295
295 scoped_refptr<MockSafeBrowsingDatabaseManager> db_manager = 296 scoped_refptr<MockSafeBrowsingDatabaseManager> db_manager =
296 new MockSafeBrowsingDatabaseManager(true /* perform_callback */, 297 new MockSafeBrowsingDatabaseManager(true /* perform_callback */,
297 true /* enabled */); 298 true /* enabled */);
298 std::set<std::string> blacklisted_permissions{"GEOLOCATION"}; 299 std::set<std::string> blacklisted_permissions{"GEOLOCATION"};
299 db_manager->BlacklistUrlPermissions(url, blacklisted_permissions); 300 db_manager->BlacklistUrlPermissions(url, blacklisted_permissions);
300 SetSafeBrowsingDatabaseManagerAndTimeoutForTesting(db_manager, 301 SetSafeBrowsingDatabaseManagerAndTimeoutForTesting(db_manager,
301 0 /* timeout in ms */); 302 0 /* timeout in ms */);
302 303
303 CheckSafeBrowsingBlacklist(url, CONTENT_SETTINGS_TYPE_NOTIFICATIONS); 304 CheckSafeBrowsingBlacklist(url, CONTENT_SETTINGS_TYPE_NOTIFICATIONS);
304 EXPECT_FALSE(last_embargoed_status()); 305 EXPECT_FALSE(last_embargoed_status());
305 histograms.ExpectUniqueSample("Permissions.AutoBlocker.SafeBrowsingResponse", 306 histograms.ExpectUniqueSample(
306 SafeBrowsingResponse::NOT_BLACKLISTED, 1); 307 "Permissions.AutoBlocker.SafeBrowsingResponse",
308 static_cast<int>(SafeBrowsingResponse::NOT_BLACKLISTED), 1);
307 histograms.ExpectTotalCount( 309 histograms.ExpectTotalCount(
308 "Permissions.AutoBlocker.SafeBrowsingResponseTime", 1); 310 "Permissions.AutoBlocker.SafeBrowsingResponseTime", 1);
309 } 311 }
310 312
311 // Check that GetEmbargoResult returns the correct value when the embargo is set 313 // Check that GetEmbargoResult returns the correct value when the embargo is set
312 // and expires. 314 // and expires.
313 TEST_F(PermissionDecisionAutoBlockerUnitTest, CheckEmbargoStatus) { 315 TEST_F(PermissionDecisionAutoBlockerUnitTest, CheckEmbargoStatus) {
314 GURL url("https://www.google.com"); 316 GURL url("https://www.google.com");
315 clock()->SetNow(base::Time::Now()); 317 clock()->SetNow(base::Time::Now());
316 318
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 CheckSafeBrowsingBlacklist(url, CONTENT_SETTINGS_TYPE_GEOLOCATION); 484 CheckSafeBrowsingBlacklist(url, CONTENT_SETTINGS_TYPE_GEOLOCATION);
483 EXPECT_TRUE(callback_was_run()); 485 EXPECT_TRUE(callback_was_run());
484 EXPECT_FALSE(last_embargoed_status()); 486 EXPECT_FALSE(last_embargoed_status());
485 487
486 PermissionResult result = 488 PermissionResult result =
487 autoblocker()->GetEmbargoResult(url, CONTENT_SETTINGS_TYPE_GEOLOCATION); 489 autoblocker()->GetEmbargoResult(url, CONTENT_SETTINGS_TYPE_GEOLOCATION);
488 EXPECT_EQ(CONTENT_SETTING_ASK, result.content_setting); 490 EXPECT_EQ(CONTENT_SETTING_ASK, result.content_setting);
489 EXPECT_EQ(PermissionStatusSource::UNSPECIFIED, result.source); 491 EXPECT_EQ(PermissionStatusSource::UNSPECIFIED, result.source);
490 492
491 histograms.ExpectUniqueSample("Permissions.AutoBlocker.SafeBrowsingResponse", 493 histograms.ExpectUniqueSample("Permissions.AutoBlocker.SafeBrowsingResponse",
492 SafeBrowsingResponse::TIMEOUT, 1); 494 static_cast<int>(SafeBrowsingResponse::TIMEOUT),
495 1);
493 histograms.ExpectTotalCount( 496 histograms.ExpectTotalCount(
494 "Permissions.AutoBlocker.SafeBrowsingResponseTime", 1); 497 "Permissions.AutoBlocker.SafeBrowsingResponseTime", 1);
495 db_manager->SetPerformCallback(true); 498 db_manager->SetPerformCallback(true);
496 SetSafeBrowsingDatabaseManagerAndTimeoutForTesting(db_manager, 499 SetSafeBrowsingDatabaseManagerAndTimeoutForTesting(db_manager,
497 2000 /* timeout in ms */); 500 2000 /* timeout in ms */);
498 501
499 clock()->Advance(base::TimeDelta::FromDays(1)); 502 clock()->Advance(base::TimeDelta::FromDays(1));
500 CheckSafeBrowsingBlacklist(url, CONTENT_SETTINGS_TYPE_GEOLOCATION); 503 CheckSafeBrowsingBlacklist(url, CONTENT_SETTINGS_TYPE_GEOLOCATION);
501 EXPECT_TRUE(callback_was_run()); 504 EXPECT_TRUE(callback_was_run());
502 EXPECT_TRUE(last_embargoed_status()); 505 EXPECT_TRUE(last_embargoed_status());
503 histograms.ExpectTotalCount("Permissions.AutoBlocker.SafeBrowsingResponse", 506 histograms.ExpectTotalCount("Permissions.AutoBlocker.SafeBrowsingResponse",
504 2); 507 2);
505 histograms.ExpectTotalCount( 508 histograms.ExpectTotalCount(
506 "Permissions.AutoBlocker.SafeBrowsingResponseTime", 2); 509 "Permissions.AutoBlocker.SafeBrowsingResponseTime", 2);
507 histograms.ExpectBucketCount("Permissions.AutoBlocker.SafeBrowsingResponse", 510 histograms.ExpectBucketCount(
508 SafeBrowsingResponse::BLACKLISTED, 1); 511 "Permissions.AutoBlocker.SafeBrowsingResponse",
512 static_cast<int>(SafeBrowsingResponse::BLACKLISTED), 1);
509 clock()->Advance(base::TimeDelta::FromDays(1)); 513 clock()->Advance(base::TimeDelta::FromDays(1));
510 result = 514 result =
511 autoblocker()->GetEmbargoResult(url, CONTENT_SETTINGS_TYPE_GEOLOCATION); 515 autoblocker()->GetEmbargoResult(url, CONTENT_SETTINGS_TYPE_GEOLOCATION);
512 EXPECT_EQ(CONTENT_SETTING_BLOCK, result.content_setting); 516 EXPECT_EQ(CONTENT_SETTING_BLOCK, result.content_setting);
513 EXPECT_EQ(PermissionStatusSource::SAFE_BROWSING_BLACKLIST, result.source); 517 EXPECT_EQ(PermissionStatusSource::SAFE_BROWSING_BLACKLIST, result.source);
514 } 518 }
515 519
516 // TODO(raymes): See crbug.com/681709. Remove after M60. 520 // TODO(raymes): See crbug.com/681709. Remove after M60.
517 TEST_F(PermissionDecisionAutoBlockerUnitTest, 521 TEST_F(PermissionDecisionAutoBlockerUnitTest,
518 MigrateNoDecisionCountToPermissionAutoBlockerData) { 522 MigrateNoDecisionCountToPermissionAutoBlockerData) {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 scoped_refptr<MockSafeBrowsingDatabaseManager> db_manager = 613 scoped_refptr<MockSafeBrowsingDatabaseManager> db_manager =
610 new MockSafeBrowsingDatabaseManager(true /* perform_callback */, 614 new MockSafeBrowsingDatabaseManager(true /* perform_callback */,
611 true /* enabled */); 615 true /* enabled */);
612 std::set<std::string> blacklisted_permissions{"GEOLOCATION"}; 616 std::set<std::string> blacklisted_permissions{"GEOLOCATION"};
613 db_manager->BlacklistUrlPermissions(url, blacklisted_permissions); 617 db_manager->BlacklistUrlPermissions(url, blacklisted_permissions);
614 SetSafeBrowsingDatabaseManagerAndTimeoutForTesting(db_manager, 618 SetSafeBrowsingDatabaseManagerAndTimeoutForTesting(db_manager,
615 0 /* timeout in ms */); 619 0 /* timeout in ms */);
616 620
617 CheckSafeBrowsingBlacklist(url, CONTENT_SETTINGS_TYPE_NOTIFICATIONS); 621 CheckSafeBrowsingBlacklist(url, CONTENT_SETTINGS_TYPE_NOTIFICATIONS);
618 EXPECT_FALSE(last_embargoed_status()); 622 EXPECT_FALSE(last_embargoed_status());
619 histograms.ExpectUniqueSample("Permissions.AutoBlocker.SafeBrowsingResponse", 623 histograms.ExpectUniqueSample(
620 SafeBrowsingResponse::NOT_BLACKLISTED, 1); 624 "Permissions.AutoBlocker.SafeBrowsingResponse",
625 static_cast<int>(SafeBrowsingResponse::NOT_BLACKLISTED), 1);
621 } 626 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698