| Index: components/suggestions/blacklist_store_unittest.cc
|
| diff --git a/components/suggestions/blacklist_store_unittest.cc b/components/suggestions/blacklist_store_unittest.cc
|
| index d7d1fa8e0d14768926ff791924ee4fb20ac65b0c..9b2f8be9e432c67d7056915a827d616fa5498466 100644
|
| --- a/components/suggestions/blacklist_store_unittest.cc
|
| +++ b/components/suggestions/blacklist_store_unittest.cc
|
| @@ -69,6 +69,7 @@ class BlacklistStoreTest : public testing::Test {
|
| DISALLOW_COPY_AND_ASSIGN(BlacklistStoreTest);
|
| };
|
|
|
| +// Tests adding, removing to the blacklist and filtering.
|
| TEST_F(BlacklistStoreTest, BasicInteractions) {
|
| BlacklistStore blacklist_store(pref_service());
|
|
|
| @@ -108,24 +109,65 @@ TEST_F(BlacklistStoreTest, BlacklistTwiceSuceeds) {
|
| EXPECT_TRUE(blacklist_store.BlacklistUrl(GURL(kTestUrlA)));
|
| }
|
|
|
| -TEST_F(BlacklistStoreTest, RemoveUnknownUrlSucceeds) {
|
| +TEST_F(BlacklistStoreTest, RemoveUnknownUrlFails) {
|
| BlacklistStore blacklist_store(pref_service());
|
| - EXPECT_TRUE(blacklist_store.RemoveUrl(GURL(kTestUrlA)));
|
| + EXPECT_FALSE(blacklist_store.RemoveUrl(GURL(kTestUrlA)));
|
| }
|
|
|
| -TEST_F(BlacklistStoreTest, GetFirstUrlFromBlacklist) {
|
| - BlacklistStore blacklist_store(pref_service());
|
| +TEST_F(BlacklistStoreTest, TestGetTimeUntilReadyForUpload) {
|
| + // Tests assumes completion within 1 hour.
|
| + base::TimeDelta upload_delay = base::TimeDelta::FromHours(1);
|
| + base::TimeDelta no_delay = base::TimeDelta::FromHours(0);
|
| + scoped_ptr<BlacklistStore> blacklist_store(
|
| + new BlacklistStore(pref_service(), upload_delay));
|
| + base::TimeDelta candidate_delta;
|
| +
|
| + // Blacklist is empty.
|
| + EXPECT_FALSE(blacklist_store->GetTimeUntilReadyForUpload(&candidate_delta));
|
| + EXPECT_FALSE(blacklist_store->GetTimeUntilURLReadyForUpload(
|
| + GURL(kTestUrlA), &candidate_delta));
|
| +
|
| + // Blacklist contains kTestUrlA.
|
| + EXPECT_TRUE(blacklist_store->BlacklistUrl(GURL(kTestUrlA)));
|
| + candidate_delta = upload_delay + base::TimeDelta::FromDays(1);
|
| + EXPECT_TRUE(blacklist_store->GetTimeUntilReadyForUpload(&candidate_delta));
|
| + EXPECT_LE(candidate_delta, upload_delay);
|
| + EXPECT_GE(candidate_delta, no_delay);
|
| + candidate_delta = upload_delay + base::TimeDelta::FromDays(1);
|
| + EXPECT_TRUE(blacklist_store->GetTimeUntilURLReadyForUpload(
|
| + GURL(kTestUrlA), &candidate_delta));
|
| + EXPECT_LE(candidate_delta, upload_delay);
|
| + EXPECT_GE(candidate_delta, no_delay);
|
| + EXPECT_FALSE(blacklist_store->GetTimeUntilURLReadyForUpload(
|
| + GURL(kTestUrlB), &candidate_delta));
|
| +
|
| + // There should be no candidate for upload since the upload delay is 1 day.
|
| + // Note: this is a test that relies on timing.
|
| + GURL retrieved;
|
| + EXPECT_FALSE(blacklist_store->GetCandidateForUpload(&retrieved));
|
|
|
| - // Expect GetFirstUrlFromBlacklist fails when blacklist empty.
|
| + // Same, but with an upload delay of 0.
|
| + blacklist_store.reset(new BlacklistStore(pref_service(), no_delay));
|
| + EXPECT_TRUE(blacklist_store->BlacklistUrl(GURL(kTestUrlA)));
|
| + candidate_delta = no_delay + base::TimeDelta::FromDays(1);
|
| + EXPECT_TRUE(blacklist_store->GetTimeUntilReadyForUpload(&candidate_delta));
|
| + EXPECT_EQ(candidate_delta, no_delay);
|
| + candidate_delta = no_delay + base::TimeDelta::FromDays(1);
|
| + EXPECT_TRUE(blacklist_store->GetTimeUntilURLReadyForUpload(
|
| + GURL(kTestUrlA), &candidate_delta));
|
| + EXPECT_EQ(candidate_delta, no_delay);
|
| +}
|
| +
|
| +TEST_F(BlacklistStoreTest, GetCandidateForUpload) {
|
| + BlacklistStore blacklist_store(pref_service(), base::TimeDelta::FromDays(0));
|
| + // Empty blacklist.
|
| GURL retrieved;
|
| - EXPECT_FALSE(blacklist_store.GetFirstUrlFromBlacklist(&retrieved));
|
| + EXPECT_FALSE(blacklist_store.GetCandidateForUpload(&retrieved));
|
|
|
| - // Blacklist A and B.
|
| + // Blacklist A and B. Expect to retrieve A or B.
|
| EXPECT_TRUE(blacklist_store.BlacklistUrl(GURL(kTestUrlA)));
|
| EXPECT_TRUE(blacklist_store.BlacklistUrl(GURL(kTestUrlB)));
|
| -
|
| - // Expect to retrieve A or B.
|
| - EXPECT_TRUE(blacklist_store.GetFirstUrlFromBlacklist(&retrieved));
|
| + EXPECT_TRUE(blacklist_store.GetCandidateForUpload(&retrieved));
|
| std::string retrieved_string = retrieved.spec();
|
| EXPECT_TRUE(retrieved_string == std::string(kTestUrlA) ||
|
| retrieved_string == std::string(kTestUrlB));
|
| @@ -137,7 +179,6 @@ TEST_F(BlacklistStoreTest, LogsBlacklistSize) {
|
| // Create a first store - blacklist is empty at this point.
|
| scoped_ptr<BlacklistStore> blacklist_store(
|
| new BlacklistStore(pref_service()));
|
| -
|
| histogram_tester.ExpectTotalCount("Suggestions.LocalBlacklistSize", 1);
|
| histogram_tester.ExpectUniqueSample("Suggestions.LocalBlacklistSize", 0, 1);
|
|
|
| @@ -147,7 +188,6 @@ TEST_F(BlacklistStoreTest, LogsBlacklistSize) {
|
|
|
| // Create a new BlacklistStore and verify the counts.
|
| blacklist_store.reset(new BlacklistStore(pref_service()));
|
| -
|
| histogram_tester.ExpectTotalCount("Suggestions.LocalBlacklistSize", 2);
|
| histogram_tester.ExpectBucketCount("Suggestions.LocalBlacklistSize", 0, 1);
|
| histogram_tester.ExpectBucketCount("Suggestions.LocalBlacklistSize", 2, 1);
|
|
|