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

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

Issue 2197573003: Provide API in RequestCoordinator to remove results by client ID. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comment changes per feedback Created 4 years, 4 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/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 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 PumpLoop(); 168 PumpLoop();
169 ASSERT_EQ(UpdateRequestResult::SUCCESS, last_remove_result()); 169 ASSERT_EQ(UpdateRequestResult::SUCCESS, last_remove_result());
170 170
171 queue()->GetRequests( 171 queue()->GetRequests(
172 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); 172 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
173 PumpLoop(); 173 PumpLoop();
174 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); 174 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
175 ASSERT_EQ(0ul, last_requests().size()); 175 ASSERT_EQ(0ul, last_requests().size());
176 } 176 }
177 177
178 TEST_F(RequestQueueTest, RemoveRequestByClientId) {
179 base::Time creation_time = base::Time::Now();
180 // Put two requests on the queue with different client IDs.
181 SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
182 kUserRequested);
183 queue()->AddRequest(request, base::Bind(&RequestQueueTest::AddRequestDone,
184 base::Unretained(this)));
185 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time,
186 kUserRequested);
187 queue()->AddRequest(request2, base::Bind(&RequestQueueTest::AddRequestDone,
188 base::Unretained(this)));
189 PumpLoop();
190
191 queue()->GetRequests(
192 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
193 PumpLoop();
194 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
195 ASSERT_EQ(2ul, last_requests().size());
196
197 std::vector<ClientId> client_ids;
198 client_ids.push_back(kClientId);
199
200 // Removing the first client ID should leave only the second on the queue.
201 queue()->RemoveRequestsByClientId(
202 client_ids,
203 base::Bind(&RequestQueueTest::RemoveRequestDone, base::Unretained(this)));
204 PumpLoop();
205 ASSERT_EQ(UpdateRequestResult::SUCCESS, last_remove_result());
206
207 queue()->GetRequests(
208 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
209 PumpLoop();
210 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
211 ASSERT_EQ(1ul, last_requests().size());
212 ASSERT_EQ(kClientId2, last_requests().front().client_id());
213 }
214
178 // A longer test populating the request queue with more than one item, properly 215 // A longer test populating the request queue with more than one item, properly
179 // listing multiple items and removing the right item. 216 // listing multiple items and removing the right item.
180 TEST_F(RequestQueueTest, MultipleRequestsAddGetRemove) { 217 TEST_F(RequestQueueTest, MultipleRequestsAddGetRemove) {
181 base::Time creation_time = base::Time::Now(); 218 base::Time creation_time = base::Time::Now();
182 SavePageRequest request1( 219 SavePageRequest request1(
183 kRequestId, kUrl, kClientId, creation_time, kUserRequested); 220 kRequestId, kUrl, kClientId, creation_time, kUserRequested);
184 queue()->AddRequest(request1, base::Bind(&RequestQueueTest::AddRequestDone, 221 queue()->AddRequest(request1, base::Bind(&RequestQueueTest::AddRequestDone,
185 base::Unretained(this))); 222 base::Unretained(this)));
186 PumpLoop(); 223 PumpLoop();
187 ASSERT_EQ(request1.request_id(), last_added_request()->request_id()); 224 ASSERT_EQ(request1.request_id(), last_added_request()->request_id());
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 288
252 // Try to update request1 when only request2 is in the queue. 289 // Try to update request1 when only request2 is in the queue.
253 queue()->UpdateRequest( 290 queue()->UpdateRequest(
254 request1, 291 request1,
255 base::Bind(&RequestQueueTest::UpdateRequestDone, base::Unretained(this))); 292 base::Bind(&RequestQueueTest::UpdateRequestDone, base::Unretained(this)));
256 PumpLoop(); 293 PumpLoop();
257 ASSERT_EQ(UpdateRequestResult::REQUEST_DOES_NOT_EXIST, last_update_result()); 294 ASSERT_EQ(UpdateRequestResult::REQUEST_DOES_NOT_EXIST, last_update_result());
258 } 295 }
259 296
260 } // namespace offline_pages 297 } // namespace offline_pages
OLDNEW
« no previous file with comments | « components/offline_pages/background/request_queue_store_unittest.cc ('k') | components/offline_pages/offline_page_item.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698