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

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

Issue 2463713003: [Offline Pages] Converts MarkAttemptCompleted to use TaskQueue (Closed)
Patch Set: Fixed some lint Created 4 years, 1 month 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 #include <utility>
8 9
9 #include "base/bind.h" 10 #include "base/bind.h"
10 #include "base/test/test_simple_task_runner.h" 11 #include "base/test/test_simple_task_runner.h"
11 #include "base/threading/thread_task_runner_handle.h" 12 #include "base/threading/thread_task_runner_handle.h"
12 #include "components/offline_pages/background/request_queue_in_memory_store.h" 13 #include "components/offline_pages/background/request_queue_in_memory_store.h"
13 #include "components/offline_pages/background/save_page_request.h" 14 #include "components/offline_pages/background/save_page_request.h"
14 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
15 16
16 namespace offline_pages { 17 namespace offline_pages {
17 18
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 ASSERT_TRUE(update_requests_result()); 475 ASSERT_TRUE(update_requests_result());
475 EXPECT_EQ(1UL, update_requests_result()->item_statuses.size()); 476 EXPECT_EQ(1UL, update_requests_result()->item_statuses.size());
476 EXPECT_EQ(kRequestId, update_requests_result()->item_statuses.at(0).first); 477 EXPECT_EQ(kRequestId, update_requests_result()->item_statuses.at(0).first);
477 EXPECT_EQ(ItemActionStatus::SUCCESS, 478 EXPECT_EQ(ItemActionStatus::SUCCESS,
478 update_requests_result()->item_statuses.at(0).second); 479 update_requests_result()->item_statuses.at(0).second);
479 EXPECT_EQ(1UL, update_requests_result()->updated_items.size()); 480 EXPECT_EQ(1UL, update_requests_result()->updated_items.size());
480 EXPECT_EQ(SavePageRequest::RequestState::AVAILABLE, 481 EXPECT_EQ(SavePageRequest::RequestState::AVAILABLE,
481 update_requests_result()->updated_items.at(0).request_state()); 482 update_requests_result()->updated_items.at(0).request_state());
482 } 483 }
483 484
484 TEST_F(RequestQueueTest, MarkAttemptAbortedRequestNotPresent) { 485 TEST_F(RequestQueueTest, MarkAttemptAbortedRequestNotPresent) {
Pete Williamson 2016/10/31 21:38:27 Does it also make sense to test the "not present"
dougarnett 2016/10/31 22:51:18 That logic resides in a base class now and so this
485 // First add a request. Retry count will be set to 0. 486 // First add a request. Retry count will be set to 0.
486 base::Time creation_time = base::Time::Now(); 487 base::Time creation_time = base::Time::Now();
487 // This request is never put into the queue. 488 // This request is never put into the queue.
488 SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time, 489 SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time,
489 kUserRequested); 490 kUserRequested);
490 491
491 queue()->MarkAttemptAborted(kRequestId, 492 queue()->MarkAttemptAborted(kRequestId,
492 base::Bind(&RequestQueueTest::UpdateRequestsDone, 493 base::Bind(&RequestQueueTest::UpdateRequestsDone,
493 base::Unretained(this))); 494 base::Unretained(this)));
494 PumpLoop(); 495 PumpLoop();
495 ASSERT_EQ(1ul, update_requests_result()->item_statuses.size()); 496 ASSERT_EQ(1ul, update_requests_result()->item_statuses.size());
496 EXPECT_EQ(kRequestId, update_requests_result()->item_statuses.at(0).first); 497 EXPECT_EQ(kRequestId, update_requests_result()->item_statuses.at(0).first);
497 EXPECT_EQ(ItemActionStatus::NOT_FOUND, 498 EXPECT_EQ(ItemActionStatus::NOT_FOUND,
498 update_requests_result()->item_statuses.at(0).second); 499 update_requests_result()->item_statuses.at(0).second);
499 EXPECT_EQ(0ul, update_requests_result()->updated_items.size()); 500 EXPECT_EQ(0ul, update_requests_result()->updated_items.size());
500 } 501 }
501 502
503 TEST_F(RequestQueueTest, MarkAttemptCompleted) {
504 base::Time creation_time = base::Time::Now();
505 SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
506 kUserRequested);
507 queue()->AddRequest(request, base::Bind(&RequestQueueTest::AddRequestDone,
508 base::Unretained(this)));
509 PumpLoop();
510
511 // Start request.
512 queue()->MarkAttemptStarted(kRequestId,
513 base::Bind(&RequestQueueTest::UpdateRequestsDone,
514 base::Unretained(this)));
515 PumpLoop();
516 ClearResults();
517
518 queue()->MarkAttemptCompleted(
519 kRequestId, base::Bind(&RequestQueueTest::UpdateRequestsDone,
520 base::Unretained(this)));
521 PumpLoop();
522
523 ASSERT_TRUE(update_requests_result());
524 EXPECT_EQ(1UL, update_requests_result()->item_statuses.size());
525 EXPECT_EQ(kRequestId, update_requests_result()->item_statuses.at(0).first);
526 EXPECT_EQ(ItemActionStatus::SUCCESS,
527 update_requests_result()->item_statuses.at(0).second);
528 EXPECT_EQ(1UL, update_requests_result()->updated_items.size());
529 EXPECT_EQ(SavePageRequest::RequestState::AVAILABLE,
530 update_requests_result()->updated_items.at(0).request_state());
531 }
532
502 } // namespace offline_pages 533 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698