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

Side by Side Diff: chrome/browser/engagement/site_engagement_service_unittest.cc

Issue 2749823002: Restore KeyedServiceFactory diagnostics for context use-after-destroy. (Closed)
Patch Set: Add test fixes, more service shutdown fixes. Created 3 years, 9 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/engagement/site_engagement_service.h" 5 #include "chrome/browser/engagement/site_engagement_service.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 EXPECT_DOUBLE_EQ(5.0, service->GetScore(url2)); 475 EXPECT_DOUBLE_EQ(5.0, service->GetScore(url2));
476 476
477 service->AddPoints(url1, 1.0); 477 service->AddPoints(url1, 1.0);
478 clock->SetNow(GetReferenceTime() + base::TimeDelta::FromDays(10)); 478 clock->SetNow(GetReferenceTime() + base::TimeDelta::FromDays(10));
479 EXPECT_DOUBLE_EQ(1.0, service->GetScore(url1)); 479 EXPECT_DOUBLE_EQ(1.0, service->GetScore(url1));
480 EXPECT_DOUBLE_EQ(5.0, service->GetScore(url2)); 480 EXPECT_DOUBLE_EQ(5.0, service->GetScore(url2));
481 481
482 clock->SetNow(GetReferenceTime() + base::TimeDelta::FromDays(11)); 482 clock->SetNow(GetReferenceTime() + base::TimeDelta::FromDays(11));
483 EXPECT_DOUBLE_EQ(1.0, service->GetScore(url1)); 483 EXPECT_DOUBLE_EQ(1.0, service->GetScore(url1));
484 EXPECT_DOUBLE_EQ(0.0, service->GetScore(url2)); 484 EXPECT_DOUBLE_EQ(0.0, service->GetScore(url2));
485
486 service->Shutdown();
benwells 2017/03/20 03:15:27 This is unfortunate. Why do all the tests need to
sense (YandexTeam) 2017/03/20 04:01:56 Well, because of how KeyedService works, you shoul
benwells 2017/03/20 04:14:50 OK, that makes sense. I think moving the Shutdown
485 } 487 }
486 488
487 TEST_F(SiteEngagementServiceTest, NotificationPermission) { 489 TEST_F(SiteEngagementServiceTest, NotificationPermission) {
488 base::SimpleTestClock* clock = new base::SimpleTestClock(); 490 base::SimpleTestClock* clock = new base::SimpleTestClock();
489 std::unique_ptr<SiteEngagementService> service( 491 std::unique_ptr<SiteEngagementService> service(
490 new SiteEngagementService(profile(), base::WrapUnique(clock))); 492 new SiteEngagementService(profile(), base::WrapUnique(clock)));
491 493
492 GURL url1("https://www.google.com/"); 494 GURL url1("https://www.google.com/");
493 GURL url2("http://www.google.com/"); 495 GURL url2("http://www.google.com/");
494 GURL url3("https://drive.google.com/"); 496 GURL url3("https://drive.google.com/");
(...skipping 25 matching lines...) Expand all
520 service->AddPoints(url1, 1.0); 522 service->AddPoints(url1, 1.0);
521 service->AddPoints(url2, 3.0); 523 service->AddPoints(url2, 3.0);
522 EXPECT_EQ(6, service->GetScore(url1)); 524 EXPECT_EQ(6, service->GetScore(url1));
523 EXPECT_EQ(3, service->GetScore(url2)); 525 EXPECT_EQ(3, service->GetScore(url2));
524 526
525 settings_map->SetContentSettingDefaultScope( 527 settings_map->SetContentSettingDefaultScope(
526 url1, url1, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), 528 url1, url1, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(),
527 CONTENT_SETTING_BLOCK); 529 CONTENT_SETTING_BLOCK);
528 530
529 EXPECT_EQ(1, service->GetScore(url1)); 531 EXPECT_EQ(1, service->GetScore(url1));
532
533 service->Shutdown();
530 } 534 }
531 535
532 TEST_F(SiteEngagementServiceTest, CheckHistograms) { 536 TEST_F(SiteEngagementServiceTest, CheckHistograms) {
533 base::HistogramTester histograms; 537 base::HistogramTester histograms;
534 538
535 base::SimpleTestClock* clock = new base::SimpleTestClock(); 539 base::SimpleTestClock* clock = new base::SimpleTestClock();
536 std::unique_ptr<SiteEngagementService> service( 540 std::unique_ptr<SiteEngagementService> service(
537 new SiteEngagementService(profile(), base::WrapUnique(clock))); 541 new SiteEngagementService(profile(), base::WrapUnique(clock)));
538 542
539 base::Time current_day = GetReferenceTime(); 543 base::Time current_day = GetReferenceTime();
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
809 SiteEngagementMetrics::ENGAGEMENT_FIRST_DAILY_ENGAGEMENT, 3); 813 SiteEngagementMetrics::ENGAGEMENT_FIRST_DAILY_ENGAGEMENT, 3);
810 814
811 for (const std::string& histogram_name : engagement_bucket_histogram_names) 815 for (const std::string& histogram_name : engagement_bucket_histogram_names)
812 histograms.ExpectTotalCount(histogram_name, 3); 816 histograms.ExpectTotalCount(histogram_name, 3);
813 817
814 histograms.ExpectBucketCount(engagement_bucket_histogram_names[0], 100, 1); 818 histograms.ExpectBucketCount(engagement_bucket_histogram_names[0], 100, 1);
815 histograms.ExpectBucketCount(engagement_bucket_histogram_names[0], 33, 1); 819 histograms.ExpectBucketCount(engagement_bucket_histogram_names[0], 33, 1);
816 histograms.ExpectBucketCount(engagement_bucket_histogram_names[0], 66, 1); 820 histograms.ExpectBucketCount(engagement_bucket_histogram_names[0], 66, 1);
817 histograms.ExpectBucketCount(engagement_bucket_histogram_names[1], 33, 1); 821 histograms.ExpectBucketCount(engagement_bucket_histogram_names[1], 33, 1);
818 histograms.ExpectBucketCount(engagement_bucket_histogram_names[1], 66, 1); 822 histograms.ExpectBucketCount(engagement_bucket_histogram_names[1], 66, 1);
823
824 service->Shutdown();
819 } 825 }
820 826
821 // Expect that sites that have reached zero engagement are cleaned up. Expect 827 // Expect that sites that have reached zero engagement are cleaned up. Expect
822 // engagement times to be reset if too much time has passed since the last 828 // engagement times to be reset if too much time has passed since the last
823 // engagement. 829 // engagement.
824 TEST_F(SiteEngagementServiceTest, CleanupEngagementScores) { 830 TEST_F(SiteEngagementServiceTest, CleanupEngagementScores) {
825 base::SimpleTestClock* clock = new base::SimpleTestClock(); 831 base::SimpleTestClock* clock = new base::SimpleTestClock();
826 std::unique_ptr<SiteEngagementService> service( 832 std::unique_ptr<SiteEngagementService> service(
827 new SiteEngagementService(profile(), base::WrapUnique(clock))); 833 new SiteEngagementService(profile(), base::WrapUnique(clock)));
828 834
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
1028 EXPECT_EQ(clock->Now() - decay_period, service->GetLastEngagementTime()); 1034 EXPECT_EQ(clock->Now() - decay_period, service->GetLastEngagementTime());
1029 1035
1030 service->CleanupEngagementScores(false); 1036 service->CleanupEngagementScores(false);
1031 ASSERT_FALSE(service->IsLastEngagementStale()); 1037 ASSERT_FALSE(service->IsLastEngagementStale());
1032 1038
1033 score_map = service->GetScoreMap(); 1039 score_map = service->GetScoreMap();
1034 EXPECT_EQ(0u, score_map.size()); 1040 EXPECT_EQ(0u, score_map.size());
1035 EXPECT_EQ(0, service->GetScore(url1)); 1041 EXPECT_EQ(0, service->GetScore(url1));
1036 EXPECT_EQ(clock->Now() - decay_period, service->GetLastEngagementTime()); 1042 EXPECT_EQ(clock->Now() - decay_period, service->GetLastEngagementTime());
1037 } 1043 }
1044
1045 service->Shutdown();
1038 } 1046 }
1039 1047
1040 TEST_F(SiteEngagementServiceTest, CleanupEngagementScoresProportional) { 1048 TEST_F(SiteEngagementServiceTest, CleanupEngagementScoresProportional) {
1041 SetParamValue(SiteEngagementScore::DECAY_PROPORTION, 0.5); 1049 SetParamValue(SiteEngagementScore::DECAY_PROPORTION, 0.5);
1042 SetParamValue(SiteEngagementScore::DECAY_POINTS, 0); 1050 SetParamValue(SiteEngagementScore::DECAY_POINTS, 0);
1043 SetParamValue(SiteEngagementScore::SCORE_CLEANUP_THRESHOLD, 0.5); 1051 SetParamValue(SiteEngagementScore::SCORE_CLEANUP_THRESHOLD, 0.5);
1044 1052
1045 base::SimpleTestClock* clock = new base::SimpleTestClock(); 1053 base::SimpleTestClock* clock = new base::SimpleTestClock();
1046 std::unique_ptr<SiteEngagementService> service( 1054 std::unique_ptr<SiteEngagementService> service(
1047 new SiteEngagementService(profile(), base::WrapUnique(clock))); 1055 new SiteEngagementService(profile(), base::WrapUnique(clock)));
(...skipping 12 matching lines...) Expand all
1060 std::map<GURL, double> score_map = service->GetScoreMap(); 1068 std::map<GURL, double> score_map = service->GetScoreMap();
1061 EXPECT_EQ(2u, score_map.size()); 1069 EXPECT_EQ(2u, score_map.size());
1062 AssertInRange(0.5, service->GetScore(url1)); 1070 AssertInRange(0.5, service->GetScore(url1));
1063 AssertInRange(0.6, service->GetScore(url2)); 1071 AssertInRange(0.6, service->GetScore(url2));
1064 1072
1065 service->CleanupEngagementScores(false); 1073 service->CleanupEngagementScores(false);
1066 score_map = service->GetScoreMap(); 1074 score_map = service->GetScoreMap();
1067 EXPECT_EQ(1u, score_map.size()); 1075 EXPECT_EQ(1u, score_map.size());
1068 EXPECT_EQ(0, service->GetScore(url1)); 1076 EXPECT_EQ(0, service->GetScore(url1));
1069 AssertInRange(0.6, service->GetScore(url2)); 1077 AssertInRange(0.6, service->GetScore(url2));
1078
1079 service->Shutdown();
1070 } 1080 }
1071 1081
1072 TEST_F(SiteEngagementServiceTest, NavigationAccumulation) { 1082 TEST_F(SiteEngagementServiceTest, NavigationAccumulation) {
1073 GURL url("https://www.google.com/"); 1083 GURL url("https://www.google.com/");
1074 1084
1075 SiteEngagementService* service = SiteEngagementService::Get(profile()); 1085 SiteEngagementService* service = SiteEngagementService::Get(profile());
1076 ASSERT_TRUE(service); 1086 ASSERT_TRUE(service);
1077 1087
1078 // Create the helper manually since it isn't present when a tab isn't created. 1088 // Create the helper manually since it isn't present when a tab isn't created.
1079 SiteEngagementService::Helper::CreateForWebContents(web_contents()); 1089 SiteEngagementService::Helper::CreateForWebContents(web_contents());
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1113 EXPECT_FALSE(service->IsBootstrapped()); 1123 EXPECT_FALSE(service->IsBootstrapped());
1114 1124
1115 service->AddPoints(url1, 5.0); 1125 service->AddPoints(url1, 5.0);
1116 EXPECT_FALSE(service->IsBootstrapped()); 1126 EXPECT_FALSE(service->IsBootstrapped());
1117 1127
1118 service->AddPoints(url2, 5.0); 1128 service->AddPoints(url2, 5.0);
1119 EXPECT_TRUE(service->IsBootstrapped()); 1129 EXPECT_TRUE(service->IsBootstrapped());
1120 1130
1121 clock->SetNow(current_day + base::TimeDelta::FromDays(8)); 1131 clock->SetNow(current_day + base::TimeDelta::FromDays(8));
1122 EXPECT_FALSE(service->IsBootstrapped()); 1132 EXPECT_FALSE(service->IsBootstrapped());
1133
1134 service->Shutdown();
1123 } 1135 }
1124 1136
1125 TEST_F(SiteEngagementServiceTest, CleanupOriginsOnHistoryDeletion) { 1137 TEST_F(SiteEngagementServiceTest, CleanupOriginsOnHistoryDeletion) {
1126 // Enable proportional decay to ensure that the undecay that happens to 1138 // Enable proportional decay to ensure that the undecay that happens to
1127 // balance out history deletion also accounts for the proportional decay. 1139 // balance out history deletion also accounts for the proportional decay.
1128 SetParamValue(SiteEngagementScore::DECAY_PROPORTION, 0.5); 1140 SetParamValue(SiteEngagementScore::DECAY_PROPORTION, 0.5);
1129 1141
1130 base::SimpleTestClock* clock = new base::SimpleTestClock(); 1142 base::SimpleTestClock* clock = new base::SimpleTestClock();
1131 std::unique_ptr<SiteEngagementService> engagement( 1143 std::unique_ptr<SiteEngagementService> engagement(
1132 new SiteEngagementService(profile(), base::WrapUnique(clock))); 1144 new SiteEngagementService(profile(), base::WrapUnique(clock)));
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1233 &task_tracker); 1245 &task_tracker);
1234 waiter.Wait(); 1246 waiter.Wait();
1235 1247
1236 // origin1 should be removed. origin3 and origin4 remain untouched. 1248 // origin1 should be removed. origin3 and origin4 remain untouched.
1237 EXPECT_EQ(0, engagement->GetScore(origin1)); 1249 EXPECT_EQ(0, engagement->GetScore(origin1));
1238 EXPECT_EQ(0, engagement->GetScore(origin2)); 1250 EXPECT_EQ(0, engagement->GetScore(origin2));
1239 AssertInRange(5.0, engagement->GetScore(origin3)); 1251 AssertInRange(5.0, engagement->GetScore(origin3));
1240 AssertInRange(2.5, engagement->GetScore(origin4)); 1252 AssertInRange(2.5, engagement->GetScore(origin4));
1241 AssertInRange(7.5, engagement->GetTotalEngagementPoints()); 1253 AssertInRange(7.5, engagement->GetTotalEngagementPoints());
1242 } 1254 }
1255
1256 engagement->Shutdown();
1243 } 1257 }
1244 1258
1245 TEST_F(SiteEngagementServiceTest, EngagementLevel) { 1259 TEST_F(SiteEngagementServiceTest, EngagementLevel) {
1246 static_assert(blink::mojom::EngagementLevel::NONE != 1260 static_assert(blink::mojom::EngagementLevel::NONE !=
1247 blink::mojom::EngagementLevel::LOW, 1261 blink::mojom::EngagementLevel::LOW,
1248 "enum values should not be equal"); 1262 "enum values should not be equal");
1249 static_assert(blink::mojom::EngagementLevel::LOW != 1263 static_assert(blink::mojom::EngagementLevel::LOW !=
1250 blink::mojom::EngagementLevel::MEDIUM, 1264 blink::mojom::EngagementLevel::MEDIUM,
1251 "enum values should not be equal"); 1265 "enum values should not be equal");
1252 static_assert(blink::mojom::EngagementLevel::MEDIUM != 1266 static_assert(blink::mojom::EngagementLevel::MEDIUM !=
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
1375 EXPECT_TRUE(service->IsEngagementAtLeast( 1389 EXPECT_TRUE(service->IsEngagementAtLeast(
1376 url2, blink::mojom::EngagementLevel::MINIMAL)); 1390 url2, blink::mojom::EngagementLevel::MINIMAL));
1377 EXPECT_TRUE( 1391 EXPECT_TRUE(
1378 service->IsEngagementAtLeast(url2, blink::mojom::EngagementLevel::LOW)); 1392 service->IsEngagementAtLeast(url2, blink::mojom::EngagementLevel::LOW));
1379 EXPECT_TRUE(service->IsEngagementAtLeast( 1393 EXPECT_TRUE(service->IsEngagementAtLeast(
1380 url2, blink::mojom::EngagementLevel::MEDIUM)); 1394 url2, blink::mojom::EngagementLevel::MEDIUM));
1381 EXPECT_TRUE( 1395 EXPECT_TRUE(
1382 service->IsEngagementAtLeast(url2, blink::mojom::EngagementLevel::HIGH)); 1396 service->IsEngagementAtLeast(url2, blink::mojom::EngagementLevel::HIGH));
1383 EXPECT_TRUE( 1397 EXPECT_TRUE(
1384 service->IsEngagementAtLeast(url2, blink::mojom::EngagementLevel::MAX)); 1398 service->IsEngagementAtLeast(url2, blink::mojom::EngagementLevel::MAX));
1399
1400 service->Shutdown();
1385 } 1401 }
1386 1402
1387 TEST_F(SiteEngagementServiceTest, Observers) { 1403 TEST_F(SiteEngagementServiceTest, Observers) {
1388 SiteEngagementService* service = SiteEngagementService::Get(profile()); 1404 SiteEngagementService* service = SiteEngagementService::Get(profile());
1389 1405
1390 GURL url_score_1("http://www.google.com/maps"); 1406 GURL url_score_1("http://www.google.com/maps");
1391 GURL url_score_2("http://www.google.com/drive"); 1407 GURL url_score_2("http://www.google.com/drive");
1392 GURL url_score_3("http://www.google.com/"); 1408 GURL url_score_3("http://www.google.com/");
1393 GURL url_not_called("https://www.google.com/"); 1409 GURL url_not_called("https://www.google.com/");
1394 1410
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
1537 histograms.ExpectBucketCount(SiteEngagementMetrics::kScoreDecayedToHistogram, 1553 histograms.ExpectBucketCount(SiteEngagementMetrics::kScoreDecayedToHistogram,
1538 0, 22); 1554 0, 22);
1539 1555
1540 // Add more points and ensure no more samples are present. 1556 // Add more points and ensure no more samples are present.
1541 service->AddPoints(origin1, 0.01); 1557 service->AddPoints(origin1, 0.01);
1542 service->AddPoints(origin2, 0.01); 1558 service->AddPoints(origin2, 0.01);
1543 histograms.ExpectTotalCount(SiteEngagementMetrics::kScoreDecayedFromHistogram, 1559 histograms.ExpectTotalCount(SiteEngagementMetrics::kScoreDecayedFromHistogram,
1544 kMorePeriodsThanNeededToDecayMaxScore + 1); 1560 kMorePeriodsThanNeededToDecayMaxScore + 1);
1545 histograms.ExpectTotalCount(SiteEngagementMetrics::kScoreDecayedToHistogram, 1561 histograms.ExpectTotalCount(SiteEngagementMetrics::kScoreDecayedToHistogram,
1546 kMorePeriodsThanNeededToDecayMaxScore + 1); 1562 kMorePeriodsThanNeededToDecayMaxScore + 1);
1563
1564 service->Shutdown();
1547 } 1565 }
1548 1566
1549 TEST_F(SiteEngagementServiceTest, LastEngagementTime) { 1567 TEST_F(SiteEngagementServiceTest, LastEngagementTime) {
1550 // The last engagement time should start off null in prefs and in the service. 1568 // The last engagement time should start off null in prefs and in the service.
1551 base::Time last_engagement_time = base::Time::FromInternalValue( 1569 base::Time last_engagement_time = base::Time::FromInternalValue(
1552 profile()->GetPrefs()->GetInt64(prefs::kSiteEngagementLastUpdateTime)); 1570 profile()->GetPrefs()->GetInt64(prefs::kSiteEngagementLastUpdateTime));
1553 1571
1554 ASSERT_TRUE(last_engagement_time.is_null()); 1572 ASSERT_TRUE(last_engagement_time.is_null());
1555 1573
1556 base::SimpleTestClock* clock = new base::SimpleTestClock(); 1574 base::SimpleTestClock* clock = new base::SimpleTestClock();
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1597 EXPECT_EQ(rebased_time, service->GetLastEngagementTime()); 1615 EXPECT_EQ(rebased_time, service->GetLastEngagementTime());
1598 1616
1599 // Add some more points and ensure the value is persisted. 1617 // Add some more points and ensure the value is persisted.
1600 service->AddPoints(origin, 3); 1618 service->AddPoints(origin, 3);
1601 1619
1602 last_engagement_time = base::Time::FromInternalValue( 1620 last_engagement_time = base::Time::FromInternalValue(
1603 profile()->GetPrefs()->GetInt64(prefs::kSiteEngagementLastUpdateTime)); 1621 profile()->GetPrefs()->GetInt64(prefs::kSiteEngagementLastUpdateTime));
1604 1622
1605 EXPECT_EQ(later_in_day, last_engagement_time); 1623 EXPECT_EQ(later_in_day, last_engagement_time);
1606 EXPECT_EQ(later_in_day, service->GetLastEngagementTime()); 1624 EXPECT_EQ(later_in_day, service->GetLastEngagementTime());
1625
1626 service->Shutdown();
1607 } 1627 }
1608 1628
1609 TEST_F(SiteEngagementServiceTest, CleanupMovesScoreBackToNow) { 1629 TEST_F(SiteEngagementServiceTest, CleanupMovesScoreBackToNow) {
1610 base::SimpleTestClock* clock = new base::SimpleTestClock(); 1630 base::SimpleTestClock* clock = new base::SimpleTestClock();
1611 std::unique_ptr<SiteEngagementService> service( 1631 std::unique_ptr<SiteEngagementService> service(
1612 new SiteEngagementService(profile(), base::WrapUnique(clock))); 1632 new SiteEngagementService(profile(), base::WrapUnique(clock)));
1613 base::Time last_engagement_time; 1633 base::Time last_engagement_time;
1614 1634
1615 base::Time current_day = GetReferenceTime(); 1635 base::Time current_day = GetReferenceTime();
1616 clock->SetNow(current_day); 1636 clock->SetNow(current_day);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1667 // appropriately, while origin1 is decayed correctly (once). 1687 // appropriately, while origin1 is decayed correctly (once).
1668 clock->SetNow(origin1_last_updated + less_than_decay_period + 1688 clock->SetNow(origin1_last_updated + less_than_decay_period +
1669 base::TimeDelta::FromSeconds(30)); 1689 base::TimeDelta::FromSeconds(30));
1670 service->AddPoints(origin1, 1); 1690 service->AddPoints(origin1, 1);
1671 1691
1672 EXPECT_EQ(clock->Now(), 1692 EXPECT_EQ(clock->Now(),
1673 service->CreateEngagementScore(origin).last_engagement_time()); 1693 service->CreateEngagementScore(origin).last_engagement_time());
1674 EXPECT_EQ(clock->Now(), service->GetLastEngagementTime()); 1694 EXPECT_EQ(clock->Now(), service->GetLastEngagementTime());
1675 EXPECT_EQ(12, service->GetScore(origin)); 1695 EXPECT_EQ(12, service->GetScore(origin));
1676 EXPECT_EQ(1, service->GetScore(origin1)); 1696 EXPECT_EQ(1, service->GetScore(origin1));
1697
1698 service->Shutdown();
1677 } 1699 }
1678 1700
1679 TEST_F(SiteEngagementServiceTest, CleanupMovesScoreBackToRebase) { 1701 TEST_F(SiteEngagementServiceTest, CleanupMovesScoreBackToRebase) {
1680 base::SimpleTestClock* clock = new base::SimpleTestClock(); 1702 base::SimpleTestClock* clock = new base::SimpleTestClock();
1681 std::unique_ptr<SiteEngagementService> service( 1703 std::unique_ptr<SiteEngagementService> service(
1682 new SiteEngagementService(profile(), base::WrapUnique(clock))); 1704 new SiteEngagementService(profile(), base::WrapUnique(clock)));
1683 base::Time last_engagement_time; 1705 base::Time last_engagement_time;
1684 1706
1685 base::Time current_day = GetReferenceTime(); 1707 base::Time current_day = GetReferenceTime();
1686 clock->SetNow(current_day); 1708 clock->SetNow(current_day);
(...skipping 23 matching lines...) Expand all
1710 base::Time rebased_time = clock->Now() - service->GetMaxDecayPeriod(); 1732 base::Time rebased_time = clock->Now() - service->GetMaxDecayPeriod();
1711 service->CleanupEngagementScores(true); 1733 service->CleanupEngagementScores(true);
1712 1734
1713 // Ensure that the original origin has its last engagement time updated to 1735 // Ensure that the original origin has its last engagement time updated to
1714 // rebase_time, and it has decayed when we access the score. 1736 // rebase_time, and it has decayed when we access the score.
1715 EXPECT_EQ(rebased_time, 1737 EXPECT_EQ(rebased_time,
1716 service->CreateEngagementScore(origin).last_engagement_time()); 1738 service->CreateEngagementScore(origin).last_engagement_time());
1717 EXPECT_EQ(rebased_time, service->GetLastEngagementTime()); 1739 EXPECT_EQ(rebased_time, service->GetLastEngagementTime());
1718 EXPECT_EQ(5, service->GetScore(origin)); 1740 EXPECT_EQ(5, service->GetScore(origin));
1719 EXPECT_EQ(0, service->GetScore(origin1)); 1741 EXPECT_EQ(0, service->GetScore(origin1));
1742
1743 service->Shutdown();
1720 } 1744 }
1721 1745
1722 TEST_F(SiteEngagementServiceTest, IncognitoEngagementService) { 1746 TEST_F(SiteEngagementServiceTest, IncognitoEngagementService) {
1723 SiteEngagementService* service = SiteEngagementService::Get(profile()); 1747 SiteEngagementService* service = SiteEngagementService::Get(profile());
1724 ASSERT_TRUE(service); 1748 ASSERT_TRUE(service);
1725 1749
1726 GURL url1("http://www.google.com/"); 1750 GURL url1("http://www.google.com/");
1727 GURL url2("https://www.google.com/"); 1751 GURL url2("https://www.google.com/");
1728 GURL url3("https://drive.google.com/"); 1752 GURL url3("https://drive.google.com/");
1729 GURL url4("https://maps.google.com/"); 1753 GURL url4("https://maps.google.com/");
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1809 1833
1810 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO, 1834 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO,
1811 settings_map, url1)); 1835 settings_map, url1));
1812 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE, 1836 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE,
1813 settings_map, url2)); 1837 settings_map, url2));
1814 EXPECT_EQ(4, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE, 1838 EXPECT_EQ(4, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE,
1815 incognito_settings_map, url1)); 1839 incognito_settings_map, url1));
1816 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO, 1840 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO,
1817 incognito_settings_map, url2)); 1841 incognito_settings_map, url2));
1818 } 1842 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698