Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 | 5 |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/base64.h" | 8 #include "base/base64.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 247 pm->HandleGetHashError(now); | 247 pm->HandleGetHashError(now); |
| 248 EXPECT_EQ(6U, pm->gethash_error_count_); | 248 EXPECT_EQ(6U, pm->gethash_error_count_); |
| 249 EXPECT_TRUE(pm->next_gethash_time_ == now + TimeDelta::FromMinutes(480)); | 249 EXPECT_TRUE(pm->next_gethash_time_ == now + TimeDelta::FromMinutes(480)); |
| 250 | 250 |
| 251 // 7 errors. | 251 // 7 errors. |
| 252 pm->HandleGetHashError(now); | 252 pm->HandleGetHashError(now); |
| 253 EXPECT_EQ(7U, pm->gethash_error_count_); | 253 EXPECT_EQ(7U, pm->gethash_error_count_); |
| 254 EXPECT_TRUE(pm->next_gethash_time_== now + TimeDelta::FromMinutes(480)); | 254 EXPECT_TRUE(pm->next_gethash_time_== now + TimeDelta::FromMinutes(480)); |
| 255 } | 255 } |
| 256 | 256 |
| 257 TEST_F(SafeBrowsingProtocolManagerTest, TestGetV4HashBackOffTimes) { | |
| 258 scoped_ptr<SafeBrowsingProtocolManager> pm(CreateProtocolManager(NULL)); | |
| 259 | |
| 260 // No errors or back off time yet. | |
| 261 EXPECT_EQ(0U, pm->gethash_v4_error_count_); | |
| 262 EXPECT_EQ(1U, pm->gethash_v4_back_off_mult_); | |
| 263 Time now = Time::Now(); | |
| 264 EXPECT_TRUE(pm->next_gethash_v4_time_ < now); | |
| 265 | |
| 266 // 1 error. | |
| 267 pm->HandleGetHashV4Error(now); | |
| 268 EXPECT_EQ(1U, pm->gethash_v4_error_count_); | |
| 269 EXPECT_EQ(1U, pm->gethash_v4_back_off_mult_); | |
| 270 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.
| |
| 271 pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(30)); | |
| 272 | |
| 273 // 2 errors. | |
| 274 pm->HandleGetHashV4Error(now); | |
| 275 EXPECT_EQ(2U, pm->gethash_v4_error_count_); | |
| 276 EXPECT_EQ(2U, pm->gethash_v4_back_off_mult_); | |
| 277 EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(30) && | |
| 278 pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(60)); | |
| 279 | |
| 280 // 3 errors. | |
| 281 pm->HandleGetHashV4Error(now); | |
| 282 EXPECT_EQ(3U, pm->gethash_v4_error_count_); | |
| 283 EXPECT_EQ(4U, pm->gethash_v4_back_off_mult_); | |
| 284 EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(60) && | |
| 285 pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(120)); | |
| 286 | |
| 287 // 4 errors. | |
| 288 pm->HandleGetHashV4Error(now); | |
| 289 EXPECT_EQ(4U, pm->gethash_v4_error_count_); | |
| 290 EXPECT_EQ(8U, pm->gethash_v4_back_off_mult_); | |
| 291 EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(120) && | |
| 292 pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(240)); | |
| 293 | |
| 294 // 5 errors. | |
| 295 pm->HandleGetHashV4Error(now); | |
| 296 EXPECT_EQ(5U, pm->gethash_v4_error_count_); | |
| 297 EXPECT_EQ(16U, pm->gethash_v4_back_off_mult_); | |
| 298 EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(240) && | |
| 299 pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(480)); | |
| 300 | |
| 301 // 6 errors. | |
| 302 pm->HandleGetHashV4Error(now); | |
| 303 EXPECT_EQ(6U, pm->gethash_v4_error_count_); | |
| 304 EXPECT_EQ(32U, pm->gethash_v4_back_off_mult_); | |
| 305 EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(480) && | |
| 306 pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(960)); | |
| 307 | |
| 308 // 7 errors. | |
| 309 pm->HandleGetHashV4Error(now); | |
| 310 EXPECT_EQ(7U, pm->gethash_v4_error_count_); | |
| 311 EXPECT_EQ(64U, pm->gethash_v4_back_off_mult_); | |
| 312 EXPECT_TRUE(pm->next_gethash_v4_time_ >= now + TimeDelta::FromMinutes(960) && | |
| 313 pm->next_gethash_v4_time_ <= now + TimeDelta::FromMinutes(1920)); | |
| 314 | |
| 315 // 8 errors, reached max backoff. | |
| 316 pm->HandleGetHashV4Error(now); | |
| 317 EXPECT_EQ(8U, pm->gethash_v4_error_count_); | |
| 318 EXPECT_EQ(128U, pm->gethash_v4_back_off_mult_); | |
| 319 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.
| |
| 320 } | |
| 321 | |
| 257 TEST_F(SafeBrowsingProtocolManagerTest, TestGetHashUrl) { | 322 TEST_F(SafeBrowsingProtocolManagerTest, TestGetHashUrl) { |
| 258 scoped_ptr<SafeBrowsingProtocolManager> pm(CreateProtocolManager(NULL)); | 323 scoped_ptr<SafeBrowsingProtocolManager> pm(CreateProtocolManager(NULL)); |
| 259 | 324 |
| 260 EXPECT_EQ( | 325 EXPECT_EQ( |
| 261 "https://prefix.com/foo/gethash?client=unittest&appver=1.0&" | 326 "https://prefix.com/foo/gethash?client=unittest&appver=1.0&" |
| 262 "pver=3.0" + | 327 "pver=3.0" + |
| 263 key_param_ + "&ext=0", | 328 key_param_ + "&ext=0", |
| 264 pm->GetHashUrl(false).spec()); | 329 pm->GetHashUrl(false).spec()); |
| 265 | 330 |
| 266 pm->set_additional_query(kAdditionalQuery); | 331 pm->set_additional_query(kAdditionalQuery); |
| (...skipping 1042 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1309 | 1374 |
| 1310 EXPECT_FALSE(pm->IsUpdateScheduled()); | 1375 EXPECT_FALSE(pm->IsUpdateScheduled()); |
| 1311 | 1376 |
| 1312 // Invoke the AddChunksCallback to finish the update. | 1377 // Invoke the AddChunksCallback to finish the update. |
| 1313 runner->RunPendingTasks(); | 1378 runner->RunPendingTasks(); |
| 1314 | 1379 |
| 1315 EXPECT_TRUE(pm->IsUpdateScheduled()); | 1380 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 1316 } | 1381 } |
| 1317 | 1382 |
| 1318 } // namespace safe_browsing | 1383 } // namespace safe_browsing |
| OLD | NEW |