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

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

Issue 2283813003: [Offline pages] Eliminating duplicate notifications, by fixing request queue store (Closed)
Patch Set: Created 4 years, 3 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_sql.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_store.h" 5 #include "components/offline_pages/background/request_queue_store.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 store->RemoveRequests(request_ids, 298 store->RemoveRequests(request_ids,
299 base::Bind(&RequestQueueStoreTestBase::RemoveDone, 299 base::Bind(&RequestQueueStoreTestBase::RemoveDone,
300 base::Unretained(this))); 300 base::Unretained(this)));
301 ASSERT_EQ(0ul, this->last_remove_results().size()); 301 ASSERT_EQ(0ul, this->last_remove_results().size());
302 this->PumpLoop(); 302 this->PumpLoop();
303 ASSERT_EQ(2ul, this->last_remove_results().size()); 303 ASSERT_EQ(2ul, this->last_remove_results().size());
304 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, 304 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS,
305 this->last_remove_results().at(0).second); 305 this->last_remove_results().at(0).second);
306 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, 306 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS,
307 this->last_remove_results().at(1).second); 307 this->last_remove_results().at(1).second);
308 ASSERT_EQ(2UL, this->last_requests().size());
308 ASSERT_EQ(kRequestId, this->last_requests().at(0).request_id()); 309 ASSERT_EQ(kRequestId, this->last_requests().at(0).request_id());
309 this->ClearResults(); 310 this->ClearResults();
310 311
311 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, 312 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone,
312 base::Unretained(this))); 313 base::Unretained(this)));
313 this->PumpLoop(); 314 this->PumpLoop();
314 ASSERT_EQ(LastResult::kTrue, this->last_result()); 315 ASSERT_EQ(LastResult::kTrue, this->last_result());
315 ASSERT_TRUE(this->last_requests().empty()); 316 ASSERT_TRUE(this->last_requests().empty());
316 this->ClearResults(); 317 this->ClearResults();
317 318
318 // Try to remove a request that is not in the queue. 319 // Try to remove a request that is not in the queue.
319 store->RemoveRequests(request_ids, 320 store->RemoveRequests(request_ids,
320 base::Bind(&RequestQueueStoreTestBase::RemoveDone, 321 base::Bind(&RequestQueueStoreTestBase::RemoveDone,
321 base::Unretained(this))); 322 base::Unretained(this)));
322 ASSERT_EQ(LastResult::kNone, this->last_result()); 323 ASSERT_EQ(LastResult::kNone, this->last_result());
323 this->PumpLoop(); 324 this->PumpLoop();
324 ASSERT_EQ(2ul, this->last_remove_results().size()); 325 ASSERT_EQ(2ul, this->last_remove_results().size());
325 // Since the SQL statement returns true on a delete of an item that isn't 326 // When requests are missing, we expect the results to say so, but since they
326 // present, SQL is returning SUCCESS, but the memory is returning 327 // are missing, no requests should have been returned.
327 // REQUEST_DOES_NOT_EXIST, so we just check that the result is not failure. 328 ASSERT_EQ(RequestQueue::UpdateRequestResult::REQUEST_DOES_NOT_EXIST,
328 ASSERT_NE(RequestQueue::UpdateRequestResult::STORE_FAILURE,
329 this->last_remove_results().at(0).second); 329 this->last_remove_results().at(0).second);
330 ASSERT_NE(RequestQueue::UpdateRequestResult::STORE_FAILURE, 330 ASSERT_EQ(RequestQueue::UpdateRequestResult::REQUEST_DOES_NOT_EXIST,
331 this->last_remove_results().at(1).second); 331 this->last_remove_results().at(1).second);
332 ASSERT_EQ(0UL, this->last_requests().size());
332 } 333 }
333 334
334 TYPED_TEST(RequestQueueStoreTest, PauseAndResumeRequest) { 335 TYPED_TEST(RequestQueueStoreTest, PauseAndResumeRequest) {
335 std::unique_ptr<RequestQueueStore> store(this->BuildStore()); 336 std::unique_ptr<RequestQueueStore> store(this->BuildStore());
336 base::Time creation_time = base::Time::Now(); 337 base::Time creation_time = base::Time::Now();
337 338
338 // Create request and add it to the queue. 339 // Create request and add it to the queue.
339 SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time, 340 SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time,
340 kUserRequested); 341 kUserRequested);
341 store->AddOrUpdateRequest( 342 store->AddOrUpdateRequest(
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
448 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, 449 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone,
449 base::Unretained(this))); 450 base::Unretained(this)));
450 ASSERT_EQ(LastResult::kNone, this->last_result()); 451 ASSERT_EQ(LastResult::kNone, this->last_result());
451 this->PumpLoop(); 452 this->PumpLoop();
452 ASSERT_EQ(LastResult::kTrue, this->last_result()); 453 ASSERT_EQ(LastResult::kTrue, this->last_result());
453 ASSERT_EQ(1ul, this->last_requests().size()); 454 ASSERT_EQ(1ul, this->last_requests().size());
454 ASSERT_TRUE(original_request == this->last_requests()[0]); 455 ASSERT_TRUE(original_request == this->last_requests()[0]);
455 } 456 }
456 457
457 } // offline_pages 458 } // offline_pages
OLDNEW
« no previous file with comments | « components/offline_pages/background/request_queue_store_sql.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698