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

Side by Side Diff: components/offline_pages/background/request_queue_unittest.cc

Issue 2372043002: [Offline pages] Applying TaskQueue to RequestQueue::ChangeRequestsState (Closed)
Patch Set: Addressing feedback from dougarnett Created 4 years, 2 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
« no previous file with comments | « components/offline_pages/background/request_queue_store_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/background/request_queue.h" 5 #include "components/offline_pages/background/request_queue.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/test/test_simple_task_runner.h" 10 #include "base/test/test_simple_task_runner.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 // Callback for adding requests. 46 // Callback for adding requests.
47 void AddRequestDone(AddRequestResult result, const SavePageRequest& request); 47 void AddRequestDone(AddRequestResult result, const SavePageRequest& request);
48 // Callback for getting requests. 48 // Callback for getting requests.
49 void GetRequestsDone(GetRequestsResult result, 49 void GetRequestsDone(GetRequestsResult result,
50 std::vector<std::unique_ptr<SavePageRequest>> requests); 50 std::vector<std::unique_ptr<SavePageRequest>> requests);
51 // Callback for removing request. 51 // Callback for removing request.
52 void RemoveRequestsDone( 52 void RemoveRequestsDone(
53 const RequestQueue::UpdateMultipleRequestResults& results, 53 const RequestQueue::UpdateMultipleRequestResults& results,
54 std::vector<std::unique_ptr<SavePageRequest>> requests); 54 std::vector<std::unique_ptr<SavePageRequest>> requests);
55 55
56 void UpdateMultipleRequestsDone(
57 const RequestQueue::UpdateMultipleRequestResults& results,
58 std::vector<std::unique_ptr<SavePageRequest>> requests);
59
60 void UpdateRequestDone(UpdateRequestResult result); 56 void UpdateRequestDone(UpdateRequestResult result);
57 void UpdateRequestsDone(std::unique_ptr<UpdateRequestsResult> result);
61 58
62 RequestQueue* queue() { return queue_.get(); } 59 RequestQueue* queue() { return queue_.get(); }
63 60
64 AddRequestResult last_add_result() const { return last_add_result_; } 61 AddRequestResult last_add_result() const { return last_add_result_; }
65 SavePageRequest* last_added_request() { 62 SavePageRequest* last_added_request() {
66 return last_added_request_.get(); 63 return last_added_request_.get();
67 } 64 }
68 65
69 const RequestQueue::UpdateMultipleRequestResults& last_remove_results() 66 const RequestQueue::UpdateMultipleRequestResults& last_remove_results()
70 const { 67 const {
71 return last_remove_results_; 68 return last_remove_results_;
72 } 69 }
73 70
74 const RequestQueue::UpdateMultipleRequestResults& 71 const RequestQueue::UpdateMultipleRequestResults&
75 last_multiple_update_results() const { 72 last_multiple_update_results() const {
76 return last_multiple_update_results_; 73 return last_multiple_update_results_;
77 } 74 }
78 75
79 UpdateRequestResult last_update_result() const { return last_update_result_; } 76 UpdateRequestResult last_update_result() const { return last_update_result_; }
80 77
81 GetRequestsResult last_get_requests_result() const { 78 GetRequestsResult last_get_requests_result() const {
82 return last_get_requests_result_; 79 return last_get_requests_result_;
83 } 80 }
81
84 const std::vector<std::unique_ptr<SavePageRequest>>& last_requests() const { 82 const std::vector<std::unique_ptr<SavePageRequest>>& last_requests() const {
85 return last_requests_; 83 return last_requests_;
86 } 84 }
87 85
86 UpdateRequestsResult* update_requests_result() const {
87 return update_requests_result_.get();
88 }
89
88 private: 90 private:
89 AddRequestResult last_add_result_; 91 AddRequestResult last_add_result_;
90 std::unique_ptr<SavePageRequest> last_added_request_; 92 std::unique_ptr<SavePageRequest> last_added_request_;
93 std::unique_ptr<UpdateRequestsResult> update_requests_result_;
91 RequestQueue::UpdateMultipleRequestResults last_remove_results_; 94 RequestQueue::UpdateMultipleRequestResults last_remove_results_;
92 RequestQueue::UpdateMultipleRequestResults last_multiple_update_results_; 95 RequestQueue::UpdateMultipleRequestResults last_multiple_update_results_;
93 UpdateRequestResult last_update_result_; 96 UpdateRequestResult last_update_result_;
94 97
95 GetRequestsResult last_get_requests_result_; 98 GetRequestsResult last_get_requests_result_;
96 std::vector<std::unique_ptr<SavePageRequest>> last_requests_; 99 std::vector<std::unique_ptr<SavePageRequest>> last_requests_;
97 100
98 std::unique_ptr<RequestQueue> queue_; 101 std::unique_ptr<RequestQueue> queue_;
99 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; 102 scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
100 base::ThreadTaskRunnerHandle task_runner_handle_; 103 base::ThreadTaskRunnerHandle task_runner_handle_;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 last_requests_ = std::move(requests); 135 last_requests_ = std::move(requests);
133 } 136 }
134 137
135 void RequestQueueTest::RemoveRequestsDone( 138 void RequestQueueTest::RemoveRequestsDone(
136 const RequestQueue::UpdateMultipleRequestResults& results, 139 const RequestQueue::UpdateMultipleRequestResults& results,
137 std::vector<std::unique_ptr<SavePageRequest>> requests) { 140 std::vector<std::unique_ptr<SavePageRequest>> requests) {
138 last_remove_results_ = results; 141 last_remove_results_ = results;
139 last_requests_ = std::move(requests); 142 last_requests_ = std::move(requests);
140 } 143 }
141 144
142 void RequestQueueTest::UpdateMultipleRequestsDone(
143 const RequestQueue::UpdateMultipleRequestResults& results,
144 std::vector<std::unique_ptr<SavePageRequest>> requests) {
145 last_multiple_update_results_ = results;
146 last_requests_ = std::move(requests);
147 }
148
149 void RequestQueueTest::UpdateRequestDone(UpdateRequestResult result) { 145 void RequestQueueTest::UpdateRequestDone(UpdateRequestResult result) {
150 last_update_result_ = result; 146 last_update_result_ = result;
151 } 147 }
152 148
149 void RequestQueueTest::UpdateRequestsDone(
150 std::unique_ptr<UpdateRequestsResult> result) {
151 update_requests_result_ = std::move(result);
152 }
153
153 TEST_F(RequestQueueTest, GetRequestsEmpty) { 154 TEST_F(RequestQueueTest, GetRequestsEmpty) {
154 queue()->GetRequests( 155 queue()->GetRequests(
155 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); 156 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
156 PumpLoop(); 157 PumpLoop();
157 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); 158 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
158 ASSERT_EQ(0ul, last_requests().size()); 159 ASSERT_EQ(0ul, last_requests().size());
159 } 160 }
160 161
161 TEST_F(RequestQueueTest, AddRequest) { 162 TEST_F(RequestQueueTest, AddRequest) {
162 base::Time creation_time = base::Time::Now(); 163 base::Time creation_time = base::Time::Now();
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 queue()->GetRequests( 252 queue()->GetRequests(
252 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); 253 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
253 PumpLoop(); 254 PumpLoop();
254 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); 255 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
255 ASSERT_EQ(1ul, last_requests().size()); 256 ASSERT_EQ(1ul, last_requests().size());
256 257
257 std::vector<int64_t> request_ids; 258 std::vector<int64_t> request_ids;
258 request_ids.push_back(kRequestId); 259 request_ids.push_back(kRequestId);
259 260
260 // Pause the request. 261 // Pause the request.
261 queue()->ChangeRequestsState( 262 queue()->ChangeRequestsState(request_ids,
262 request_ids, SavePageRequest::RequestState::PAUSED, 263 SavePageRequest::RequestState::PAUSED,
263 base::Bind(&RequestQueueTest::UpdateMultipleRequestsDone, 264 base::Bind(&RequestQueueTest::UpdateRequestsDone,
264 base::Unretained(this))); 265 base::Unretained(this)));
265 PumpLoop(); 266 PumpLoop();
266 ASSERT_EQ(1ul, last_multiple_update_results().size()); 267 ASSERT_EQ(1ul, update_requests_result()->item_statuses.size());
267 ASSERT_EQ(UpdateRequestResult::SUCCESS, 268 ASSERT_EQ(kRequestId, update_requests_result()->item_statuses.at(0).first);
268 last_multiple_update_results().at(0).second); 269 ASSERT_EQ(ItemActionStatus::SUCCESS,
270 update_requests_result()->item_statuses.at(0).second);
271 ASSERT_EQ(1ul, update_requests_result()->updated_items.size());
272 ASSERT_EQ(SavePageRequest::RequestState::PAUSED,
273 update_requests_result()->updated_items.at(0).request_state());
269 274
270 queue()->GetRequests( 275 queue()->GetRequests(
271 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); 276 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
272 PumpLoop(); 277 PumpLoop();
273 278
274 // Verify the request is paused. 279 // Verify the request is paused.
275 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); 280 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
276 ASSERT_EQ(1ul, last_requests().size()); 281 ASSERT_EQ(1ul, last_requests().size());
277 ASSERT_EQ(SavePageRequest::RequestState::PAUSED, 282 ASSERT_EQ(SavePageRequest::RequestState::PAUSED,
278 last_requests().at(0)->request_state()); 283 last_requests().at(0)->request_state());
279 284
280 // Resume the request. 285 // Resume the request.
281 queue()->ChangeRequestsState( 286 queue()->ChangeRequestsState(request_ids,
282 request_ids, SavePageRequest::RequestState::AVAILABLE, 287 SavePageRequest::RequestState::AVAILABLE,
283 base::Bind(&RequestQueueTest::UpdateMultipleRequestsDone, 288 base::Bind(&RequestQueueTest::UpdateRequestsDone,
284 base::Unretained(this))); 289 base::Unretained(this)));
285 PumpLoop(); 290 PumpLoop();
286 ASSERT_EQ(1ul, last_multiple_update_results().size()); 291 ASSERT_EQ(1ul, update_requests_result()->item_statuses.size());
287 ASSERT_EQ(UpdateRequestResult::SUCCESS, 292 ASSERT_EQ(kRequestId, update_requests_result()->item_statuses.at(0).first);
288 last_multiple_update_results().at(0).second); 293 ASSERT_EQ(ItemActionStatus::SUCCESS,
294 update_requests_result()->item_statuses.at(0).second);
295 ASSERT_EQ(1ul, update_requests_result()->updated_items.size());
296 ASSERT_EQ(SavePageRequest::RequestState::AVAILABLE,
297 update_requests_result()->updated_items.at(0).request_state());
289 298
290 queue()->GetRequests( 299 queue()->GetRequests(
291 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); 300 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
292 PumpLoop(); 301 PumpLoop();
293 302
294 // Verify the request is no longer paused. 303 // Verify the request is no longer paused.
295 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); 304 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
296 ASSERT_EQ(1ul, last_requests().size()); 305 ASSERT_EQ(1ul, last_requests().size());
297 ASSERT_EQ(SavePageRequest::RequestState::AVAILABLE, 306 ASSERT_EQ(SavePageRequest::RequestState::AVAILABLE,
298 last_requests().at(0)->request_state()); 307 last_requests().at(0)->request_state());
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 387
379 // Try to update request1 when only request2 is in the queue. 388 // Try to update request1 when only request2 is in the queue.
380 queue()->UpdateRequest( 389 queue()->UpdateRequest(
381 request1, 390 request1,
382 base::Bind(&RequestQueueTest::UpdateRequestDone, base::Unretained(this))); 391 base::Bind(&RequestQueueTest::UpdateRequestDone, base::Unretained(this)));
383 PumpLoop(); 392 PumpLoop();
384 ASSERT_EQ(UpdateRequestResult::REQUEST_DOES_NOT_EXIST, last_update_result()); 393 ASSERT_EQ(UpdateRequestResult::REQUEST_DOES_NOT_EXIST, last_update_result());
385 } 394 }
386 395
387 } // namespace offline_pages 396 } // namespace offline_pages
OLDNEW
« no previous file with comments | « components/offline_pages/background/request_queue_store_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698