Chromium Code Reviews| 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_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 Loading... | |
| 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 |
| OLD | NEW |