| OLD | NEW |
| 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/background/request_picker.h" | 5 #include "components/offline_pages/background/request_picker.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/test/test_simple_task_runner.h" | 8 #include "base/test/test_simple_task_runner.h" |
| 9 #include "base/threading/thread_task_runner_handle.h" | 9 #include "base/threading/thread_task_runner_handle.h" |
| 10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 | 49 |
| 50 class RequestNotifierStub : public RequestNotifier { | 50 class RequestNotifierStub : public RequestNotifier { |
| 51 public: | 51 public: |
| 52 RequestNotifierStub() | 52 RequestNotifierStub() |
| 53 : last_expired_request_(kEmptyRequest), total_expired_requests_(0) {} | 53 : last_expired_request_(kEmptyRequest), total_expired_requests_(0) {} |
| 54 | 54 |
| 55 void NotifyAdded(const SavePageRequest& request) override {} | 55 void NotifyAdded(const SavePageRequest& request) override {} |
| 56 void NotifyChanged(const SavePageRequest& request) override {} | 56 void NotifyChanged(const SavePageRequest& request) override {} |
| 57 | 57 |
| 58 void NotifyCompleted(const SavePageRequest& request, | 58 void NotifyCompleted(const SavePageRequest& request, |
| 59 SavePageStatus status) override { | 59 BackgroundSavePageResult status) override { |
| 60 last_expired_request_ = request; | 60 last_expired_request_ = request; |
| 61 last_request_expiration_status_ = status; | 61 last_request_expiration_status_ = status; |
| 62 total_expired_requests_++; | 62 total_expired_requests_++; |
| 63 } | 63 } |
| 64 | 64 |
| 65 const SavePageRequest& last_expired_request() { | 65 const SavePageRequest& last_expired_request() { |
| 66 return last_expired_request_; | 66 return last_expired_request_; |
| 67 } | 67 } |
| 68 | 68 |
| 69 RequestCoordinator::SavePageStatus last_request_expiration_status() { | 69 RequestCoordinator::BackgroundSavePageResult |
| 70 last_request_expiration_status() { |
| 70 return last_request_expiration_status_; | 71 return last_request_expiration_status_; |
| 71 } | 72 } |
| 72 | 73 |
| 73 int32_t total_expired_requests() { return total_expired_requests_; } | 74 int32_t total_expired_requests() { return total_expired_requests_; } |
| 74 | 75 |
| 75 private: | 76 private: |
| 76 SavePageStatus last_request_expiration_status_; | 77 BackgroundSavePageResult last_request_expiration_status_; |
| 77 SavePageRequest last_expired_request_; | 78 SavePageRequest last_expired_request_; |
| 78 int32_t total_expired_requests_; | 79 int32_t total_expired_requests_; |
| 79 }; | 80 }; |
| 80 | 81 |
| 81 class RequestPickerTest : public testing::Test { | 82 class RequestPickerTest : public testing::Test { |
| 82 public: | 83 public: |
| 83 RequestPickerTest(); | 84 RequestPickerTest(); |
| 84 | 85 |
| 85 ~RequestPickerTest() override; | 86 ~RequestPickerTest() override; |
| 86 | 87 |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, expired_time, | 322 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, expired_time, |
| 322 kUserRequested); | 323 kUserRequested); |
| 323 | 324 |
| 324 QueueRequestsAndChooseOne(request1, request2); | 325 QueueRequestsAndChooseOne(request1, request2); |
| 325 | 326 |
| 326 PumpLoop(); | 327 PumpLoop(); |
| 327 | 328 |
| 328 EXPECT_EQ(kRequestId1, last_picked_->request_id()); | 329 EXPECT_EQ(kRequestId1, last_picked_->request_id()); |
| 329 EXPECT_FALSE(request_queue_not_picked_called_); | 330 EXPECT_FALSE(request_queue_not_picked_called_); |
| 330 EXPECT_EQ(kRequestId2, GetNotifier()->last_expired_request().request_id()); | 331 EXPECT_EQ(kRequestId2, GetNotifier()->last_expired_request().request_id()); |
| 331 EXPECT_EQ(RequestNotifier::SavePageStatus::EXPIRED, | 332 EXPECT_EQ(RequestNotifier::BackgroundSavePageResult::EXPIRED, |
| 332 GetNotifier()->last_request_expiration_status()); | 333 GetNotifier()->last_request_expiration_status()); |
| 333 EXPECT_EQ(1, GetNotifier()->total_expired_requests()); | 334 EXPECT_EQ(1, GetNotifier()->total_expired_requests()); |
| 334 } | 335 } |
| 335 | 336 |
| 336 TEST_F(RequestPickerTest, ChooseRequestThatHasNotExceededStartLimit) { | 337 TEST_F(RequestPickerTest, ChooseRequestThatHasNotExceededStartLimit) { |
| 337 base::Time creation_time1 = | 338 base::Time creation_time1 = |
| 338 base::Time::Now() - base::TimeDelta::FromSeconds(1); | 339 base::Time::Now() - base::TimeDelta::FromSeconds(1); |
| 339 base::Time creation_time2 = base::Time::Now(); | 340 base::Time creation_time2 = base::Time::Now(); |
| 340 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1, | 341 SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1, |
| 341 kUserRequested); | 342 kUserRequested); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 364 // With default policy settings, we should choose the earlier request. | 365 // With default policy settings, we should choose the earlier request. |
| 365 // However, we will make the earlier reqeust exceed the limit. | 366 // However, we will make the earlier reqeust exceed the limit. |
| 366 request1.set_completed_attempt_count(policy_->GetMaxCompletedTries()); | 367 request1.set_completed_attempt_count(policy_->GetMaxCompletedTries()); |
| 367 | 368 |
| 368 QueueRequestsAndChooseOne(request1, request2); | 369 QueueRequestsAndChooseOne(request1, request2); |
| 369 | 370 |
| 370 EXPECT_EQ(kRequestId2, last_picked_->request_id()); | 371 EXPECT_EQ(kRequestId2, last_picked_->request_id()); |
| 371 EXPECT_FALSE(request_queue_not_picked_called_); | 372 EXPECT_FALSE(request_queue_not_picked_called_); |
| 372 } | 373 } |
| 373 } // namespace offline_pages | 374 } // namespace offline_pages |
| OLD | NEW |