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_coordinator.h" | 5 #include "components/offline_pages/background/request_coordinator.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 } | 207 } |
208 | 208 |
209 // Callback for Add requests. | 209 // Callback for Add requests. |
210 void AddRequestDone(RequestQueue::AddRequestResult result, | 210 void AddRequestDone(RequestQueue::AddRequestResult result, |
211 const SavePageRequest& request); | 211 const SavePageRequest& request); |
212 | 212 |
213 // Callback for getting requests. | 213 // Callback for getting requests. |
214 void GetRequestsDone(RequestQueue::GetRequestsResult result, | 214 void GetRequestsDone(RequestQueue::GetRequestsResult result, |
215 const std::vector<SavePageRequest>& requests); | 215 const std::vector<SavePageRequest>& requests); |
216 | 216 |
| 217 // Callback for removing requests. |
| 218 void RemoveRequestsDone(const std::vector<SavePageRequest>& requests); |
| 219 |
217 // Callback for getting request statuses. | 220 // Callback for getting request statuses. |
218 void GetQueuedRequestsDone(const std::vector<SavePageRequest>& requests); | 221 void GetQueuedRequestsDone(const std::vector<SavePageRequest>& requests); |
219 | 222 |
220 void SendOfflinerDoneCallback(const SavePageRequest& request, | 223 void SendOfflinerDoneCallback(const SavePageRequest& request, |
221 Offliner::RequestStatus status); | 224 Offliner::RequestStatus status); |
222 | 225 |
223 RequestQueue::GetRequestsResult last_get_requests_result() const { | 226 RequestQueue::GetRequestsResult last_get_requests_result() const { |
224 return last_get_requests_result_; | 227 return last_get_requests_result_; |
225 } | 228 } |
226 | 229 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 task_runner_->RunUntilIdle(); | 300 task_runner_->RunUntilIdle(); |
298 } | 301 } |
299 | 302 |
300 void RequestCoordinatorTest::GetRequestsDone( | 303 void RequestCoordinatorTest::GetRequestsDone( |
301 RequestQueue::GetRequestsResult result, | 304 RequestQueue::GetRequestsResult result, |
302 const std::vector<SavePageRequest>& requests) { | 305 const std::vector<SavePageRequest>& requests) { |
303 last_get_requests_result_ = result; | 306 last_get_requests_result_ = result; |
304 last_requests_ = requests; | 307 last_requests_ = requests; |
305 } | 308 } |
306 | 309 |
| 310 void RequestCoordinatorTest::RemoveRequestsDone( |
| 311 const std::vector<SavePageRequest>& requests) { |
| 312 last_requests_ = requests; |
| 313 waiter_.Signal(); |
| 314 } |
| 315 |
307 void RequestCoordinatorTest::GetQueuedRequestsDone( | 316 void RequestCoordinatorTest::GetQueuedRequestsDone( |
308 const std::vector<SavePageRequest>& requests) { | 317 const std::vector<SavePageRequest>& requests) { |
309 last_requests_ = requests; | 318 last_requests_ = requests; |
310 waiter_.Signal(); | 319 waiter_.Signal(); |
311 } | 320 } |
312 | 321 |
313 void RequestCoordinatorTest::AddRequestDone( | 322 void RequestCoordinatorTest::AddRequestDone( |
314 RequestQueue::AddRequestResult result, | 323 RequestQueue::AddRequestResult result, |
315 const SavePageRequest& request) {} | 324 const SavePageRequest& request) {} |
316 | 325 |
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
748 observer().Clear(); | 757 observer().Clear(); |
749 | 758 |
750 // Resume the request. | 759 // Resume the request. |
751 coordinator()->ResumeRequests(request_ids); | 760 coordinator()->ResumeRequests(request_ids); |
752 PumpLoop(); | 761 PumpLoop(); |
753 | 762 |
754 EXPECT_TRUE(observer().changed_called()); | 763 EXPECT_TRUE(observer().changed_called()); |
755 EXPECT_EQ(SavePageRequest::RequestState::AVAILABLE, observer().state()); | 764 EXPECT_EQ(SavePageRequest::RequestState::AVAILABLE, observer().state()); |
756 } | 765 } |
757 | 766 |
758 TEST_F(RequestCoordinatorTest, ObserverdRemoveRequest) { | 767 TEST_F(RequestCoordinatorTest, RemoveRequest) { |
759 // Add a request to the queue. | 768 // Add a request to the queue. |
760 offline_pages::SavePageRequest request1(kRequestId1, kUrl1, kClientId1, | 769 offline_pages::SavePageRequest request1(kRequestId1, kUrl1, kClientId1, |
761 base::Time::Now(), kUserRequested); | 770 base::Time::Now(), kUserRequested); |
762 coordinator()->queue()->AddRequest( | 771 coordinator()->queue()->AddRequest( |
763 request1, base::Bind(&RequestCoordinatorTest::AddRequestDone, | 772 request1, base::Bind(&RequestCoordinatorTest::AddRequestDone, |
764 base::Unretained(this))); | 773 base::Unretained(this))); |
765 PumpLoop(); | 774 PumpLoop(); |
766 | 775 |
767 // Remove the request. | 776 // Remove the request. |
768 std::vector<int64_t> request_ids; | 777 std::vector<int64_t> request_ids; |
769 request_ids.push_back(kRequestId1); | 778 request_ids.push_back(kRequestId1); |
770 coordinator()->RemoveRequests(request_ids); | 779 coordinator()->RemoveRequests( |
| 780 request_ids, base::Bind(&RequestCoordinatorTest::RemoveRequestsDone, |
| 781 base::Unretained(this))); |
| 782 |
| 783 PumpLoop(); |
| 784 WaitForCallback(); |
771 PumpLoop(); | 785 PumpLoop(); |
772 | 786 |
773 EXPECT_TRUE(observer().completed_called()); | 787 EXPECT_TRUE(observer().completed_called()); |
774 EXPECT_EQ(RequestCoordinator::SavePageStatus::REMOVED, | 788 EXPECT_EQ(RequestCoordinator::SavePageStatus::REMOVED, |
775 observer().last_status()); | 789 observer().last_status()); |
| 790 EXPECT_EQ(1UL, last_requests().size()); |
| 791 EXPECT_EQ(kRequestId1, last_requests().at(0).request_id()); |
776 } | 792 } |
777 | 793 |
778 } // namespace offline_pages | 794 } // namespace offline_pages |
OLD | NEW |