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

Side by Side Diff: components/offline_pages/core/background/pick_request_task_unittest.cc

Issue 2776203003: Revert of [Offline Pages] Add Android version check for timeout in offliner policy. (Closed)
Patch Set: Created 3 years, 8 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "components/offline_pages/core/background/pick_request_task.h" 5 #include "components/offline_pages/core/background/pick_request_task.h"
6 6
7 #include <deque> 7 #include <deque>
8 #include <memory> 8 #include <memory>
9 #include <set> 9 #include <set>
10 10
(...skipping 24 matching lines...) Expand all
35 const ClientId kClientId2("bookmark", "5678"); 35 const ClientId kClientId2("bookmark", "5678");
36 const bool kUserRequested = true; 36 const bool kUserRequested = true;
37 const int kAttemptCount = 1; 37 const int kAttemptCount = 1;
38 const int kMaxStartedTries = 5; 38 const int kMaxStartedTries = 5;
39 const int kMaxCompletedTries = 1; 39 const int kMaxCompletedTries = 1;
40 40
41 // Constants for policy values - These settings represent the default values. 41 // Constants for policy values - These settings represent the default values.
42 const bool kPreferUntried = false; 42 const bool kPreferUntried = false;
43 const bool kPreferEarlier = true; 43 const bool kPreferEarlier = true;
44 const bool kPreferRetryCount = true; 44 const bool kPreferRetryCount = true;
45 const int kBackgroundProcessingTimeBudgetSeconds = 170;
45 46
46 // Default request 47 // Default request
47 const SavePageRequest kEmptyRequest(0UL, 48 const SavePageRequest kEmptyRequest(0UL,
48 GURL(""), 49 GURL(""),
49 ClientId("", ""), 50 ClientId("", ""),
50 base::Time(), 51 base::Time(),
51 true); 52 true);
52 } // namespace 53 } // namespace
53 54
54 // Helper class needed by the PickRequestTask 55 // Helper class needed by the PickRequestTask
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 PumpLoop(); 238 PumpLoop();
238 239
239 EXPECT_TRUE(request_queue_not_picked_called_); 240 EXPECT_TRUE(request_queue_not_picked_called_);
240 EXPECT_EQ(0UL, total_request_count_); 241 EXPECT_EQ(0UL, total_request_count_);
241 EXPECT_EQ(0UL, available_request_count_); 242 EXPECT_EQ(0UL, available_request_count_);
242 EXPECT_TRUE(task_complete_called_); 243 EXPECT_TRUE(task_complete_called_);
243 } 244 }
244 245
245 TEST_F(PickRequestTaskTest, ChooseRequestWithHigherRetryCount) { 246 TEST_F(PickRequestTaskTest, ChooseRequestWithHigherRetryCount) {
246 // Set up policy to prefer higher retry count. 247 // Set up policy to prefer higher retry count.
247 policy_.reset(new OfflinerPolicy(kPreferUntried, kPreferEarlier, 248 policy_.reset(new OfflinerPolicy(
248 kPreferRetryCount, kMaxStartedTries, 249 kPreferUntried, kPreferEarlier, kPreferRetryCount, kMaxStartedTries,
249 kMaxCompletedTries + 1)); 250 kMaxCompletedTries + 1, kBackgroundProcessingTimeBudgetSeconds));
250 MakePickRequestTask(); 251 MakePickRequestTask();
251 252
252 base::Time creation_time = base::Time::Now(); 253 base::Time creation_time = base::Time::Now();
253 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, 254 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
254 kUserRequested); 255 kUserRequested);
255 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time, 256 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time,
256 kUserRequested); 257 kUserRequested);
257 request2.set_completed_attempt_count(kAttemptCount); 258 request2.set_completed_attempt_count(kAttemptCount);
258 259
259 QueueRequests(request1, request2); 260 QueueRequests(request1, request2);
(...skipping 22 matching lines...) Expand all
282 task()->Run(); 283 task()->Run();
283 PumpLoop(); 284 PumpLoop();
284 285
285 EXPECT_EQ(kRequestId1, last_picked_->request_id()); 286 EXPECT_EQ(kRequestId1, last_picked_->request_id());
286 EXPECT_FALSE(request_queue_not_picked_called_); 287 EXPECT_FALSE(request_queue_not_picked_called_);
287 EXPECT_TRUE(task_complete_called_); 288 EXPECT_TRUE(task_complete_called_);
288 } 289 }
289 290
290 TEST_F(PickRequestTaskTest, ChooseEarlierRequest) { 291 TEST_F(PickRequestTaskTest, ChooseEarlierRequest) {
291 // We need a custom policy object prefering recency to retry count. 292 // We need a custom policy object prefering recency to retry count.
292 policy_.reset(new OfflinerPolicy(kPreferUntried, kPreferEarlier, 293 policy_.reset(new OfflinerPolicy(
293 !kPreferRetryCount, kMaxStartedTries, 294 kPreferUntried, kPreferEarlier, !kPreferRetryCount, kMaxStartedTries,
294 kMaxCompletedTries)); 295 kMaxCompletedTries, kBackgroundProcessingTimeBudgetSeconds));
295 MakePickRequestTask(); 296 MakePickRequestTask();
296 297
297 base::Time creation_time1 = 298 base::Time creation_time1 =
298 base::Time::Now() - base::TimeDelta::FromSeconds(10); 299 base::Time::Now() - base::TimeDelta::FromSeconds(10);
299 base::Time creation_time2 = base::Time::Now(); 300 base::Time creation_time2 = base::Time::Now();
300 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1, 301 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1,
301 kUserRequested); 302 kUserRequested);
302 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2, 303 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2,
303 kUserRequested); 304 kUserRequested);
304 request2.set_completed_attempt_count(kAttemptCount); 305 request2.set_completed_attempt_count(kAttemptCount);
305 306
306 QueueRequests(request1, request2); 307 QueueRequests(request1, request2);
307 308
308 task()->Run(); 309 task()->Run();
309 PumpLoop(); 310 PumpLoop();
310 311
311 EXPECT_EQ(kRequestId1, last_picked_->request_id()); 312 EXPECT_EQ(kRequestId1, last_picked_->request_id());
312 EXPECT_FALSE(request_queue_not_picked_called_); 313 EXPECT_FALSE(request_queue_not_picked_called_);
313 EXPECT_TRUE(task_complete_called_); 314 EXPECT_TRUE(task_complete_called_);
314 } 315 }
315 316
316 TEST_F(PickRequestTaskTest, ChooseSameTimeRequestWithHigherRetryCount) { 317 TEST_F(PickRequestTaskTest, ChooseSameTimeRequestWithHigherRetryCount) {
317 // We need a custom policy object preferring recency to retry count. 318 // We need a custom policy object preferring recency to retry count.
318 policy_.reset(new OfflinerPolicy(kPreferUntried, kPreferEarlier, 319 policy_.reset(new OfflinerPolicy(
319 !kPreferRetryCount, kMaxStartedTries, 320 kPreferUntried, kPreferEarlier, !kPreferRetryCount, kMaxStartedTries,
320 kMaxCompletedTries + 1)); 321 kMaxCompletedTries + 1, kBackgroundProcessingTimeBudgetSeconds));
321 MakePickRequestTask(); 322 MakePickRequestTask();
322 323
323 base::Time creation_time = base::Time::Now(); 324 base::Time creation_time = base::Time::Now();
324 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, 325 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
325 kUserRequested); 326 kUserRequested);
326 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time, 327 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time,
327 kUserRequested); 328 kUserRequested);
328 request2.set_completed_attempt_count(kAttemptCount); 329 request2.set_completed_attempt_count(kAttemptCount);
329 330
330 QueueRequests(request1, request2); 331 QueueRequests(request1, request2);
331 332
332 task()->Run(); 333 task()->Run();
333 PumpLoop(); 334 PumpLoop();
334 335
335 EXPECT_EQ(kRequestId2, last_picked_->request_id()); 336 EXPECT_EQ(kRequestId2, last_picked_->request_id());
336 EXPECT_FALSE(request_queue_not_picked_called_); 337 EXPECT_FALSE(request_queue_not_picked_called_);
337 EXPECT_TRUE(task_complete_called_); 338 EXPECT_TRUE(task_complete_called_);
338 } 339 }
339 340
340 TEST_F(PickRequestTaskTest, ChooseRequestWithLowerRetryCount) { 341 TEST_F(PickRequestTaskTest, ChooseRequestWithLowerRetryCount) {
341 // We need a custom policy object preferring lower retry count. 342 // We need a custom policy object preferring lower retry count.
342 policy_.reset(new OfflinerPolicy(!kPreferUntried, kPreferEarlier, 343 policy_.reset(new OfflinerPolicy(
343 kPreferRetryCount, kMaxStartedTries, 344 !kPreferUntried, kPreferEarlier, kPreferRetryCount, kMaxStartedTries,
344 kMaxCompletedTries + 1)); 345 kMaxCompletedTries + 1, kBackgroundProcessingTimeBudgetSeconds));
345 MakePickRequestTask(); 346 MakePickRequestTask();
346 347
347 base::Time creation_time = base::Time::Now(); 348 base::Time creation_time = base::Time::Now();
348 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, 349 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
349 kUserRequested); 350 kUserRequested);
350 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time, 351 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time,
351 kUserRequested); 352 kUserRequested);
352 request2.set_completed_attempt_count(kAttemptCount); 353 request2.set_completed_attempt_count(kAttemptCount);
353 354
354 QueueRequests(request1, request2); 355 QueueRequests(request1, request2);
355 356
356 task()->Run(); 357 task()->Run();
357 PumpLoop(); 358 PumpLoop();
358 359
359 EXPECT_EQ(kRequestId1, last_picked_->request_id()); 360 EXPECT_EQ(kRequestId1, last_picked_->request_id());
360 EXPECT_FALSE(request_queue_not_picked_called_); 361 EXPECT_FALSE(request_queue_not_picked_called_);
361 EXPECT_TRUE(task_complete_called_); 362 EXPECT_TRUE(task_complete_called_);
362 } 363 }
363 364
364 TEST_F(PickRequestTaskTest, ChooseLaterRequest) { 365 TEST_F(PickRequestTaskTest, ChooseLaterRequest) {
365 // We need a custom policy preferring recency over retry, and later requests. 366 // We need a custom policy preferring recency over retry, and later requests.
366 policy_.reset(new OfflinerPolicy(kPreferUntried, !kPreferEarlier, 367 policy_.reset(new OfflinerPolicy(
367 !kPreferRetryCount, kMaxStartedTries, 368 kPreferUntried, !kPreferEarlier, !kPreferRetryCount, kMaxStartedTries,
368 kMaxCompletedTries)); 369 kMaxCompletedTries, kBackgroundProcessingTimeBudgetSeconds));
369 MakePickRequestTask(); 370 MakePickRequestTask();
370 371
371 base::Time creation_time1 = 372 base::Time creation_time1 =
372 base::Time::Now() - base::TimeDelta::FromSeconds(10); 373 base::Time::Now() - base::TimeDelta::FromSeconds(10);
373 base::Time creation_time2 = base::Time::Now(); 374 base::Time creation_time2 = base::Time::Now();
374 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1, 375 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1,
375 kUserRequested); 376 kUserRequested);
376 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2, 377 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2,
377 kUserRequested); 378 kUserRequested);
378 379
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 task()->Run(); 454 task()->Run();
454 PumpLoop(); 455 PumpLoop();
455 456
456 EXPECT_EQ(kRequestId2, last_picked_->request_id()); 457 EXPECT_EQ(kRequestId2, last_picked_->request_id());
457 EXPECT_FALSE(request_queue_not_picked_called_); 458 EXPECT_FALSE(request_queue_not_picked_called_);
458 EXPECT_TRUE(task_complete_called_); 459 EXPECT_TRUE(task_complete_called_);
459 EXPECT_TRUE(cleanup_needed_); 460 EXPECT_TRUE(cleanup_needed_);
460 } 461 }
461 462
462 TEST_F(PickRequestTaskTest, ChooseRequestThatIsNotDisabled) { 463 TEST_F(PickRequestTaskTest, ChooseRequestThatIsNotDisabled) {
463 policy_.reset(new OfflinerPolicy(kPreferUntried, kPreferEarlier, 464 policy_.reset(new OfflinerPolicy(
464 kPreferRetryCount, kMaxStartedTries, 465 kPreferUntried, kPreferEarlier, kPreferRetryCount, kMaxStartedTries,
465 kMaxCompletedTries + 1)); 466 kMaxCompletedTries + 1, kBackgroundProcessingTimeBudgetSeconds));
466 467
467 // put request 2 on disabled list, ensure request1 picked instead, 468 // put request 2 on disabled list, ensure request1 picked instead,
468 // even though policy would prefer 2. 469 // even though policy would prefer 2.
469 disabled_requests_.insert(kRequestId2); 470 disabled_requests_.insert(kRequestId2);
470 MakePickRequestTask(); 471 MakePickRequestTask();
471 472
472 base::Time creation_time = base::Time::Now(); 473 base::Time creation_time = base::Time::Now();
473 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, 474 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
474 kUserRequested); 475 kUserRequested);
475 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time, 476 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time,
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 PumpLoop(); 559 PumpLoop();
559 560
560 EXPECT_EQ(kRequestId2, last_picked_->request_id()); 561 EXPECT_EQ(kRequestId2, last_picked_->request_id());
561 EXPECT_FALSE(request_queue_not_picked_called_); 562 EXPECT_FALSE(request_queue_not_picked_called_);
562 EXPECT_EQ(2UL, total_request_count_); 563 EXPECT_EQ(2UL, total_request_count_);
563 EXPECT_EQ(2UL, available_request_count_); 564 EXPECT_EQ(2UL, available_request_count_);
564 EXPECT_TRUE(task_complete_called_); 565 EXPECT_TRUE(task_complete_called_);
565 EXPECT_EQ(2UL, prioritized_requests_.size()); 566 EXPECT_EQ(2UL, prioritized_requests_.size());
566 } 567 }
567 } // namespace offline_pages 568 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698