Chromium Code Reviews| 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..a0403487ae401da5e8c97b3f5151e28c8ba2aa85 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()); |
| @@ -102,30 +103,69 @@ TEST_F(BlacklistStoreTest, BasicInteractions) { |
| ValidateSuggestions(original_suggestions, suggestions); |
| } |
| +TEST_F(BlacklistStoreTest, TestIsEmpty) { |
| + BlacklistStore blacklist_store(pref_service()); |
| + EXPECT_TRUE(blacklist_store.IsEmpty()); |
| + EXPECT_TRUE(blacklist_store.BlacklistUrl(GURL(kTestUrlA))); |
| + EXPECT_FALSE(blacklist_store.IsEmpty()); |
| + EXPECT_TRUE(blacklist_store.RemoveUrl(GURL(kTestUrlA))); |
| + EXPECT_TRUE(blacklist_store.IsEmpty()); |
| +} |
| + |
| TEST_F(BlacklistStoreTest, BlacklistTwiceSuceeds) { |
| BlacklistStore blacklist_store(pref_service()); |
| EXPECT_TRUE(blacklist_store.BlacklistUrl(GURL(kTestUrlA))); |
| 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 day. |
| + base::TimeDelta upload_delay = base::TimeDelta::FromDays(1); |
| + scoped_ptr<BlacklistStore> blacklist_store( |
| + new BlacklistStore(pref_service(), upload_delay)); |
| + base::TimeDelta candidate_delta; |
| + EXPECT_FALSE(blacklist_store->GetTimeUntilReadyForUpload(&candidate_delta)); |
| + EXPECT_FALSE(blacklist_store->GetTimeUntilReadyForUpload(GURL(kTestUrlA), |
| + &candidate_delta)); |
| + EXPECT_TRUE(blacklist_store->BlacklistUrl(GURL(kTestUrlA))); |
| + EXPECT_TRUE(blacklist_store->GetTimeUntilReadyForUpload(&candidate_delta)); |
| + EXPECT_TRUE(candidate_delta <= upload_delay); |
| + EXPECT_TRUE(blacklist_store->GetTimeUntilReadyForUpload(GURL(kTestUrlA), |
| + &candidate_delta)); |
| + EXPECT_TRUE(candidate_delta <= upload_delay); |
|
Mathieu
2014/12/04 18:53:32
reusing |candidate_delta| could mean that in case
manzagop (departed)
2014/12/05 15:13:22
Done. Good catch.
|
| + EXPECT_FALSE(blacklist_store->GetTimeUntilReadyForUpload(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)); |
| + |
| + // Same, but with an upload delay of 0. |
| + base::TimeDelta no_delay = base::TimeDelta::FromDays(0); |
| + blacklist_store.reset(new BlacklistStore(pref_service(), no_delay)); |
| + EXPECT_TRUE(blacklist_store->BlacklistUrl(GURL(kTestUrlA))); |
| + EXPECT_TRUE(blacklist_store->GetTimeUntilReadyForUpload(&candidate_delta)); |
| + EXPECT_LE(candidate_delta, no_delay); |
|
Mathieu
2014/12/04 18:53:32
are you not testing equal to zero here? If it's im
manzagop (departed)
2014/12/05 15:13:22
I should be. Forgot to update the test after findi
|
| + EXPECT_TRUE(blacklist_store->GetTimeUntilReadyForUpload(GURL(kTestUrlA), |
| + &candidate_delta)); |
| + EXPECT_LE(candidate_delta, no_delay); |
| +} |
| - // Expect GetFirstUrlFromBlacklist fails when blacklist empty. |
| +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 +177,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 +186,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); |