Chromium Code Reviews| Index: chrome/browser/safe_browsing/protocol_manager_unittest.cc |
| diff --git a/chrome/browser/safe_browsing/protocol_manager_unittest.cc b/chrome/browser/safe_browsing/protocol_manager_unittest.cc |
| index 03368549b97398278069a09cea9ed86768a584b4..c99a9850b74420feba88dc4a3866d2f0a6e4eeb5 100644 |
| --- a/chrome/browser/safe_browsing/protocol_manager_unittest.cc |
| +++ b/chrome/browser/safe_browsing/protocol_manager_unittest.cc |
| @@ -254,6 +254,71 @@ TEST_F(SafeBrowsingProtocolManagerTest, TestGetHashBackOffTimes) { |
| EXPECT_TRUE(pm->next_gethash_time_== now + TimeDelta::FromMinutes(480)); |
| } |
| +TEST_F(SafeBrowsingProtocolManagerTest, TestGetV4HashBackOffTimes) { |
| + scoped_ptr<SafeBrowsingProtocolManager> pm(CreateProtocolManager(NULL)); |
| + |
| + // No errors or back off time yet. |
| + EXPECT_EQ(0U, pm->gethash_v4_error_count_); |
| + EXPECT_EQ(1U, pm->gethash_v4_back_off_mult_); |
| + Time now = Time::Now(); |
| + EXPECT_TRUE(pm->next_gethash_v4_time_ < now); |
| + |
| + // 1 error. |
| + pm->HandleGetHashV4Error(now); |
| + EXPECT_EQ(1U, pm->gethash_v4_error_count_); |
| + EXPECT_EQ(1U, pm->gethash_v4_back_off_mult_); |
| + EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(15) && |
|
Nathan Parker
2016/01/07 06:06:58
These should probably use EXPECT_GE and EXPECT_LE,
kcarattini
2016/01/07 06:48:53
Done.
|
| + pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(30)); |
| + |
| + // 2 errors. |
| + pm->HandleGetHashV4Error(now); |
| + EXPECT_EQ(2U, pm->gethash_v4_error_count_); |
| + EXPECT_EQ(2U, pm->gethash_v4_back_off_mult_); |
| + EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(30) && |
| + pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(60)); |
| + |
| + // 3 errors. |
| + pm->HandleGetHashV4Error(now); |
| + EXPECT_EQ(3U, pm->gethash_v4_error_count_); |
| + EXPECT_EQ(4U, pm->gethash_v4_back_off_mult_); |
| + EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(60) && |
| + pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(120)); |
| + |
| + // 4 errors. |
| + pm->HandleGetHashV4Error(now); |
| + EXPECT_EQ(4U, pm->gethash_v4_error_count_); |
| + EXPECT_EQ(8U, pm->gethash_v4_back_off_mult_); |
| + EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(120) && |
| + pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(240)); |
| + |
| + // 5 errors. |
| + pm->HandleGetHashV4Error(now); |
| + EXPECT_EQ(5U, pm->gethash_v4_error_count_); |
| + EXPECT_EQ(16U, pm->gethash_v4_back_off_mult_); |
| + EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(240) && |
| + pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(480)); |
| + |
| + // 6 errors. |
| + pm->HandleGetHashV4Error(now); |
| + EXPECT_EQ(6U, pm->gethash_v4_error_count_); |
| + EXPECT_EQ(32U, pm->gethash_v4_back_off_mult_); |
| + EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(480) && |
| + pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(960)); |
| + |
| + // 7 errors. |
| + pm->HandleGetHashV4Error(now); |
| + EXPECT_EQ(7U, pm->gethash_v4_error_count_); |
| + EXPECT_EQ(64U, pm->gethash_v4_back_off_mult_); |
| + EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(960) && |
| + pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(1920)); |
| + |
| + // 8 errors, reached max backoff. |
| + pm->HandleGetHashV4Error(now); |
| + EXPECT_EQ(8U, pm->gethash_v4_error_count_); |
| + EXPECT_EQ(128U, pm->gethash_v4_back_off_mult_); |
| + EXPECT_TRUE(pm->next_gethash_v4_time_ == now + TimeDelta::FromHours(24)); |
|
Nathan Parker
2016/01/07 06:06:58
EXPECT_EQ
kcarattini
2016/01/07 06:48:53
Done.
|
| +} |
| + |
| TEST_F(SafeBrowsingProtocolManagerTest, TestGetHashUrl) { |
| scoped_ptr<SafeBrowsingProtocolManager> pm(CreateProtocolManager(NULL)); |