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

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

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

Powered by Google App Engine
This is Rietveld 408576698